我曾就ITSecurity问过这个问题,但我觉得这个问题最好放在这里。
在最近的一次评估中,我发现向tomcat服务器发送大型(> 5 MB)请求会导致服务器上100%的CPU使用率。 想到的最简单的修复方法是在连接器上使用maxPostSize。 但是这并没有帮助,因为我需要发送的请求不是“form-url-encoded”。 我四处阅读,发现maxPostSize只适用于该标题。
那么,在传递给应用程序之前,在服务器上停止这种大数据包的替代方法是什么呢?
换句话说:如何防止发送多个大型数据请求的攻击者在Tomcat服务器上执行DoS
如果CédricC的答案不会帮助 – 使用httpd与mod_security作为前端 – 那里你可以指定任何限制…
你正在使用哪个tomcat版本? 并且是请求参数中的请求数据?
如果它不是最后一个(> 6.0.35或> 7.0.23),则可能是由于JVM发生散列冲突漏洞(参见CVE-2012-0022 )。
它通过向连接器添加maxParameterCount (默认为10000)从6.0.34和7.0.23更正。