欢迎访问查资料网,分享范文、生活妙招、学科知识、科普常识等!

Linux下脚本处理CC攻击两则

查资料网 分享 时间: 加入收藏 我要投稿 点赞

做为站长,当然经常会被攻击,大部分时候都是CC攻击,不像DDOS攻击需要成本,简单的CC攻击并不需要成本,就像17ce就可以进行攻击,而一些站长经常会把CC攻击当成DDOS攻击,这里有两个小脚本,可以防止轻度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的都可以用此脚本屏蔽!

221381
领取福利

微信扫码领取福利

微信扫码分享