Tomcat安全加固
近期安全部门内部漏扫时,发现部分tomcat存在通过OPTIONS方法提交特定的请求的问题,在响应中查看allow头信息,在allow头中发现delete、put等选项,delete方法是用来调试web服务器连接的http方式,支持该方式的服务器文件可能被非法删除;put方法用来向服务器提交文件,测试显示部分请求中这些方法是允许的。借此机会,顺手整理了下针对tomcat的安全加固。
一、删除示例文档
删除webapps/docs、examples、manager、ROOT、host-manager,这个步骤不提供了,拿到tomcat一般第一件事就做这个,老生常谈了。
二、禁止列目录
打开web.xml,将listings 改成 false ,防止直接访问目录时由于找不到默认页面而列出目录下的文件。
三、修改默认端口
编辑conf/server.xml文件,把8080改成1024-65535的未使用端口。
四、禁用tomcat默认帐号
打开conf/tomcat-user.xml文件,将以下用户注释掉:
<pre data-language="XML">```markup
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
### 五、禁用不需要的http方法
对应开头,一般禁用delete,put方法,修改web.xml文件,增加如下内容:
```markup/* PUT DELETE HEAD OPTIONS TRACE ``` ``` 注意,web.xml文件的修改,需重启tomcat生效。 ### 六、启用安全cookie 防止xss跨站点攻击,tomcat6开始支持此属性,此处在context.xml中添加启用配置,context.xml配置即调用时生效不需要重启tomcat ``` BASIC ```markup # http://tomcat.apache.org/tomcat-6.0-doc/config/context.html``` ``` ### 七、修改tomcat版本信息 进入apache-tomcat目录lib下,找到catalina.jar,使用压缩工具依次找到org\\apache\\catalina\\util下的ServerInfo.properties。打开ServerInfo.properties编辑:(去掉版本信息)如下: ``` ```markup server.info=Apache Tomcat server.number= server.built= ``` ``` ### 八、重定向错误页面 conf/web.xml在倒数第1行之前加如下内容: ``````markup401 /401.htm 404 /404.htm ``` ``` 然后在webapps\\manger目录中创建相应的401.html\\404.htm\\500.htm文件,错误返回页也可在应用中配置,应用中配置则只在当前应用生效。 ### 九、其他 以下这个项可能不完全和安全相关,也单独列下吧。 #### 1、禁止使用root用户运行 这个只针对类linux系统而言的,一旦有漏洞,被人注入上传木马,以什么样的用户运行就获取了什么权限。 #### 2、虚拟目录 配置类似如下: ``` 500 /500.htm ```markup``` ``` 默认server.xml里一般只有appBase,没有docBase,两者的区别是:appBase这个目录下面的子目录将自动被部署为应用,且war文件将被自动解压缩并部署为应用。如果不想自动war部署,就把autoDeploy配置为false。默认为tomcat下的ROOT目录;docBase只是指向了你某个应用的虚拟目录,这个可以和appBase没有任何关系。这个可以拿apache httpd的默认目录DocumentRoot和虚拟主机VirtualHost对比。 #### 3、日志审核 access log,新的版本里默认都是开启这个的: 修改conf/server.xml,取消注释如下部分: ``` ```markup``` ``` 启用access\_log后,重启tomcat,在tomcat\_home/logs中可以看到访问日志。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/tomcat-security/5650.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.