您的位置:首页 > 运维架构 > Shell

Linux下功能强大的防DDOS攻击SHELL脚本 可打造自己的DDOS防火墙

2012-06-27 15:55 323 查看
#!/bin/bash

/bin/netstat -na |grep ESTABLISHED |awk '{print $5}' |awk -F : '{print $1}' | sed '/^$/d' |sort|uniq -c|sort -rn|head -n 10|grep -v -E '192.168|127.0' |sed '/^$/d' |awk '{if ($2!=null && $1>10);{print $2}}'>/tmp/dropip

for i in $(cat /tmp/dropip)

do

/sbin/iptables -A INPUT -s $i -j DROP

echo "$i kill at `date`">>/var/log/ddos

done

2.增加执行权限

chmod +x /root/bin/dropip.sh

3.添加到计划任务,每分钟执行一次

crontab -e

*/1 * * * * /root/bin/dropip.sh

说明:

以上脚本比较简单,但很实用,最重要的是第二行,获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了内部ip段192.168|127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddos
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: