Linux下脚本处理CC攻击


2016年11月7日- 星期一 Linux教程 21条 5,569
  •  

  • 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

  •  

  •  

  •  

标签:

目前就职于:待业中
主要业务:云计算产品及IDC资源出售
联系人:大宾      TEL:15903011425
QQ:1239271999 MAIL:1239271999@qq.com
我的博客:www.idabin.com          大宾个人博客
地址:待业中

21条评论

  1. 三五营销www.ak47.356688.com

    最近很少浏览博客了,认真拜读下

    • i大宾

      你来的挺勤

  2. 三五营销

    需要向博主学习的地方还有很多,很多,很多……

    • i大宾

      谢谢

  3. 挖宝网

    没什么好说的,提前祝博主新年快乐!

    • i大宾

      新年快乐。

  4. 衣皇后

    掐指一算,这个博客能风光一百年!

    • i大宾

      额,到时候我早不在了。

  5. 三五营销

    偶然来访,受益良多!

    • i大宾

      xiexie

  6. 三五营销

    挺好的,祝你快乐

    • i大宾

      谢谢

  7. 做整容手术要多少钱

    不错 谢谢博主了

    • i大宾

      谢谢

  8. 尚爱思套图

    我只是来看一看,好久没来了~

    • i大宾

      额,谢谢

  9. 演员网

    你的博客就像冬天里的一把火!

  10. 天下彩

    谢谢分享,学习了

    • i大宾

      客气

  11. 增达网

    你的博客就像冬天里的一把火!

    • i大宾

      谢谢博主

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>