本文档介绍了将网址过滤服务与 Cloud Next Generation Firewall 搭配使用的最佳实践。您可以根据这些建议创建有效且易于维护的防火墙政策,以帮助防止意外的过滤操作。本文档假定您熟悉 网址 过滤服务概念。
最佳做法
下表列出了使用网址过滤服务的最佳实践:
| 主题或应用场景 | Cloud NGFW 功能或规则组件 | 说明 |
|---|---|---|
| 协议支持 | 协议和端口 | 在强制执行网址过滤的防火墙政策规则中,指定协议 TCP 以及端口 80 和 443。如需了解详情,请参阅指定目标协议和端口。 |
| 防火墙规则评估 | 防火墙规则优先级 | 将强制执行网址过滤的规则放在防火墙政策中的最低优先级。 如需了解详情,请参阅将网址过滤规则放在最低优先级。 |
| 流量细分 | 网络上下文 | 使用网络上下文为东西向(非互联网流量)流量和互联网流量创建单独的网址过滤防火墙政策规则。 如需了解详情,请参阅使用网络上下文分离流量。 |
| 政策例外情形 | 完全限定域名 (FQDN) 对象 | 如需创建允许特定来源访问网站的针孔例外,请在防火墙政策规则中使用目的地 FQDN 对象和网址过滤安全配置文件。 如需了解详情,请参阅使用 FQDN 添加针孔例外。 |
| 选择性检查 | 如需根据目标网域选择性地检查流量,请使用 FQDN 对象,而不是网址过滤安全配置文件。 如需了解详情,请参阅使用 FQDN 选择性地检查流量。 |
|
| 政策设计 | 为满足临时需求,请避免创建使用单个资源作为来源的网址过滤防火墙政策规则。 如需了解详情,请参阅避免基于单个资源创建规则。 |
|
| 协议支持 | 针对非 HTTP 协议使用基于 FQDN 的过滤。 | |
| 政策层次结构 | 全球网络防火墙政策和区域级网络防火墙政策 | 在全球或区域级网络防火墙政策中使用网址过滤,而不在分层防火墙政策中使用。 如需了解详情,请参阅避免在分层防火墙政策中使用网址过滤。 |
| 可伸缩性 | 网址过滤安全配置文件 | 为了不超过网址过滤安全配置文件中网域数量的支持上限,请创建单独的安全配置文件,根据特定条件对网域进行分组。 如需了解详情,请参阅创建单独的安全配置文件以实现扩缩。 |
指定目标协议和端口
在网址过滤安全配置文件中,Cloud NGFW 会对符合强制执行网址过滤的防火墙政策规则的非 HTTP 和非 HTTPS 流量应用默认的 allow 或 deny 操作。在这样的防火墙政策规则中,指定协议 TCP 以及端口 80 和 443。
在规则中指定协议和端口可防止与非 HTTP 和非 HTTPS 流量匹配,从而防止默认操作无意中允许或拒绝此类流量。
将网址过滤规则的优先级设置为最低
为确保先评估不使用第 7 层检查的防火墙政策规则,请将强制执行网址过滤安全配置文件的规则放在防火墙政策中的最低优先级。此方法可防止网址过滤安全配置文件中的默认操作意外允许或拒绝流量。
例如,如需允许任何虚拟机 (VM) 实例与 www.example.com 通信,请创建一个允许此网址的网址过滤安全配置文件。然后,添加一个低优先级的规则(例如 500),该规则应用具有此安全配置文件的安全配置文件组。
| 优先级 | 方向 | 协议 | 目标 | 来源 | 目的地 | 目标端口 | 操作 |
|---|---|---|---|---|---|---|---|
| 150 | 出站 | TCP | 全部 | 10.0.0.0/8 | 10.0.0.0/8 | 80、443 | 允许 |
| 200 | 入站流量 | TCP | 全部 | 不限 | 10.0.0.0/8 | 80、443 | 允许 |
| 300 | 出站 | TCP | 全部 | 不限 | 199.36.153.8/30 | 80、443 | 允许 |
| 500 | 出站 | TCP | 全部 | 不限 | 不限 | 80、443 | 应用包含网址过滤安全配置文件的安全配置文件组,该安全配置文件允许网址 www.example.com |
使用网络上下文来分隔流量
安全配置文件的默认操作可以允许或拒绝与定义的网址过滤条件不匹配的流量。为防止出现意外的默认操作,请使用网络上下文为东西向(非互联网绑定)流量和互联网绑定流量创建单独的网址过滤防火墙政策规则。网络上下文可使规则匹配条件更加精细,从而防止默认操作意外允许或拒绝流量。
在以下示例中,非互联网网络上下文可防止优先级为 500 的规则匹配并意外允许或拒绝互联网流量,优先级为 600 的规则会单独管理这些流量。
| 优先级 | 方向 | 网络上下文 | 协议 | 目标 | 来源 | 目的地 | 目标端口 | 操作 |
|---|---|---|---|---|---|---|---|---|
| 500 | 出站 | 非互联网 | TCP | 全部 | 不限 | 不限 | 80、443 | 应用具有网址过滤安全配置文件的安全配置文件组 1 |
| 600 | 出站 | 互联网 | TCP | 全部 | 不限 | 不限 | 80、443 | 应用具有网址过滤安全配置文件的安全配置文件组 2 |
使用 FQDN 对象
将目标 FQDN 对象与网址过滤安全配置文件搭配使用,以避免防火墙政策规则意外匹配流量,从而防止安全配置文件的默认操作允许或拒绝任何意外流量。
使用 FQDN 添加针孔例外情况
防火墙中的针孔例外情况允许特定类型的流量通过原本处于关闭状态的安全边界。如需创建此类例外情况,以允许特定来源访问网站,请在防火墙政策规则中使用目标 FQDN 对象和网址过滤安全配置文件。
在应用网址过滤之前,针孔例外规则会匹配从来源到 FQDN IP 的流量。来自来源的其他流量不匹配,从而防止不相关的流量受到安全配置文件的默认操作的影响。
在以下示例中,该规则将指定 IP 范围内的流量与 example.com 的 IP 地址相匹配,然后对匹配的流量应用网址过滤。
| 优先级 | 方向 | 网络上下文 | 协议 | 目标 | 来源 | 目的地 | 目标端口 | 操作 |
|---|---|---|---|---|---|---|---|---|
| 100 | 出站 | 互联网 | TCP | 全部 | 192.168.1.0/24 | FQDN = example.com |
80、443 | 应用包含网址过滤安全配置文件的安全配置文件组,该安全配置文件允许网址 www.example.com |
使用 FQDN 进行选择性流量检查
如需根据目标网域选择性地检查流量,请使用 FQDN 对象,而不是网址过滤安全配置文件。
网址过滤安全配置文件不支持选择性流量检查。 如果您使用网址过滤安全配置文件来选择流量,则该配置文件的默认操作可能会无意中允许或拒绝流量。
例如,如需检查发送到 example.com 的流量是否存在威胁,同时不影响发送到 examplepetstore.com 的流量,请创建优先级分别为 100 和 200 的单独防火墙政策规则。对于每条规则,请使用目标 FQDN 对象,并将威胁防护安全配置文件仅应用于具有 example.com 目标的规则。此方法可防止发往 examplepetstore.com 的流量与优先级为 100 的规则匹配。
下表显示了错误的配置:
| 优先级 | 方向 | 协议 | 目标 | 来源 | 目的地 | 目标端口 | 操作 |
|---|---|---|---|---|---|---|---|
| 100 | 出站 | TCP | 全部 | 不限 | 不限 | 80、443 | 应用安全配置文件组,其中包含允许网址 example.com 的网址过滤安全配置文件 1 和检查网址 example.com 的流量的威胁防护安全配置文件 |
| 200 | 出站 | TCP | 全部 | 不限 | 不限 | 80、443 | 应用安全配置文件组,其中包含允许网址 examplepetstore.com 的网址过滤安全配置文件 2 |
下表显示了正确的配置:
| 优先级 | 方向 | 协议 | 目标 | 来源 | 目的地 | 目标端口 | 操作 |
|---|---|---|---|---|---|---|---|
| 100 | 出站 | TCP | 全部 | 不限 | FQDN = example.com |
80、443 | 应用具有威胁防护安全配置文件的安全配置文件组,该安全配置文件组可检查前往网址 example.com 的流量 |
| 200 | 出站 | TCP | 全部 | 不限 | FQDN = examplepetstore.com |
80、443 | 应用包含网址过滤安全配置文件的安全配置文件组,该安全配置文件允许网址 examplepetstore.com |
避免基于单个资源创建规则
为满足临时需求,请避免创建使用单个资源作为来源的网址过滤防火墙政策规则。
如果您保留这些规则,网址过滤安全配置文件的默认操作可能会允许或拒绝意外的流量。如果您不立即删除这些规则,随着时间的推移,它们还可能会导致政策蔓延。
在以下示例中,优先级为 100 的规则匹配并允许从 192.168.1.1 到 examplepetstore.com 的流量。此评估会在流量到达优先级为 101 的规则之前进行,该规则配置为阻止相应流量。
| 优先级 | 方向 | 网络上下文 | 协议 | 目标 | 来源 | 目的地 | 目标端口 | 操作 |
|---|---|---|---|---|---|---|---|---|
| 100 | 出站 | 互联网 | TCP | 全部 | 192.168.1.1/32 | 不限 | 80、443 | 应用安全配置文件组,其中包含网址过滤安全配置文件 1,用于屏蔽网址 example.com |
| 101 | 出站 | 非互联网 | TCP | 全部 | 192.168.1.0/24 | 不限 | 80、443 | 应用安全配置文件组,其中包含网址过滤安全配置文件 2,该配置文件会屏蔽网址 examplepetstore.com 并允许网址 example.org |
不过,如果您需要保留此类规则,请使用目标 FQDN 对象。例如,为避免匹配从 192.168.1.1 到 examplepetstore.com 的流量,请将 FQDN 对象 example.com 添加到优先级为 100 的规则中。
| 优先级 | 方向 | 网络上下文 | 协议 | 目标 | 来源 | 目的地 | 目标端口 | 操作 |
|---|---|---|---|---|---|---|---|---|
| 100 | 出站 | 互联网 | TCP | 全部 | 192.168.1.1/32 | FQDN = example.com |
80、443 | 应用安全配置文件组,其中包含网址过滤安全配置文件 1,用于屏蔽网址 example.com |
| 101 | 出站 | 非互联网 | TCP | 全部 | 192.168.1.0/24 | 不限 | 80、443 | 应用安全配置文件组,其中包含网址过滤安全配置文件 2,该配置文件会屏蔽网址 examplepetstore.com 并允许网址 example.org |
针对非 HTTP 协议使用基于 FQDN 的过滤
针对非 HTTP 和非 HTTPS 协议(例如 RDP 或 SSH)使用基于 FQDN 的过滤。网址过滤功能仅适用于 HTTP 或 HTTPS 流量。
避免在分层防火墙政策中使用网址过滤
为防止意外匹配流量,请避免在分层防火墙政策中使用网址过滤安全配置文件。请改用全球或区域级网络防火墙政策中的网址过滤安全配置文件。
在分层防火墙政策规则中使用网址过滤安全配置文件可能会导致大量目标流量与该规则匹配。这种广泛匹配可能会导致安全配置文件的默认操作意外允许或拒绝流量。
创建单独的安全配置文件以实现规模化
为了不超过网址过滤安全配置文件中网域数量或匹配器字符串的支持上限,请创建单独的安全配置文件,根据特定条件对网域进行分组。例如,根据流量类型或目标网域的位置和性质(例如东西向 [非互联网绑定] 和互联网绑定流量)对网域进行分组。
这种细分有助于确保在使用多个网域时获得最佳性能和可管理性。
例如,您可以创建一个用于内部网域或 Google Cloud网域的配置文件,再创建一个用于公共互联网上的外部网域的配置文件。为内部网域单独设置的配置文件可确保内部流量路由和安全政策保持独立。通过为外部网域设置单独的配置文件,您可以对外部流量应用适当的安全措施,例如威胁情报 Feed 或更严格的出站流量控制。