利用系统防火墙拦截CC攻击的轻量级防御脚本
这个东西是张戈大鸟写的,刚刚看到交流群里有人在测试cc攻击,我就想起了去年经历的不堪回首的日子。为了仿制他们恶…
这个东西是张戈大鸟写的,刚刚看到交流群里有人在测试cc攻击,我就想起了去年经历的不堪回首的日子。为了仿制他们恶意测试别人的网站,我给他们推荐了这款名叫cckiller的防御脚本。它能将并发访问过高的ip拉入防火墙黑名单,封禁该ip的访问权限。如果是多ip低并发的cc攻击它将无能为力,曾经我也就被人莫名其妙干过。
众所周知,DDoS 攻击指的是分布式拒绝服务。而 CC 攻击只是 DDoS 攻击的一种,本文所阐述的 CC 攻击,指的是单个 IP 达到我们设定好的阈值并发请求,而非海量 IP 的低并发攻击!对于个人低配服务器,除了使用 CDN 来防护,至少我是没有想到如何抵挡海量 IP 攻击的!因为每个 IP 都模拟正常的用户浏览器请求,并不会触发防御阈值,同时来 1000 个,甚至上万个,个人低配服务器的带宽在第一时间就会被占满,就无法继续提供服务了。
科普,DDos挡不住,别再找防御办法了,最佳防御办法就是,嘿嘿…..烧钱!注意,别拿本站做测试,有cdn,如果让本站受到损失,别怪站长报警,我们可是正经备案网站!
功能介绍
秒级检查
更细的时间颗粒,响应更快,更加灵活稳定。
拉黑时长
CCKiller 可以设置拉黑时长,默认为 10 分钟。当发现有恶意请求时,会自动拉黑目标 IP,并在拉黑时长结束后自动释放。
并发阈值
CCKiller 可以设定单个 IP 的最高请求数,如果某个 IP 同时请求数超过了设定的阈值,就会被暂时拉黑一段时间。
邮件发送
就是个提醒功能,没有邮件发送环境就没用。
并发显示
安装后,直接运行 cckiller 会列出当前系统的请求排行,可以清晰的看到当前请求 IP 和并发数。使用-s 参数还可以继续定制需求,比如 cckiller -s 10 就能显示当前并发数排行前 10 名的 IP。
手动拉黑
支持手动拉黑,执行后会立即检查,将并发请求超过 n 的 IP 拉黑一段时间,比如 cckiller -k 100 就会将目前超过 100 个请求的 IP 拉黑一段时间,如果没有则不会执行任何拉黑操作。
在线安装
curl -ko install.sh https://zhang.ge/wp-content/uploads/files/cckiller/install.sh?ver=1.0.7 && sh install.sh -i
该脚本安装时会询问是否使用默认设置:
默认配置如下:
The Time interval : 20 s #每 20s 检查一次系统请求情况
The Forbidden Time: 600 s #拉黑时长设为 10 分钟
Adminstrator Email: root@localhost #邮件对象设置为 root@localhost(即关闭邮件发送)
Connections Allow: 100 #单个 IP 并发限制为 100
你可以可以选择手动设置各项配置信息,输入N回车即可。
CCkiller服务控制
service cckiller {start|stop|restart|status}
例如,启动cckiller,Linux下执行命令:service cckiller start
文件结构
脚本安装目录为/usr/local/cckiller,其结构如下:
卸载工具
这点就很人性化了,不需要可以卸载掉。卸载功能位于安装文件install.sh中。
- -u 参数用来升级工具,不过目前由于没时间还没写,所以不可用(Ver 1.0.2 已支持在线更新)
- -i 参数用来安装工具,如果已安装则会提示并终止
- -c 参数用来配置工具,方便安装后随时修改工具配置
- -U 参数用来卸载工具,注意是大写哦!
使用方法,卸载cckiller 使用命令: ./install.sh -U
据我测试,在拦截小白cc攻击方面效果很好,高手的攻击就别想拦截了,别人发起一次攻击还是需要花钱的,岂能轻易让你拦截了?
这个脚本的功能与宝塔自带的拦截功能是一样的,都是通过检查高并发的ip,将其放入系统防火墙的黑名单中,所以有用宝塔面板的用户就不需要这个东西了。至于oneinstack一键安装包中自带的waf防御工具,我也测试过,拦截效果不如这个脚本,主要是响应速度方面,而且waf的拦截似乎需要经过nginx,过于消耗资源,远没有服务器防火墙拦截来的彻底!
转载文章,转自哪里文中有说,请注意查找哟!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!