一个很有效的、通过Advanced Policy Firewall (APF) 或者 iptables 防止DDOS攻击的脚本:
(D)DoS Deflate
安装方法:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
安装后,脚本会每分钟运行一次,屏蔽的IP地址10分钟后自动解封。
这些参数也可以在配置文件 /usr/local/ddos/ddos.conf 中修改
设置永不屏蔽的IP地址白名单 /usr/local/ddos/ignore.ip.list
DDOS Deflate 的目前版本是 0.6,在我测试的 centos 上运行时不能正常解析出IP地址
修复方法:
打开脚本文件 /usr/local/ddos/ddos.sh
修改原来的代码:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
替换为
netstat -ntu | grep ':' | awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -nr
备注:安装ddos deflate后,在系统的cron job里,会自动加上了命令 /usr/local/ddos/ddos.sh >/dev/null 2>&1
Thanks,
This is a nice script!