对源ip地址的封锁脚本代码介绍
发布日期:2022-01-25 10:50 | 文章来源:脚本之家
网站受到大量主机的非正常连接时,对源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
保存退出
#!/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
保存退出
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章