首页 > 技术文章 > 官方Tomcat 8.0.24 Web漏洞整改记录

imfanqi 2015-08-10 11:11 原文

测试环境

web服务器:apache-tomcat-8.0.24-windows-x64

测试工具:Acunetix Web Vulnerability Scanner 9.5 

官方Tomcat测试结果

从官网下载原版apache-tomcat-8.0.24-windows-x64.zip,解压之后,直接开始测试。测试结果如下图所示:

漏洞看起来真的很多啊,不要被吓着哦。

漏洞整改

1、删除webapps目录中的docs、examples、host-manager、manager等正式环境用不着的目录,这一步就可以解决大部分漏洞

2、去掉webapps\ROOT中不需要目录和文件

3、解决掉“Slow HTTP Denial of Service Attack“漏洞

Slow HTTP Denial of Service Attack漏洞是利用HTTP POST的时候,指定一个非常大的content-length,然后以很低的速度发包,比如10-100s发一个字节,让这个连接不断开。这样当客户端连接多了后,占用了webserver的所有可用连接,从而导致DOS,属于一种拒绝服务攻击。
解决办法:

打开server.xml找到

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

将其中的connectionTimeout="20000"改为connectionTimeout="8000",其单位是毫秒。

4、解决“Clickjacking: X-Frame-Options header missing”漏洞

“Clickjacking(点击劫持)是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼在2008年提出的。是一种视觉欺骗手段,在web端就是iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。”

我们可以通过配置过滤器来解决。

首先,将ClickjackFilter.jar添加到lib目录下。

然后,打开webapps\ROOT\WEB-INF\web.xml添加以下过滤器:

  <filter>
    <filter-name>ClickjackFilterDeny</filter-name>
    <filter-class>org.owasp.filters.ClickjackFilter</filter-class>
      <init-param>
        <param-name>mode</param-name>
          <param-value>DENY</param-value>
      </init-param>
  </filter>
  <filter-mapping> 
    <filter-name>ClickjackFilterDeny</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

 

复测结果

 重启Tomcat,复测结果如下:

后记

随着企业越来重视信息系统安全性,建议不要直接使用官网下载的tomcat,尽量多进行测试,解决web应用漏洞,升应用安全性。

本文所用到的过滤器源代码及最终的tomcat已经分享到百度云盘,感兴趣的同学可以下载。

http://yunpan.cn/cdq8FvWyvDpjB  访问密码 1f4c

参考资料

1、https://www.owasp.org/index.php/Clickjacking_Protection_for_Java_EE

2、http://www.cnblogs.com/xuanhun/p/3610981.html

3、http://www.cnblogs.com/xuanhun/p/3610981.html

推荐阅读