灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1543回复:0

对源ip地址的封锁脚本

楼主#
更多 发布于:2012-08-23 23:19

网站受到大量主机的非正常连接时,对源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      //  如果没有这种主机
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
保存退出



喜欢0 评分0
游客

返回顶部