通常情况下,用户正常访问网站时,与服务器同时建立的连接数量一般不会超过20个。为了提升服务器安全性并保障网站稳定运行,我们可以通过以下脚本限制连接数异常过高的IP访问,从而实现对CC攻击的预防与拦截。
#!/bin/shstatus=`netstat -na|awk '$5 ~ /[0-9]+:[0-9]+/ {print $5}' |awk -F ":" -- '{print $1}' |sort -n|uniq -c |sort -n|tail -n 1`NUM=`echo $status|awk '{print $1}'`IP=`echo $status|awk '{print $2}'`result=`echo "$NUM > 150" | bc` \当IP的访问次数超过150时,对该IP进行屏蔽if [ $result = 1 ]thenecho IP:$IP is over $NUM, BAN IT!/sbin/iptables -I INPUT -s $IP -j DROPfi