据我所知,DNS 使用 UDP 和端口 53。如果没有阻止传入端口 53 的 UDP 数据包,会发生什么不良情况?
更新:允许源自或发往大学运营的本地 DNS 服务器或大学运营的权威 DNS 服务器的数据包。
答案1
其逻辑如下:
- 只有向互联网提供记录的权威 DNS 服务器才是必需的被揭露。
- 暴露在互联网上的开放递归服务器必然会被网络扫描发现并滥用。(见 user1700494 的回答)
- 有人意外建立暴露的递归服务器的可能性比建立暴露的权威 DNS 服务器的可能性更大。这是因为许多设备和“开箱即用”配置默认允许无限制递归。权威配置更加定制化,并且很少遇到。
- 鉴于 1-3,丢弃所有目标端口为 53 的未经请求的入站流量可保护网络。在极少数情况下,需要将另一个权威 DNS 服务器添加到网络(计划内事件),可以根据需要定义例外情况。
答案2
例如,攻击者可以使用大学的 DNS 服务器作为传输主机DNS 放大 DDoS 攻击
答案3
Andrew B 的回答非常好。他说了什么。
为了回答这个问题“如果传入端口号 53 的 UDP 数据包没有被阻止,会发生什么不良事件?”更具体地说,我谷歌搜索了“基于 DNS 的攻击”,结果这篇实用的文章. 换句话说:
- 分布式反射 DoS 攻击
- 缓存中毒
- TCP SYN 洪水
- DNS 隧道
- DNS 劫持
- 基本 NXDOMAIN 攻击
- 幻影域攻击
- 随机子域攻击
- 域名锁定攻击
- 来自 CPE 设备的基于僵尸网络的攻击
这并不是一份完整的基于 DNS 的攻击列表,只有十种攻击是值得一提的。
事实上,简短的回答是“如果你不有揭露它,不要。”
答案4
通常,当涉及 UDP 流量时,您需要进行限制,因为:
a) 与 TCP 相比,数据包过滤器更难可靠地确定传入数据包是来自网络内部请求的响应还是未经请求的请求。因此,通过数据包过滤防火墙强制执行客户端/服务器角色变得更加困难。
b) 任何绑定到服务器或客户端计算机上的 UDP 端口的进程,即使它只是因为想要自己发出请求而绑定到该端口,也会暴露于未经请求的数据包,这使得系统安全性依赖于进程中不存在允许利用或混淆它的缺陷。过去 NTP 客户端等都存在此类问题。对于 TCP 客户端,发送给该客户端的未经请求的数据在大多数情况下将被操作系统丢弃。
c) 如果你正在运行 NAT,那么大量的 UDP 流量会给 NAT 设备带来很大的工作量,原因与 a) 类似