python的cc攻击脚本_CC攻击应急:自动拉黑IP的Shell脚本

原标题:CC攻击应急:自动拉黑IP的Shell脚本

前言

前两天参加面试,面试官问我:如果攻击方采用代理ip进行cc攻击,我们应该如何应急?

由这个问题,引发了我的一些思考。他假定的场景是网站没有任何防护措施(就是在互联网上裸奔),好吧,既然没有任何的防护,在应急的时候,能不能通过脚本自动分析web日志,根据访问量自动拉黑ip?

脚本介绍

脚本设计思路:通过计划任务统计单位时间内的IP访问量,设定一个阀值,访问量超过阀值就自动拉黑。

#!/bin/bash #该脚本可以根据web日志的访问量,自动拉黑IP(加入计划任务,结合计划任务在固定时间段内执行,并根据该时间段内产生的日志进行分析) #首先把日志保存到根目录一份,计算日志有多少行 line1=`wc -l /access_log|awk '{print$1}'` cp /var/log/httpd/access_log / #计算现有的日志有多少行 line2=`wc -l /var/log/httpd/access_log |awk '{print$1}'` #根据上一次备份的日志和现在拥有的行数差值,作为单位时间内分析日志访问量 tail -n $((line2-line1)) /var/log/httpd/access_log|awk '{print$1}'|sort -n|uniq -c|sort >/1.txt cat /1.txt|while read line do echo $line >/line num=`awk '{print$1}' /line` #设定阀值num,单位时间内操作这个访问量的ip会被自动拉黑 if (($num>12)) then ip=`awk '{print$2}' /line` firewall-cmd --add-rich-rule="rule family=ipv4 source address='${ip}' port port=80 protocol=tcp reject" --permanent firewall-cmd --reload fi done 脚本测试

一台centos7虚拟机,搭建有http服务

1.Web可以正常访

2.启动虚拟机centos的防火墙

3.把脚本加入计划任务

4.用nikto模拟大量的访问

5.再访问可以看到本地的IP已经无法访问网页

6.通过firewall-cmd –list-all 可以看到自己本地的ip地址已经被拉黑

7.我们也可以对在/etc/firewalld/zones/public.xml文件中对防火墙的规则进行直接操作,方便我们后期对拉黑的ip进行移除,修改等操作

总结:

这个脚本只是给出一个样例,里面的阀值num需要根据自己网站的访问量自行调整。也可以根据这个脚本来演化,比如基于访问特征拉黑ip,有兴趣的可以自己研究。

*本文作者:mozili,转载请注明来自FreeBuf.COM返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值