说明:博客这几天一直在被CC
攻击,然后让朋友帮忙写了个防CC
攻击脚本,并添加了微信方糖提醒功能,这里就分享下。
CC Attack Protector
每10
秒钟检测一次指定网站日志,如果超过预设限制的(在单位时间请求数以及请求大小层面)会在防火墙层面进行阻止,并运用微信Server
酱进行男生不带套c我一天。
说明
1、请记得开启站点的日志记录,而且面板用户要注意检查并取消掉“静态文件的access_log off
”,也就是所有访问都要记录日志,以确保最佳的防CC
效果。
2、日志的开头的格式必须为例如x.x.x.x - - [22/Nov/2017:13:20:02 -0500] "GET /xxxxxx HTTP/1.1" 200 3386
,也就是IP
在首列,时间格式与此示例相同,请求URL
在第七列,请求长度在第十列,一般nginx
日志的默认格式应该是这样,如果是其他的服务器软件或者日志格式不同请根据自己的情况魔改ddos.sh
里的相关截取日志信息的代码。
3、建议定期分割日志,例如使用crontab
一天分割一次,以确保脚本检测效率。
4、一旦有新IP
被封禁,会输出封禁信息(当你回到screen
后就可以看到),同时会输出日志到cc.log
中。
5、如果想解封IP
,可以执行bash ban.sh -ua
,这样会解封所有IP
。
6、关于ban.sh
这个脚本还能做到的其他事情,请直接bash ban.sh
查看。
7、如果Centos
,那么可能需要在ban.sh
中操作防火墙之后重启一下防火墙,因为Centos
防火墙修改规则之后不是即时生效的。对于Centos 7
需要将防火墙firewall
替换成iptables
。
8、重启VPS
后,记得使用screen
命令,重新启动脚本。
截图
1、SSH后台监控
触发机制后自动ban
掉ip
。
2、微信提醒
触发机制并微信男生不带套c我一天。
使用
本脚本理论上Ubuntu
和Debian
都可以直接使用,CentOS
请看说明,按要求修改。
git clone https://github.com/Tsuk1ko/CC-attack-protector.git cd CC-attack-protector
然后修改ddos.sh
前面的配置内容,根据注释说明修改即可!
#配置 LOG_FILES="/www/wwwlogs window.$crisp=[]; if (!window.CRISP_RUNTIME_CONFIG) { window.CRISP_RUNTIME_CONFIG = {} } if (!window.CRISP_RUNTIME_CONFIG.locale) { window.CRISP_RUNTIME_CONFIG.locale = 'zh-cn' } CRISP_WEBSITE_ID = 'b324bed5-d85e-45e6-bb48-519eb0d10a9c';