DNS ポリシーは、Gateway が DNS リクエストをどのように扱うかを決めます。ユーザーが DNS リクエストを送ると、Gateway はフィルターと照合し、名前解決を許可する、クエリをブロックする、または別の IP で応答します。
DNS トラフィックは、クエリまたは応答のパラメーター(ドメイン、送信元 IP、地理位置情報など)でフィルターできます。Cloudflare One Client または Cloudflare One Agent でデバイスを Gateway に接続している場合は、ユーザーアイデンティティでもフィルターできます。
新しい DNS ポリシーを作成するには:
- Cloudflare ダッシュボード ↗ で、Zero Trust > Traffic policies > Firewall policies に移動します。
- DNS タブで Add a policy を選択します。
- ポリシーに名前を付けます。
- Traffic で、許可またはブロックするトラフィックを定義する論理式を組み立てます。
- トラフィックが論理式に一致したときに実行する Action を選びます。たとえば、すべての セキュリティカテゴリ をブロックするポリシーの追加を推奨します。
セレクター 演算子 値 アクション Security Categories in All security risks Block - Create policy を選択します。
詳細は DNS ポリシー を参照してください。
cURL で新しい DNS ポリシーを作成するには:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "All-DNS-SecurityCategories-Blocklist",
"description": "Block known security risks based on Cloudflare'\''s threat intelligence",
"precedence": 0,
"enabled": true,
"action": "block",
"filters": [
"dns"
],
"traffic": "any(dns.security_category[*] in {68 178 80 83 176 175 117 131 134 151 153})",
"rule_settings": {
"block_page_enabled": true,
"block_reason": "This domain was blocked due to being classified as a security risk to your organization"
}
}'Terraform で新しい DNS ポリシーを作成するには:
resource "cloudflare_zero_trust_gateway_policy" "security_risks_dns_policy" {
account_id = var.cloudflare_account_id
name = "All-DNS-SecurityCategories-Blocklist"
description = "Block known security risks based on Cloudflare's threat intelligence"
precedence = 0
enabled = true
action = "block"
filters = ["dns"]
traffic = "any(dns.security_category[*] in {68 178 80 83 176 175 117 131 134 151 153})"
rule_settings {
block_page_enabled = true
block_page_reason = "This domain was blocked due to being classified as a security risk to your organization"
}
}