Tomcat相关的安全扫描漏洞记录

目录

1.SSLv3漏洞(CVE-2014-3566)

2.检测到错误页面web应用服务器版本信息泄露

3.点击劫持:X-Frame-Options未配置

4.检测到目标服务器启用了OPTIONS方法

参考文献


1.SSLv3漏洞(CVE-2014-3566)

备注:SSLv3漏洞(CVE-2014-3566),该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均使用SSL3.0),便可以成功获取到传输数据(例如cookies)。

针对此漏洞,需要服务器端和客户端均停用SSLv3协议。

(1)如果开启了https请求,又没有进行特殊设置,就会有这个漏洞,默认是支持SSLv3协议的

(2)如果不需要https请求,直接禁用https请求,sslEnable=false即可。

(3)假设需要https请求,找到server.xml,调整如下:

< Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               keystoreFile="keystore/SSL.jks"  keystorePass="证书密码"
               clientAuth="false" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
               ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,
                               TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
                               TLS_RSA_WITH_AES_128_CBC_SHA256,
                               TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
                               TLS_RSA_WITH_3DES_EDE_CBC_SHA,
                               TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />

可以通过 https://wosign.ssllabs.com/在线检测漏洞。

2.检测到错误页面web应用服务器版本信息泄露

备注:Web服务器未能正确处理异常请求导致Web服务器版本信息泄露,攻击者收集到服务器信息后可进行进一步针对性攻击。默认情况,404的页面是tomcat自身的,能看到tomcat的版本号。我们可以通过调整web.xml中配置,来修复。如下在web.xml中添加如下:

<error-page>
       <error-code>404</error-code>
       <location>/system_error.html</location>
    </error-page>
    <error-page>
       <error-code>403</error-code>
       <location>/system_error.html</location>
    </error-page>
    <error-page>
       <error-code>400</error-code>
       <location>/system_error.html</location>
    </error-page>
    <error-page>
       <error-code>500</error-code>
       <location>/system_error.html</location>
</error-page>

这样的话,相关错误就跳转到指定的system_error.html页面去了,这个页面,我们可以自己定制化。至于这个html放的位置,要根据你部署项目的情况来说,一般来说,放到根目录即可,和index.html入口文件放到一块。

另外,正式发布的时候,最好把tomcat对应webapp目录下原来自带的项目都删除掉,避免不必要的漏洞扫描麻烦,因为doc项目下也会有tomcat的版本信息,会有泄露服务版本的风险。

3.点击劫持:X-Frame-Options未配置

备注:点击劫持(ClickJacking)是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。

HTTP 响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个 iframe 中的页面。如果服务器响应头信息中没有X-Frame-Options,则该网站存在ClickJacking攻击风险。网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面嵌入从而防止点击劫持。

这个是页面可以被ifream引用的漏洞,可以通过配置调整web.xml来解决该问题。在tomcat的web.xml文件中,搜:httpHeaderSecurity,然后进行调整,调整如下:

<filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
            <param-name>antiClickJackingEnabled</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>antiClickJackingOption</param-name>
            <param-value>DENY</param-value>
        </init-param>
</filter>
<filter-mapping>
        <filter-name>httpHeaderSecurity</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
</filter-mapping>

红色是可以配置项,如下:

  • DENY:浏览器拒绝当前页面加载任何Frame页面。

  • SAMEORIGIN:页面只能加载入同源域名下的页面。

  • ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

注:如果只配置自己项目所属的web.xml则只限制单个项目,配置tomcat的web.xml,会限制在该tomcat下所有应用。

4.检测到目标服务器启用了OPTIONS方法

备注:OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。OPTIONS方法可能会暴露一些敏感信息,这些信息将帮助攻击者准备更进一步的攻击。

可以通过配置web.xml只放开需要的请求协议,例如,我只放开get和post,相关配置如下:

    <!--请求协议禁用-->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>http method security</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>PUT</http-method>
            <http-method>DELETE</http-method>
            <http-method>HEAD</http-method>
            <http-method>OPTIONS</http-method>
            <http-method>TRACE</http-method>
        </web-resource-collection>
    <auth-constraint/>

直接在web.xml中添加如上配置即可。上述是禁用put/delete/head/options/trace这些请求。 

配置了之后,通过 curl -v -X OPTIONS http://xxx.xxx.xxx.xxx 进行验证即可。如果返回403禁用,那就是成功了。

参考文献

【1】OPTIONS方法禁用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值