看着这么多需要修复的感觉整个人都不好了[捂脸]。借着一次修复过程,总结下常见的基于 Tomcat 容器的 Web 应用的优化和漏洞防护。
打开 tomcat/conf/web.xml ,找到 sesion-config节点配置cooker-config
<session-config>
<session-timeout>30session-timeout>
<cookie-config>
<http-only>truehttp-only>
<secure>truesecure>
cookie-config>
session-config>
注意,设置 Secure=true 需要应用的访问协议是https。
打开 tomcat/conf/server.xml,找到
<Connector
port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
/>
将 port 改为其他值。
telnet ip 8005 然后输入 SHUTDOWN 就可以关闭 Tomcat,应该禁用,在 tomcat/conf/server.xml中找到
<Server port="8005" shutdown="SHUTDOWN">
修改为:
<Server port="-1" shutdown="SHUTDOWN">
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(点击劫持) 在web端一般是iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。 X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。
打开 tomcat/conf/web.xml,添加拦截器:
<filter>
<filter-name>httpHeaderSecurityfilter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilterfilter-class>
<init-param>
<param-name>antiClickJackingOptionparam-name>
<param-value>SAMEORIGINparam-value>
init-param>
<async-supported>trueasync-supported>
filter>
<filter-mapping>
<filter-name>httpHeaderSecurityfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
参数说明
在 /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