Linux下DDOS简单防御shell脚本
注意:网站如果使用CDN的话,不可用这个,不然当网站IP连接数过高,会把CDN的IP拉黑
连接数限制为200,需要添加crontab定时任务,脚本10S运行一次,iptables每小时flush一次,并且会发送到你的邮箱.
这个脚本检测的是80/443端口,如有其他需要,可以更改前两行grep -E "XXXX"规则
运行日志保存到run.log,黑名单保存在black.txt,已禁止列表保存在banned.log
以下为crontab配置,选择一种,第一种是每分钟,第二种是每多少秒,
vi /etc/crontab
#每分钟检测一次
*/1 * * * * root /www/web/ddos/ddos.sh
#每小时的0分清除防火墙记录
0 * * * * root /sbin/iptables -F INPUT
#每三天清除运行日志
* * 3 * * root rm -rf /home/wwwroot/log/run.log
#每10秒检测一次 如需5秒 则改成 sleep 5 sleep 10 sleep 15 .....即可
*/1 * * * * root sleep 10 && bash /home/wwwroot/code/ddos.sh
*/1 * * * * root sleep 20 && bash /home/wwwroot/code/ddos.sh
*/1 * * * * root sleep 30 && bash /home/wwwroot/code/ddos.sh
*/1 * *