首页 > 代码库 > Linux防CC攻击脚本

Linux防CC攻击脚本

多数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