10. 安全注意事项
一些 DNS 服务器运营者表示担忧, 认为更广泛地推广和使用 DNS over TCP 会使其面临更高的 TCP DoS 攻击风险 (包括偶发和蓄意两类).
虽然启用 TCP 的服务器面对某些特定攻击的风险更高, 但自 DNS 最初设计以来, 网络层面缓解 DoS 攻击的技术已经有了显著改进.
建议读者熟悉 [CPNI-TCP]. 这是一份 TCP 安全评估, 其中详细说明了已知的 TCP 攻击和对策, 并引用了关于该主题的大多数相关 RFC.
为缓解 DoS 攻击风险, 建议 DNS 服务器执行 TCP 连接管理. 这可以包括维护现有连接的状态, 重用现有连接, 以及控制请求队列以实现公平使用. 提供可配置的连接管理选项可能是有益的, 例如:
-
TCP 连接总数
-
每个源 IP 地址或子网的最大 TCP 连接数
-
TCP 连接空闲超时
-
每个 TCP 连接上的最大 DNS 事务数
-
最大 TCP 连接持续时间
本文档不为这些参数推荐具体取值.
建议运营者熟悉操作系统 TCP 栈中可用的配置和调优参数. 不过, 关于这些参数的详细建议不在本文档范围内.
建议递归服务器运营者确保仅接受来自预期客户端的连接 (例如, 通过使用访问控制列表 (Access Control List, ACL)), 而不接受来自未知来源的连接. 对于 UDP 流量, 这有助于防御反射攻击 [RFC5358]; 对于 TCP 流量, 这会防止未知客户端耗尽服务器对并发连接数设置的限制.