首页 » 应用安全 » Web 服务器 » Tomcat » 正文

Tomcat 常见加固

1,修改默认管理页面

默认安装的管理后台目录:/mannager/ 和 /host-manager/
删除,或者修改为无法猜测出来的目录,例如:/iskjjqlax/

2,删除样例目录

删除默认样例目录:/examples/,避免不必要的漏洞。

3,设置复杂口令

默认用户配置文件:Tomcat/conf/tomcat-users.xml
设置足够复杂的密码,以防暴力破解。


4,修改默认端口

默认端口配置文件:Tomcat/conf/server.xml
修改为非常见端口(例如:4843),降低风险。


5,禁止目录浏览

检查全局 conf/web.xml 以及部署应用的 web.xml 文件,如果存在 listing 参数,应设置为 false,如下:

<init-param>
    <param-name>listings</param-name>
    <param-value>false</param-value>
</init-param>

6,自定义错误页面

修改 conf/web.xml 文件,加入如下配置,将常见 HTTP 错误 401、403、404、500 重定向到 /error.html 页面上:

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

注意:当设置了 HTTP 方法过滤配置之后,需要删除403错误页面的配置,否则两方面的设置都会工作不正常。

7,设置 SHUTDOWN 字符串

通过 8005 端口,可向 Tomcat 发送停止指令,而默认的指令为 SHUTDOWN。通过下面的设置将其修改为复杂的指令。

<Server port="8005" shutdown="复杂指令字符串">

 

8,禁用特定的HTTP方法

默认情况下,向服务器发送 OPTIONS 指令,Tomcat 服务器会返回支持 PUT、DELETE 等指令,而这是很多安全检测工具认为有问题的,我们可以通过下面的方法禁用某个方法,以达到安全防护的要求。

<security-constraint>
    <web-resource-collection>
        <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>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
</login-config>

注意:此配置可能与自定义403错误页面冲突,建议删除403错误页面的自定义配置。

PS:操作完成后重启服务,tomcat 7.0 8.0原理同上。

发表评论