公司使用Tomcat6作为服务器运行一些web程序,前几天收到某某科技的远程安全评估,说是机房的服务器有很多漏洞,其中很多是Tomcat的,举个例子:
8080 TCP www Apache Tomcat Transfer-Encoding头处理拒绝服务和信息泄露漏洞 Apache Tomcat WAR文件名目录遍历漏洞 Apache Tomcat SecurityManager安全策略绕过漏洞 Apache Tomcat NIO Connector拒绝服务漏洞 Apache Tomcat JVM远程拒绝服务漏洞 远端HTTP服务器类型和版本信息泄漏
8080端口的Tomcat是用的Tomcat/6.0.20版本,另一个端口用的Tomcat/6.0.14版本,报的漏洞比这个还多些。
(我怀疑这个评估就是获取Tomcat版本后查询此版本已报出的漏洞给出的)
针对每个漏洞,给出了详细信息,例如:
Apache Tomcat WAR文件名目录遍历漏洞[低] 返回信息 Tomcat/6.0.20 漏洞描述 Apache Tomcat是一个流行的开放源码的JSP应用服务器程序。 在部署WAR文件时Tomcat没有正确地检查文件名中的目录遍历序列,用户上传恶意文件就可能导致删除主机工作目录中的当前内容,或在Web主目录外创建任意文件。 解决方案 厂商补丁: Apple ----- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://svn.apache.org/viewvc?rev=892815&view=rev http://svn.apache.org/viewvc?rev=902650&view=rev 补丁下载 http://tomcat.apache.org/ 威胁分值 3 CVE编号 CVE-2009-2902,CVE-2009-3548 BUGTRAQ 37944,37945 NSFOCUS 14402
给出的升级补丁我有点看不懂,貌似是tomcat源码svn地址的java文件,不会让我用这个java类重新编译覆盖原来的class吧
查看了一下tomcat6的漏洞列表 http://tomcat.apache.org/security-6.html
看起来每次发布新版本就会修复前面版本报出的漏洞,所以打补丁简单的做法就是下载最新的Tomcat替换之前的版本,不过这也是最笨的方法了。
原来以为Tomcat的版本升级只不过优化一下而已,如果之前的版本没问题,一般不会想到更换版本,比如jdk版本,不会总是下最新的jdk(这样做对吗),
没想到tomcat会有漏洞,像是Windows一样,不升级到新版本就会不安全,不过这样频繁更换也是一件麻烦事。
在此想咨询一下各位这些漏洞是不是会带来麻烦?
用Tomcat做web服务器时是否需要经常更新呢?
有其他打补丁的方法吗?
另外一个问题是有必要隐藏tomcat的版本信息吗?貌似叫做“tomcat banner”,搜索了一下没找到答案,找到一篇转载的 文章 ,貌似又是让修改Tomcat代码
ps:
je有“Java编程和Java企业应用版 ”版块,下面有“Tomcat”的tag,如果我只想搜索Tomcat下的帖子,是否能做到呢