董夫人 發表於 2012-6-12 10:41:13

对源ip地址的封锁脚本代码介绍

网站受到大量主机的非正常连接时,对源ip地址的封锁脚本 <br />#!/bin/bash <br />touch all <br />for i in `seq 1 100` //控制脚本的循环 <br />do <br />sleep 1 时间控制 <br />ip=`tail -30 /var/log/a.log |grep HTTP/1.1|awk '{print $1}'|sort -n|uniq` //从一个假设的日志文件中截取非正常连接主机的ip地址,依据是攻击的特征 <br />if [ -z &quot;$ip&quot; ];then // www.jb51.net 如果没有这种主机 <br />ehco &quot;ok&quot;&gt;&gt;/dev/null <br />else <br />for m in `echo $ip` //如果有这些主机则遍历 <br />do <br />n=`grep -l &quot;^$m$&quot; /root/all`// 从all文件里查看是不是已经被禁止过 <br />if [ $? -eq 1 ];then //如果没有被禁止过 <br />echo iptables -A INPUT -s $m -p tcp &ndash;dport 80 -j DROP <br />echo &quot;iptables -A INPUT -s $m -p tcp &ndash;dport 80 -j DROP&quot; <br />iptables -A INPUT -s $m -p tcp &ndash;dport 80 -j DROP //禁止 <br />echo $m&gt;&gt;/root/all //写到all文件中 <br />fi <br />done <br />fi <br />service iptables save//保存iptables规则 <br />done <br />保存退出 <br />
頁: [1]
查看完整版本: 对源ip地址的封锁脚本代码介绍