尽管上一篇提到了限制单IP的请求和并发,但效果仍然不是很显著,在一些大型PHP页面被cc时尽管只有一点量,但也足够致命。 我们下面来说说怎样通过禁止UA来达到相应的防御效果 **食用方法:** 被cc过后,我们可以通过查看相应网站的Nginx日志文件来查看攻击端的UA。由于攻击者没有伪造UA,所以一眼就看出了不对,虽然使用了大量代理,但其UA都是一致的,而且是从未见过的奇怪UA 下面是UA 45.140.*.* - - [02/Feb/2020:03:39:27 +0800] "GET / HTTP/1.1" 200 2018 "-" "**Mozilla/5.0 (pc-x86_64-linux-gnu) Siege/4.0.4**" 那么我们只用记住 Siege/4.0.4 这个关键词就好 然后,我们打开相应站点的配置文件,并在server"{" "}"中间加入 if ($http_user_agent ~* "Siege/4.0.4"){ return 403; } warning:请不要再把这段规则写在http下,众所周知这都会导致语法错误 聪明的人应该看出来了,要对UA进行判断,规则就是: if ($http_user_agent ~* "这里填UA"){ ... } **以下为实测环节:** ![Screenshot_20200202-034706.png][2] ![Screenshot_20200202-034727.png][3] 可以看到,服务器对攻击端发送的HTTP请求全都返回了403,而且服务器基本没什么负载。 **总结:** 虽然禁止UA可以防得住代理cc Attack,但也不排除对方伪造UA的CC Attack,所以此计并非万全 ---此文章为原创文章,转载请注明出处 [1]: https://www.cuteecats.com/usr/uploads/2020/02/1372539672.png [2]: https://www.cuteecats.com/usr/uploads/2020/02/542265250.png [3]: https://www.cuteecats.com/usr/uploads/2020/02/24970011.png Loading... 尽管上一篇提到了限制单IP的请求和并发,但效果仍然不是很显著,在一些大型PHP页面被cc时尽管只有一点量,但也足够致命。 我们下面来说说怎样通过禁止UA来达到相应的防御效果 **食用方法:** 被cc过后,我们可以通过查看相应网站的Nginx日志文件来查看攻击端的UA。由于攻击者没有伪造UA,所以一眼就看出了不对,虽然使用了大量代理,但其UA都是一致的,而且是从未见过的奇怪UA 下面是UA 45.140.*.* - - [02/Feb/2020:03:39:27 +0800] "GET / HTTP/1.1" 200 2018 "-" "**Mozilla/5.0 (pc-x86_64-linux-gnu) Siege/4.0.4**" 那么我们只用记住 Siege/4.0.4 这个关键词就好 然后,我们打开相应站点的配置文件,并在server"{" "}"中间加入 if ($http_user_agent ~* "Siege/4.0.4"){ return 403; } warning:请不要再把这段规则写在http下,众所周知这都会导致语法错误 聪明的人应该看出来了,要对UA进行判断,规则就是: if ($http_user_agent ~* "这里填UA"){ ... } **以下为实测环节:** ![Screenshot_20200202-034706.png][2] ![Screenshot_20200202-034727.png][3] 可以看到,服务器对攻击端发送的HTTP请求全都返回了403,而且服务器基本没什么负载。 **总结:** 虽然禁止UA可以防得住代理cc Attack,但也不排除对方伪造UA的CC Attack,所以此计并非万全 ---此文章为原创文章,转载请注明出处 [1]: https://www.cuteecats.com/usr/uploads/2020/02/1372539672.png [2]: https://www.cuteecats.com/usr/uploads/2020/02/542265250.png [3]: https://www.cuteecats.com/usr/uploads/2020/02/24970011.png 最后修改:2022 年 04 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏