Secure Web Gateway 允许您检查 DNS 流量(即您的设备为了将类似 example.com 的域名翻译为 IP 地址而发起的查询),并控制用户可以访问哪些网站。因为每次连接都以 DNS 查找开始,所以 DNS 过滤可以在连接的最早阶段阻止威胁,早在设备到达目的地之前。使用 DNS 策略可以为您的组织阻止恶意软件域名、网络钓鱼网站或整个内容类别。
您可以过滤来自单个设备(例如,员工笔记本电脑)或整个网络位置(例如,办公室路由器)的 DNS 查询。选择与您的部署相匹配的选项。
要过滤来自单个设备(如笔记本电脑或手机)的 DNS 请求:
- 在您的设备上安装 Cloudflare One Client。Cloudflare One Client 是一个轻量级代理,它将设备的 DNS 查询通过 Cloudflare 进行路由,以便 Gateway 能够检查和过滤它们。
- 在您组织的 Zero Trust 实例中注册 Cloudflare One Client。这会告诉 WARP 应执行哪些 Gateway 策略。
- (可选)如果想在请求被阻止时显示自定义阻止页面,而不是通用的浏览器错误,请在您的设备上安装 Cloudflare 根证书。
要过滤来自网络位置(如办公室或数据中心)的 DNS 请求,而无需在每台设备上安装软件:
- 将该位置添加到您的 Cloudflare One 设置中。DNS 位置代表您想要过滤其 DNS 查询的网络(例如办公室)。
- 在您的路由器、浏览器或操作系统上,将 DNS 服务器设置修改为指向位置设置 UI 中显示的 Cloudflare 地址。这会将来自该网络的所有 DNS 查询通过 Gateway 进行转发。
要确认您的设备的 DNS 查询正流经 Gateway:
- 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Traffic policies(流量策略) > Traffic settings(流量设置)。
- 在记录流量活动下,为所有 DNS 日志启用活动日志记录。
- 在您的设备上,打开浏览器并访问任何网站。
- 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Insights(洞察) > Logs(日志) > DNS。
- 确保显示来自您设备的 DNSqueries。
一个 DNS 策略包含两个部分:定义要匹配哪些查询的流量条件(例如,所有发往博彩网站的查询)以及定义对匹配的查询执行什么操作的操作(例如,阻止它们)。要创建新的 DNS 策略:
- 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Traffic policies(流量策略) > Firewall policies(防火墙策略)。
- 在 DNS 选项卡中,选择 Add a policy(添加策略)。
- 为策略命名。
- 在 Traffic(流量) 下,使用条件构建器定义此策略适用于哪些 DNS 查询。选择一个选择器(如 Security Categories)、一个运算符(如 in)以及一个或多个值。
- 选择当流量满足条件时要执行的操作。例如,我们建议添加一条策略来阻止所有安全类别:
选择器 运算符 值 操作 安全类别 (Security Categories) in 所有安全风险 (All security risks) 阻止 (Block) - 选择 Create policy(创建策略)。
-
创建一个具有以下权限的 API 令牌:
类型 项目 权限 Account Zero Trust Edit -
(可选)配置您的 API 环境变量,以包含您的账户 ID和 API 令牌。
-
向 Create a Zero Trust Gateway rule 终点发送
POST请求。例如,以下请求创建了一条阻止所有默认安全类别的策略。traffic字段中的数字 ID(例如68、178、80)对应于 Cloudflare 预定义的安全威胁类别 —— 请参阅域名类别了解完整映射。当多个策略匹配时,precedence字段控制评估顺序(0表示首先评估此策略)。Create a Zero Trust Gateway rulebash curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "Block security threats", "description": "Block all default Cloudflare DNS security categories", "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})", "identity": "" }'{ "success": true, "errors": [], "messages": [] }API 将响应策略摘要和您的请求结果。
有关更多信息,请参阅 DNS 策略。
在您的第一条策略生效后,请参阅常用 DNS 策略以了解您可能想要添加的其他策略。常见添加的策略包括阻止特定内容类别(如社交媒体或流媒体)、在搜索引擎上启用 SafeSearch,以及限制 DNS 查询以便设备只能使用您批准的解析器。