站长视角
用户至上

Linux简单处理CC攻击shell脚本

香港110M(含10M CN2)大带宽独服限量促销,香港E3-8G-1T硬盘-3IP,月付仅799!

第一个脚本是通过查找日志中访问次数过多的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攻击的特征进行屏蔽。

1
2
3
4
5
6
7
8
9
10
11
#!/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/

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《Linux简单处理CC攻击shell脚本》
文章链接:https://cnidc.co/127.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。
广告位招租,欢迎骚扰
香港110M(含10M CN2)大带宽独服限量促销,香港E3-8G-1T硬盘-3IP,月付仅799!

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专注国外VPS_云服务器_独立服务器_国外主机_外贸主机

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏