本节介绍了以下步骤:创建和配置新的安全策略,并使用该策略保护虚拟服务以免受到 DNS 放大输出 DDoS 攻击。
在攻击 DNS 虚拟服务时,攻击者发送简短的查询以请求非常大的响应(跨多个 UDP 数据包)。DNS 虚拟服务可能会参与反射攻击。攻击者将 DNS 查询的源 IP 和源端口仿冒为受害者服务器上的已知服务端口。
将拒绝来自定义的源端口范围(已知端口)的任何请求。拒绝的端口范围是在安全策略中配置的。
使用安全策略保护虚拟服务
创建新的安全策略,如下所示:
登录到 NSX Advanced Load Balancer Shell 并创建新的安全策略,如下所示:
configure securitypolicy test-secpolicy1 dns_policy_index 0 save configure securitypolicy test-secpolicy1 oper_mode mitigation save configure securitypolicy test-secpolicy1 dns_attacks attacks attack_vector dns_amplification_egress mitigation_action deny save save save exit
将显示提供 DNS 放大输出 DDoS 防护的新安全策略 test-secpolicy1
,如下所示:
shell> show securitypolicy test-secpolicy1 +-------------------------------+---------------------------------------+ | Field | Value | +-------------------------------+---------------------------------------+ | uuid | securitypolicy-9f5149f2-ab88-4ea3-9944-cc6ed6aea77a | | name | test-secpolicy1 | | oper_mode | MITIGATION | | dns_attacks | | | attacks[1] | | | attack_vector | DNS_AMPLIFICATION_EGRESS | | mitigation_action | | | deny | True | | enabled | True | | max_mitigation_age | 60 min | | network_security_policy_index | 0 | | dns_policy_index | 0 | | dns_amplification_denyports | | | match_criteria | IS_IN | | ranges[1] | | | start | 1 | | end | 52 | | ranges[2] | | | start | 54 | | end | 2048 | | tenant_ref | admin | +-------------------------------+---------------------------------------+
dns_amplification_denyports
是自动创建的,用于阻止已知端口 1-52
(含这两个端口)和 54-2048
(含这两个端口),以免受到 DNS 放大输出 DDoS 攻击。通常在攻击中将这些端口作为仿冒的源端口。不过,将端口 53
排除在外,因为源 IP 地址可能会启动到外部 DNS 服务器的合法 DNS 查询。
将安全策略附加到虚拟服务
如果您具有 DNS 虚拟服务,并希望保护该虚拟服务以免受到 DNS 放大输出 DDoS 攻击,您可以将一个安全策略附加到该虚拟服务。
为 DNS 放大输出缓解配置的安全策略不能附加到非 DNS 虚拟服务,例如 HTTP 虚拟服务。在附加到非 DNS 虚拟服务时,将显示错误,并且不会将安全策略附加到该虚拟服务。
例如,请考虑 dns-vs-1
虚拟服务。将网络策略附加到该虚拟服务的步骤如下所示:
shell> configure virtualservice dns-vs-1 security_policy_ref test-secpolicy1 save exit
现在,dns-vs-1
虚拟服务使用 DDoS 防护安全策略进行保护。SE 将检测并缓解任何此类攻击。安全管理器为 SE 创建网络安全规则和 DNS 规则,以用于阻止攻击者的 IP 地址、源端口和 DNS 记录请求类型。在发生重大攻击时,衡量指标管理器将引发 DDoS 事件,这些事件显示在控制器 UI 上。