1 分钟(60 秒)内,同一 IP 刷新了多少次,就当作恶意刷新关小黑屋?(防御单一 IP 的 CC 攻击)

2014-09-26 00:29:36 +08:00
 kmvan
1分钟内,刷 30 次?还是 60 次呢?或者有没有其他更好的方案?
8436 次点击
所在节点    PHP
31 条回复
demo
2014-09-26 14:58:13 +08:00
no zuo no die, 才出来没多久...

amh有个防cc模块,楼主可以研究下: http://www.lsanday.com/386.html
soulteary
2014-09-26 15:16:48 +08:00
- fail2ban
- iptables
- limit-req2
- 其实现在看来更大的隐患不是快速攻击这种容易发觉的,而是慢速的长期嗅探。
ryd994
2014-09-26 22:09:23 +08:00
@soulteary 更坑的是小规模cc混合http slow, 表面上看是cc,实际上卡死的slow
msg7086
2014-09-27 08:31:35 +08:00
@pubby -> fail2ban

不过这么频繁检查日志,对于大流量的网站来说会死得很惨哦
pubby
2014-09-27 10:41:00 +08:00
@msg7086 为什么会死很惨?
msg7086
2014-09-27 14:10:11 +08:00
@pubby 因为大流量的网站,accesslog每时每刻都在更新,所以fail2ban会一直收到inotify。
pubby
2014-09-27 15:39:11 +08:00
@msg7086 每次先将accesslog mv到一个临时文件的。所以accesslog中只有10s内的数据
msg7086
2014-09-27 18:32:28 +08:00
@pubby 你真的知道「文件句柄」这种东西吧……
还有,你要怎么每10秒执行一次?你知道cron是每分钟一发的吧……
pubby
2014-09-27 23:32:35 +08:00
@msg7086 我当然知道cron的精度只有1分钟 10秒执行一次自然是脚本自己控制的
莫非你以为10s还处理不了10s内access log数据?
msg7086
2014-09-28 05:43:37 +08:00
@pubby 不对不对…我说的是fail2ban的情况。

这种分析accesslog的东西我以前做好,但是不停地让web server重新打开文件太麻烦了,还不如用lua+redis来做,方便多了。我做的是bt tracker。
msg7086
2014-09-28 05:44:41 +08:00
s/做好/做过/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/135736

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX