tomcat安全增强
1.禁用tomcat后台业务管理功能
默认安装tomcat自带启用了管理后台功能,能直接上传war对站点进行部署和管理,容易导致管理后台空口令或者弱口令的产生,黑客能利用该漏洞直接上传webshell导致服务器沦陷。
通常访问tomcat后台管理地址为http://ip:8080/manager/html/。
a)如果项目不需要使用tomcat管理后台管理业务代码,建议直接将部署tomcat目录下webapps下的manager, host-manager文件夹全部删除。
b)如果项目需要要用tomcat管理后管理业务代码,则建议加强管理后台配置账号的复杂度:取消默认admin用户更改用户名,设置复杂密码,长度超过12。
账号配置文件:conf/tomcat-users.xml
2.删除tomcat文档和示例程序
如果没有特殊需求,建议删除webapps目录下的docs, examples, manager, ROOT, host-manager目录。
3.开启Tomcat的访问日志
修改配置文件打开访问日志:conf/server.xml,重启tomcat:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
4.tomcat默认帐号安全
修改conf/tomcat-user.xml,重新设置复杂口令后并保存文件,重启tomcat:
<!--<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"/>
-->
5.修改默认访问端口
conf/server.xml。
web访问端口不要使用80或8080大家熟知的端口,改成任意端口。
6.禁止列出目录
防止直接访问目录时由于找不到默认页面而列出目录下的文件。
打开web.xml,将<param-name>listings</param-name> 改成 <param-name>false</param-name>7.重定向错误页面或隐藏tomcat版本号
当404或者500页面错误时,tomcat会返回相应版本号,为安全起见,可重定向错误页面,或隐藏或修改其版本号。
a)直接修改配置,错误400或505,隐藏tomcat版本号:
cd $TOMCAT_HOME/lib
mkdir -p org/apache/catalina/util
cd org/apache/catalina/util
vim ServerInfo.properties
server.info=Apache Tomcat ---如果想修改成其它版本号,也修改这里
也可以错误重定向
b)重定向错误页面
修改conf/web.xml
文件末尾</web-app>的前一行,增加内容:<error-page>
<error-code>404</error-code><location>/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>