我目前正在学习网络,我突然想到,人们可以很容易地用假 IP 地址伪造 DNS 请求(因为它们使用 UDP)。由于 DNS 依靠 UDP 进行通信,那么恶意用户难道不能向 DNS 服务器(甚至可能是根服务器?)发送数百万个伪造请求并轻松将其关闭吗?我也想不出有什么好办法来防止这种情况(除了切换到另一个协议)。
答案1
是的,这是有可能的。但要阻止这种攻击也不容易,因为攻击者可以将源 IP 伪造为近 40 亿个 IP 中的一个。但是,可以通过检查数据报内的 DNS 数据来过滤掉很多此类攻击。很多洪水攻击要么使用无效数据,要么反复使用相同的数据。如果您拥有能够进行深度数据包检查的网络设备,则可以使用这种方法来区分有效流量和无效流量。这种攻击仍会占用相当多的带宽,但您至少可以防止它使您的名称服务器过载。
不过,通常情况下,域名服务器本身并不是此类攻击的目标。源 IP 不是使用随机源 IP,而是设置为真实目标的 IP:DNS 反射攻击。非常短的问题导致长答案被发送到域名服务器,域名服务器将答案发送到目标 IP 地址,使其充斥流量。由于它是如此有针对性,因此它看起来是单一来源,因此在域名服务器端更容易过滤。
答案2
与其他任何 DoS 攻击一样,没有预防或保护方法,您唯一的工具是从源 IP 地址添加空路由。即使您的路由器阻止了流量,您仍然在浪费传入带宽,从而拒绝其他用户访问服务。
最终你需要联系更接近源头的互联网组织,以同样的方式将源头从互联网上切断。
因此,要回答这个问题,您真正能做的就是提供足够的服务,使一台主机无法对您进行 DoS 攻击,但请问自己,当僵尸网络开始 DoS 攻击时会发生什么?主机的规模使得不可能制定不会影响普通用户的保护方案。