七彩云提供高性价比美国/香港VPS
当前位置: 帮助文档 > 技术支持 > Linux系统常见问题 > VPS技术:Linux如何处理CC攻击

VPS技术:Linux如何处理CC攻击

时间:2020-01-08 17:42来源:VPS作者:ColorVPS点击:
服务器的网站容易被CC攻击,因为简单的CC攻击并不需要成本,这里有两个小脚本,可以防止轻度CC攻击:

一、通过查找日志中访问次数过多的ip,并用iptables屏蔽
 
#!/bin/bash
cur=`date +%H%M%S`
becur=`date -d "1 minute ago" +%H%M%S`
badip=`tail -n 10000 /home/wwwlogs/zhujima.com.log | egrep -v ".(gif|jpg|jpeg|png|css|js)" | awk  -v a="$becur" -v b="$cur" -F [’ ’:] ’{t=$5$6$7;if (t>=a && t<=b) print $1}’ | sort | uniq -c | awk ’{if ($1>=20) print $2}’`
if [ ! -z "$badip" ];then
for ip in $badip;
do
if test -z "`/sbin/iptables -nL | grep $ip`";then
/sbin/iptables -I INPUT -s $ip -j DROP
fi
done
fi
将此代码保存为ban.sh,加入cronjob使每分钟执行一次。
此脚本的作用是:利用iptables屏蔽每分钟访问页面超过20的IP,这些页面已经排除图片,css,js等静态文件。
 
二、通过在日志中查找cc攻击的特征进行屏蔽
 
#!/bin/bash
keyword="cc-atack"
badip=`tail -n 5000  /home/wwwlogs/zhujima.com.log | grep "$keyword"  | awk ’{print $1}’ | sort | uniq -c | sort -nr | awk ’{print $2}’`
if [ ! -z "$badip" ];then
for ip in $badip;
do
if test -z "`/sbin/iptables -nL | grep $ip`";then
/sbin/iptables -I INPUT -s $ip -j DROP
fi
done
fi
keyword是设置CC特征,可以试用第二个脚本,凡是来路为ddos的都可以用此脚本屏蔽!
顶一下
(0)
0%
踩一下
(0)
0%