Java应用服务器 Apache Tomcat 再爆严重安全漏洞

fmms 10年前
     <p><a href="http://www.open-open.com/open12123.htm " target="_blank"><strong>Tomcat</strong> </a>服务器是一个免费的开放源代码的Web 应用服务器。</p>    <p>Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。</p>    <p>Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。<br /> <br /> Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。</p>    <p>这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和 JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。<br /> <br /> <img title="Java应用服务器 Apache Tomcat 再爆严重安全漏洞" border="0" alt="Java应用服务器 Apache Tomcat 再爆严重安全漏洞" src="https://simg.open-open.com/show/38b694d95feb6c57a67a30ea4b07d4a5.jpg" width="146" height="92" /><br /> </p>    <p><span style="text-align:left;widows:2;text-transform:none;background-color:#f7f7f7;text-indent:0px;font:14px/25px Helvetica,Tahoma,Arial,sans-serif;white-space:normal;orphans:2;letter-spacing:normal;word-spacing:0px;" class="Apple-style-span"><strong style="font-weight:bold;">Apache Tomcat 再次爆出安全漏洞:</strong><span class="Apple-converted-space"> <br /> </span></span><br /> <span style="text-align:left;widows:2;text-transform:none;background-color:#f7f7f7;text-indent:0px;font:14px/25px Helvetica,Tahoma,Arial,sans-serif;white-space:normal;orphans:2;letter-spacing:normal;word-spacing:0px;" class="Apple-style-span">漏洞:<strong style="font-weight:bold;">CVE-2011-3190  Apache Tomcat 绕过验证和信息泄露</strong><span class="Apple-converted-space"> </span><br /> 严重性:<strong style="font-weight:bold;">严重</strong><span class="Apple-converted-space"> </span><br /> 公布方:Apache软件基金会<span class="Apple-converted-space"> </span><br /> 受影响的版本:<span class="Apple-converted-space"> </span><br /> <br /> </span></p>    <ul style="padding-bottom:0px;margin:0px 0px 1.5em;padding-left:0px;padding-right:0px;padding-top:0px;">     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">Tomcat 7.0.0 ~ 7.0.20的所有版本</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">Tomcat 6.0.0 ~ 6.0.33的所有版本</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">Tomcat 5.5.0 ~ 5.5.33的所有版本</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">早期的已不再提供支持的版本也可能受影响</li>    </ul>     Apache Tomcat支持AJP协议,用来通过反向代理到Tomcat的请求和相关的数据,AJP协议的作用是,当一个请求包含请求主体时,一个未经允许的、包含请求主体首部分(或可能所有的)的AJP消息被发送到Tomcat。在某些情况下,Tomcat会把这个消息当作一个新的请求来处理,而不会当作请求主体。这可能导致攻击者完全控制AJP消息,允许攻击者:    <span class="Apple-converted-space"> </span>    <br />    <br />    <ul style="padding-bottom:0px;margin:0px 0px 1.5em;padding-left:0px;padding-right:0px;padding-top:0px;">     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">插入已验证用户的名字</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">插入任何客户端的IP地址(可能绕过任何客户端IP地址的过滤)</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">导致用户之间的响应混乱</li>    </ul> 下面的AJP连接器实现    <strong style="font-weight:bold;">不会受到影响</strong>:    <span class="Apple-converted-space"> </span>    <br />    <br />    <ul style="padding-bottom:0px;margin:0px 0px 1.5em;padding-left:0px;padding-right:0px;padding-top:0px;">     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">org.apache.jk.server.JkCoyoteHandler (5.5.x - default, 6.0.x - default)</li>    </ul> 下面的AJP连接器实现    <strong style="font-weight:bold;">会受到影响</strong>:    <span class="Apple-converted-space"> </span>    <br />    <br />    <ul style="padding-bottom:0px;margin:0px 0px 1.5em;padding-left:0px;padding-right:0px;padding-top:0px;">     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">org.apache.coyote.ajp.AjpProtocol (6.0.x, 7.0.x - default)</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">org.apache.coyote.ajp.AjpNioProtocol (7.0.x)</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">org.apache.coyote.ajp.AjpAprProtocol (5.5.x, 6.0.x, 7.0.x)</li>    </ul> 此外,这个问题只适用于以下都为真的情况:    <span class="Apple-converted-space"> </span>    <br />    <br />    <ul style="padding-bottom:0px;margin:0px 0px 1.5em;padding-left:0px;padding-right:0px;padding-top:0px;">     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">POST请求被接受</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">请求主体没有被处理</li>    </ul> 举例:参见    <span class="Apple-converted-space"> </span>    <a style="color:#006699;text-decoration:underline;" href="/misc/goto?guid=4958188315676838478" target="_blank">https://issues.apache.org/bugzilla/show_bug.cgi?id=51698</a>    <span class="Apple-converted-space"> </span>    <br />    <br />    <strong style="font-weight:bold;">解决措施:</strong>    <span class="Apple-converted-space"> </span>    <br />    <br />    <ul style="padding-bottom:0px;margin:0px 0px 1.5em;padding-left:0px;padding-right:0px;padding-top:0px;">     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">升级Apache Tomcat到已经修复此问题的版本。</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">安装相应的补丁:</li>      - 7.0.x     <span class="Apple-converted-space"> </span>     <a style="color:#006699;text-decoration:underline;" href="http://svn.apache.org/viewvc?rev=1162958&view=rev" target="_blank">http://svn.apache.org/viewvc?rev=1162958&view=rev</a>     <span class="Apple-converted-space"> </span>     <br />      - 6.0.x     <span class="Apple-converted-space"> </span>     <a style="color:#006699;text-decoration:underline;" href="http://svn.apache.org/viewvc?rev=1162959&view=rev" target="_blank">http://svn.apache.org/viewvc?rev=1162959&view=rev</a>     <span class="Apple-converted-space"> </span>     <br />      - 5.5.x     <span class="Apple-converted-space"> </span>     <a style="color:#006699;text-decoration:underline;" href="http://svn.apache.org/viewvc?rev=1162960&view=rev" target="_blank">http://svn.apache.org/viewvc?rev=1162960&view=rev</a>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">配置反向代理和Tomcat AJP连接器,使用requiredSecret属性。</li>     <li style="padding-bottom:0px;margin:0px 0px 0.25em 30px;padding-left:0px;padding-right:0px;padding-top:0px;">使用org.apache.jk.server.JkCoyoteHandler AJP连接器(不适用于 Tomcat 7.0.x)</li>    </ul> VIA    <span class="Apple-converted-space"> </span>    <a style="color:#006699;text-decoration:underline;" href="/misc/goto?guid=4958188318787837081" target="_blank">apache.org</a>    <span class="Apple-converted-space"> </span>    <br /> 本文转载自:    <a href="/misc/goto?guid=4958188319525075817" rel="nofollow">http://www.iteye.com/news/22650</a>    <br />