Linux 禁止 udp 发包防止 UDP Flood DDoS Attack

现在很多 DDoS 攻击都是直接 udp 发包的,也就是 UDP Flood DDoS Attack,老王前段时间有个网站每天都被光顾一次,后来网上找了个禁止 udp 发包的脚本来防止 UDP Flood 攻击,不知道有没有效果,但是用了这个脚本后那个攻击就停止了,所以这里给大家做个分享。

一、什么是 UDP Flood 攻击

这是百度百科关于 UDP Flood 的介绍:

UDPFlood是日渐猖厥的流量型DoS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bps的UDPFlood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDPFLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。

二、通过 iptables 禁止 udp 发包

这个脚本是老王自己用的,也不清楚有没有效果,之前这个服务器被连续打了 3 次,都是 UDP Flood,用了这个脚本后每天 8 点的例行 DDoS 就停止了,所以我猜可能有效吧。

脚本原理也很简单,因为老王的服务器是放网站的,一般都是 TCP 连接,通常只有 DNS 会使用 UDP 协议,所以可以只允许目标 DNS 服务器的 UDP 数据包外出,其它 UDP 数据包全部拒绝:

#/bin/bash
#Createdby http://www.bitsCN.com
#DROP UDP Flood
list=`grep nameserver /etc/resolv.conf |awk '{print $NF}'`
for i in $list
do
        iptables -A OUTPUT -p udp -d $i --dport 53 -j ACCEPT
done
iptables -A OUTPUT -p udp -j DROP
service iptables save
赞(2)
关注我们
未经允许不得转载:老王博客 » Linux 禁止 udp 发包防止 UDP Flood DDoS Attack

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址