L-H-R-X-hehe

多数CC攻击在web服务器日志中都有相同攻击的特征,我们可以根据这些特征过滤出攻击的ip,利用iptables来阻止


#!/bin/bash
#by LinuxEye
#BLOG: http://blog.linuxeye.com
OLD_IFS=$IFS
IFS=$\'n\'
not_status=`iptables -nvL | grep "dpt:80" | awk \'{print $8}\'`
for status in `cat /usr/local/nginx/logs/wordpress_access.log | grep \'特征字符串\' | awk \'{print $1}\'  | sort -n | uniq -c | sort -r -n | grep -v "$not_status"`
do
    IFS=$OLD_IFS
    NUM=`echo $status | awk \'{print $1}\'`
    IP=`echo $status | awk \'{print $2}\'`
    result=`echo "$NUM > 250" | bc`
    if [ $result = 1 ];then
    #   echo IP:$IP is over $NUM, BAN IT!
        /sbin/iptables -I INPUT -p tcp  -s $IP --dport 80 -j DROP
    fi
done

分类:

技术点:

相关文章: