防范 UDP 洪水攻击

防范 UDP 洪水攻击

我的一台服务器的随机端口上被大量 udp 数据包淹没。

12:11:54.190442 IP 182.48.38.227.60173 > localhost.51523: UDP, length 1
12:11:54.190447 IP 182.48.38.227.60173 > localhost.23769: UDP, length 1
12:11:54.190560 IP 182.48.38.227.60173 > localhost.4655: UDP, length 1
12:11:54.190564 IP 182.48.38.227.60173 > localhost.13002: UDP, length 1
12:11:54.190685 IP 182.48.38.227.60173 > localhost.52670: UDP, length 1
12:11:54.190690 IP 182.48.38.227.60173 > localhost.21266: UDP, length 1
12:11:54.190696 IP 182.48.38.227.60173 > localhost.7940: UDP, length 1
12:11:54.190810 IP 182.48.38.227.60173 > localhost.35950: UDP, length 1
12:11:54.190818 IP 182.48.38.227.60173 > localhost.62370: UDP, length 1
12:11:54.190828 IP 182.48.38.227.60173 > localhost.28225: UDP, length 1
12:11:54.190935 IP 182.48.38.227.60173 > localhost.56093: UDP, length 1
12:11:54.190939 IP 182.48.38.227.60173 > localhost.54250: UDP, length 1
12:11:54.190941 IP 182.48.38.227.60173 > localhost.15275: UDP, length 1
12:11:54.190948 IP 182.48.38.227.60173 > localhost.28750: UDP, length 1

我有很多这样的情况。我知道如果系统收到一个 UDP 数据包,它会检查是否有任何应用程序想要处理它,如果没有,它会发回一个数据包。为了防止这种情况,我打开了 UDP 的黑洞功能。

net.inet.udp.blackhole=1

我必须补充一点,我用我的 pf(数据包过滤器)阻止了每一个攻击者,这似​​乎有帮助,但他似乎可以访问一些僵尸网络并更改源 IP 地址,就像我更改袜子一样,或者他只是在欺骗数据包的源 IP。

无论如何,攻击者仍然能够攻击我的服务器,我不知道如何防御。

我将非常感激您的帮助。

显示传入数据包的图表(您可以看到攻击何时开始)

PS. 我买不起硬件防火墙;)

答案1

关键数据如下:

length 1

这意味着有人可能试图保持其上游负载较低,以激发来自您主机的更大应答数据包。IP 源地址 (182.48.38.227) 可能是伪造的,因此本身就是攻击受害者。

如果您因 UDP 负载而遇到网络拥塞,那么减轻影响的唯一机会就是要求上游提供商设置过滤规则,以阻止这些 UDP 数据包转发到您的网络。

相关内容