對源ip地址的封鎖腳本代碼介紹

點評:網站受到大量主機的非正常連接時,對源ip地址的封鎖腳本

網站受到大量主機的非正常連接時,對源ip地址的封鎖腳本
#!/bin/bash
touch all
for i in `seq 1 100` //控制腳本的循環
do
sleep 1 時間控制
ip=`tail -30 /var/log/a.log |grep HTTP/1.1|awk ‘{print $1}’|sort -n|uniq` //從一個假設的日志文件中截取非正常連接主機的ip地址,依據是攻擊的特征
if [ -z "$ip" ];then // www.jb51.net 如果沒有這種主機
ehco "ok">>/dev/null
else
for m in `echo $ip` //如果有這些主機則遍歷
do
n=`grep -l "^$m$" /root/all`// 從all文件裡查看是不是已經被禁止過
if [ $? -eq 1 ];then //如果沒有被禁止過
echo iptables -A INPUT -s $m -p tcp –dport 80 -j DROP
echo "iptables -A INPUT -s $m -p tcp –dport 80 -j DROP"
iptables -A INPUT -s $m -p tcp –dport 80 -j DROP //禁止
echo $m>>/root/all //寫到all文件中
fi
done
fi
service iptables save//保存iptables規則
done
保存退出

Leave a Reply

Your email address will not be published. Required fields are marked *