本节介绍了以下步骤:创建和配置新的安全策略,并使用该策略保护虚拟服务以免受到 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 上。