一个很实用的iptables脚本
#!/bin/bash
netstat -an grep :80 awk '{print $5 }' sort awk -F: '{print $1}' uniq -c awk '$1 > 100 {print $1,$2}' > /root/bad_ip.txt cat /root/bad_ip.txt >>/root/back_bad.txt
for i1 in `awk '{print $2}' /root/bad_ip sed -n '1p'`
do
iptables -A INPUT -p tcp -s $i1 -j REJECT
done
for i2 in `awk '{print $2}' /root/bad_ip sed -n '2p'`
do
iptables -A INPUT -p tcp -s $i2 -j REJECT
done
for i3 in `awk '{print $2}' /root/bad_ip sed -n '3p'`
do
iptables -A INPUT -p tcp -s $i3 -j REJECT
done
这个脚本说有3个ip连接80端口大于100的,给iptables拒绝掉 ,怕有更多的IP同时攻击的话,可以多几行出来
~
自己写的,shell不会用,但是这个脚本肯定好用。
可以把这个脚本加到任务计划中,每一分钟执行一次
新闻热点
疑难解答