一个防DDOS攻击的SHELL脚本
时间:2014-09-24 09:57 来源:linux.it.net.cn 作者:it
用于防范ddos攻击的shell脚本,原理是收集单位时间内的可疑ip,然后自动加入到iptables的禁止列表中就可以了
当遇到DDOS的攻击时,可以考虑封IP来源来暂时解决,但IP源变化多端,光靠手工添加不现实,所以写了个脚本,以实现自动添加。有需要的朋友,参考下吧。
1,防范ddos攻击的脚本
mkdir /root/bin
vi /root/bin/dropip.sh
复制代码代码示例:
#!/bin/bash
/bin/netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -rn|head -10|grep -v -E ’192.168|127.0′|awk ‘{if ($2!=null && $1>4) {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。
小脚本,大用途,用这个shell防范小规模的ddos攻击还是不错的。
(责任编辑:IT)
用于防范ddos攻击的shell脚本,原理是收集单位时间内的可疑ip,然后自动加入到iptables的禁止列表中就可以了 当遇到DDOS的攻击时,可以考虑封IP来源来暂时解决,但IP源变化多端,光靠手工添加不现实,所以写了个脚本,以实现自动添加。有需要的朋友,参考下吧。
1,防范ddos攻击的脚本
vi /root/bin/dropip.sh
复制代码代码示例:
#!/bin/bash
for i in $(cat /tmp/dropip)
2,增加执行权限
chmod +x /root/bin/dropip.sh
3,添加到计划任务,每分钟执行一次
crontab -e
*/1 * * * * /root/bin/dropip.sh
说明: 小脚本,大用途,用这个shell防范小规模的ddos攻击还是不错的。 (责任编辑:IT) |