欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

portal 常见漏洞与解决方法(基于 Tomcat8.5)

程序员文章站 2022-05-10 19:05:56
...

portal 常见漏洞与解决方法(基于 Tomcat8.5)

看着这么多需要修复的感觉整个人都不好了[捂脸]。借着一次修复过程,总结下常见的基于 Tomcat 容器的 Web 应用的优化和漏洞防护。

COOKIE 常用属性设置

添加 httponly=true 和 Secure=true

  • httponly 能有效防止 XXS 攻击。
  • Secure 设置是否只能通过https来传递此条 cookie 。

打开 tomcat/conf/web.xml ,找到 sesion-config节点配置cooker-config

<session-config>
    <session-timeout>30</session-timeout>
    <cookie-config>
        <http-only>true</http-only>
        <secure>true</secure>
    </cookie-config>
</session-config>

注意,设置 Secure=true 需要应用的访问协议是https。

修改tomcat默认端口

修改默认启动端口

打开 tomcat/conf/server.xml,找到

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

将 port 改为其他值。

禁用8005端口

telnet ip 8005 然后输入 SHUTDOWN 就可以关闭 Tomcat,应该禁用,在 tomcat/conf/server.xml中找到

<Server port="8005" shutdown="SHUTDOWN">

修改为:

<Server port="-1" shutdown="SHUTDOWN">

防止 Slow HTTP POST

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

打开 tomcat/conf/server.xml,找到

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

修改为

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

防止 Clickjacking - Framable Page

Clickjacking(点击劫持) 在web端一般是iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。 X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。

打开 tomcat/conf/web.xml,添加拦截器:

<filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <init-param>
            <param-name>antiClickJackingOption</param-name>
            <param-value>SAMEORIGIN</param-value>
        </init-param>
        <async-supported>true</async-supported>
    </filter>

    <filter-mapping>
        <filter-name>httpHeaderSecurity</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

参数说明

  • DENY:不能被嵌入到任何iframe或frame中。
  • SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。
  • ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

隐藏 Tomcat 版本号

在 /home/portal/data/tomcat/tomcatCas/lib/ 下新建目录 org/apache/catalina/util

mkdir /tomcat/lib/org/apache/catalina/util

创建一个 ServerInfo.properties 文件,保存为空文件

cd /tomcat/lib/org/apache/catalina/util
vim ServerInfo.properties

删除 Tomcat 目录中没用的目录

  • 删除 tomcat/webapps 目录下的 docs、examples、host-manager、manager目录。
  • 删除 ROOT 下没用的文件。

portal 常见漏洞与解决方法(基于 Tomcat8.5)

相关标签: 系统运维