周四,Tomcat 邮件列表中公布了 Tomcat 的 DoS 问题(“ [ SECURITY ] CVE-2014-0050 Apache Commons FileUpload and Apache Tomcat DoS”)。
攻击者似乎能够通过content-type
在上传文件时发送一个过长的标头来导致无限循环(如果 Web 应用程序中使用了 Servlet 3.0+ 上传功能),据我第一眼理解该消息。
如果有人在 Apache httpd 服务器后面运行他们的 Tomcat 服务器(使用 AJP 和 mod_jk),那么可以做些什么来实现“将 Content-Type 标头的大小限制为小于 4091 字节”的建议?
当然,只要有可用的错误修复版本(通过下载页面或 Linux 发行版特定的软件包存储库),就应该更新。没有问题。但目前可用的 Tomcat 版本 7.0.50似乎仍然受到影响。
但是,在发布固定版本之前,作为一种快速的防御措施,人们能做些什么呢?
(无需...
- 卸载当前的 Tomcat 包(从包存储库安装),
- 从源代码(SVN)手动构建版本,
- 手动部署它们(没有
apt-get
oraptitude
), - 稍后再次卸载所有手动构建的东西,以支持从包存储库中舒适地更新版本)
是否有类似于此主题的临时解决方法:http ://wiki.apache.org/httpd/CVE-2011-3192 ?
那时,可以使用mod_headers、mod_setenvif或mod_rewrite来处理问题。是否有类似的 Apache httpd 技巧可以使格式错误的分段上传请求远离下游 Tomcat 服务器?
是的,这应该有效。CVE 公告说 4091 字节,但意外披露的电子邮件似乎开发人员倾向于 70-128 字节作为限制。让我们选择 128,但可以根据需要进行调整:
只是取消设置标头(而不是完全 403'ing 请求)可能对明显的攻击请求过于温和,但这应该可以完成工作。
apache(包括 Shane 的修改版本;阅读rfc我不会打赌长度
Content-String
总是 < 129nginx(没有找到解决方法 if() )