提示:如果官网是英文页面,建议使用谷歌浏览器能同步翻译页面。点击下载
【谷歌浏览器最新绿色便携版】
注意:部分文章发布时间较长,可能存在未知因素,购买时建议在本站搜索商家名称,先充分了解商家动态。
交流:唯一投稿邮箱:hostvps@88.com。
第一个脚本是通过查找日志中访问次数过多的ip,并用iptables屏蔽,600秒解封。
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
|
| #!/bin/bash |
| btime=600 |
| becur=`date -d “1 minute ago” +%H%M%S` |
| badip=`tac /home/www.centos.bz/log/access.log | awk -v a=”$becur” -F [‘ ‘:] ‘{t=$5$6$7;if (t>=a) print} else {exit;}’ | egrep -v “.(gif|jpg|jpeg|png|css|js)” | awk ‘{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 |
| UNBAN_SCRIPT=`mktemp /tmp/unban.XXXXXXXX` |
| echo ‘#!/bin/sh’ > $UNBAN_SCRIPT |
| echo “sleep $btime” >> $UNBAN_SCRIPT |
| echo “/sbin/iptables -D INPUT -s $ip -j DROP” >> $UNBAN_SCRIPT |
| echo “rm -f $UNBAN_SCRIPT” >> $UNBAN_SCRIPT |
| . $UNBAN_SCRIPT & |
| fi |
| done |
| fi |
|
将此代码保存为ban.sh,加入cronjob使每分钟执行一次。 此脚本的作用是:利用iptables屏蔽每分钟访问页面超过20的IP,这些页面已经排除图片,css,js等静态文件。 第二个脚本是通过在日志中查找cc攻击的特征进行屏蔽。
|
|
| #!/bin/bash |
| keyword=”cc-atack” |
| badip=`tail -n 5000 /home/www.centos.bz/log/access.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的特征,替换成有效的即可。
转载,文章来源:http://www.centos.bz/2012/06/linux-cc-attack-shell-script/
About 贝壳
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。
点此给贝壳发送邮件 | 广告投放QQ80059284