|
我的服务器每天大概会被1000个左右的并发IP CC
我通过日志大概分析出来一些非法的请求,但是在使用CSF禁止ip的时候,由于iptables要锁表,导致特别特别慢。。求快速加入iptables的方法...
下面是封大量连接没有referer来源的脚本,自己写的比较2。。见谅..
#!/bin/bash
ips=`tail -100 /data/logs/aaa.com.log | grep -E ' GET ' | awk '{if ($11=="-"){print $1}}' |sort |uniq -c | awk '{if ($1 > 1 ){ print $2 }}'`
cache=`tail -1000 /data/logs/aaa.com.log`;
#printf "$cache";
#echo "$cache";
for ip in $ips;do
#echo $ip;
ipcache=`echo "$cache" | grep -E "^$ip"`;
posttest=`echo "$ipcache" | grep -E ' POST ' | wc -l`;
if [ $posttest -gt 0 ]
then
echo "$ip POST detected,continue";
continue;
fi
match=`echo "$ipcache" |grep -E ' GET ' | awk '{if ($11 == "-") {print $11}}' | wc -l`;
if [ $match -gt 10 ]
then
FLAG=0;
grep $ip /etc/csf/csf.tempban > /dev/null
if [ $? -ne $FLAG ]
then
/usr/sbin/csf -td $ip 43200
echo "block $ip, match $match";
else
echo "already block $ip, match $match" ;
fi
fi
#echo $match;
#echo "$cache"| grep $ip >> /data/logs/ban/200.log;
done
~ |
|