一個很實用的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不會用,但是這個腳本肯定好用。
可以把這個腳本加到任務計劃中,每一分鐘執行一次