Tomcat安全优化
1.Tomcat启动端口优化
1)8005端口优化
8005端口是tcp的管理端口,修改默认的8005端口为不易猜测的端口,可以是大于1024的任意端口。
<Server port="8527" shutdown="SHUTDOWN">
2)8009端口优化
8009端口为Ajp协议连接保护端口,针对8009端口的优化可以分为两部分。
1.修改默认8009端口为不易猜测的大于1024的端口。
2.通过iptables规则限制ajp端口访问的权限。
<Connector port="8528" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
2.Tomcat管理端优化
关于管理端的优化主要在3个点
1.删除默认的{tocmat安装目录}/conf/tomcat-users.xml文件,重启tomcat会自动生成新的文件。
2.删除{tocmat安装目录}/webapps/下所有目录和文件
3.将tomcat的启动用户设置成普通用户
<Context path="" docBase="/usr/local/tomcat_webvapps" debug="0" reloadable="false" crossContext="true"/>
3.Tomcat降权启动
Tomcat启动用户权限必须为非root权限,尽量降低tomcat启动用户对目录的访问权限,避免一旦tomcat服务器被入侵,黑客直接获取高级用户权限危害整个服务器
4.关闭文件列表功能
conf/web.xml文件中default部分的listings必须配置为false
<init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param>
5.隐藏Tomcat版本信息
tomcat报错后会有版本提示,定义一个error-code
1.修改conf/web.xml,重定向403/404以及500等错误页面的url
2.修改程序目录下的WEB-INF/web.xml配置页面重定向
<error-page> <error-code>404</error-code> <location>/WEB-INF/jsp/errors/error.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/WEB-INF/jsp/errors/error.jsp</location> </error-page>
6.Tomcat响应头重写
修改http响应头中的服务端名称
server="webserver"
7.Tomcat设置访问限制
通过配置限定访问的IP来源
<context path=”/myapp” reloadable=”true” docBase=”/var/www/myapp”> <value className=”org.apache.catalina.values.RemoteAddrValue” allow=”192.168.[1-5].*,192.168.[10-15].*” deny=”″ /> </context >
8Tomcat日志设置
开启tomcat默认访问日志中的referer和user-agent记录
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>