类似于ab,webbench,jmeter等这种压力测试工具,也是一种攻击方式,通过制造大量的并发请求,耗尽服务器资源。
对于一般中小型网站,很可能一句 webbench -c 30000 -t 500 http://hostname/就能让服务器挂掉.
该如何防御?
原理是通过http_user_agent 来判断。
apache ab的http_user_agent 为ApacheBench
webbench的http_user_agent 为WebBench
我的机器的配置:国外VPS 单核1G内存
下面直接贴nginx配置

java/表示jmeter的user_agent
下面用apache 的ab测试一下

查看access日志

可以看到,所有apache ab生成的请求全部被挡掉了。
下面看看webbench的:

查看access日志

本文探讨了如何防御使用ab、webbench等工具进行的大规模并发请求攻击,通过分析不同压力测试工具的特征,提出利用HTTP_USER_AGENT来区分合法与恶意请求的方法,并通过实例展示了在NGINX配置中实现这一防御策略的有效性。

7715

被折叠的 条评论
为什么被折叠?



