Tomcat 部署安全性配置,修改配置前做好备份记录!修改配置前做好备份记录!修改配置前做好备份记录!
开启日志记录,以便于排除错误和发生安全事件时,进行分析和定位
1、修改Tomcat根目录下的conf/server.xml文件。
2、取消Host节点下Valve节点的注释(如没有则添加)。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 3、重新启动Tomcat
禁止Tomcat显示目录文件列表 ,允许显示目录文件列表会引发目录遍历漏洞
1、修改Tomcat 跟目录下的配置文件conf/web.xml,将listings的值设置为false。 <param-name>listings</param-name> <param-value>false</param-value>
避免为tomcat配置manager-gui弱口令
tomcat-manger是Tomcat提供的web应用热部署功能,该功能具有较高权限,会直接控制Tomcat应用,应尽量避免使用此功能。如有特殊需求,请务必确保为该功能配置了强口令
1、编辑Tomcat根目录下的配置文件conf/tomcat-user.xml,修改user节点的password属性值为复杂密码, 密码应符合复杂性要求:
1、长度8位以上
2、包含以下四类字符中的三类字符:
英文大写字母(A 到 Z)
英文小写字母(a 到 z)
10 个基本数字(0 到 9)
非字母字符(例如 !、$、#、%、@、^、&)
3、避免使用已公开的弱密码,如:abcd.1234 、admin@123等
禁止显示异常调试信息(生产环境建议关闭)
当请求处理期间发生运行时错误时,ApacheTomcat将向请求者显示调试信息。建议不要向请求者提供此类调试信息。
1、在Tomcat根目录下的conf/web.xml文件里面的web-app添加子节点:<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>,在webapps目录下创建error.jsp,定义自定义错误信息
禁止自动部署,配置自动部署,容易被部署恶意或未经测试的应用程序,应将其禁用
1、修改Tomcat 跟目录下的配置文件conf/server.xml,将host节点的autoDeploy属性设置为“false”,如果host的deployOnStartup属性(如没有deployOnStartup配置可以忽略)为“true”,则也将其更改为“false”
Tomcat目录权限检测
tomcat目录(catalina.home、 catalina.base目录)所有者应改为非administrator的运行用户
1、找到tomcat的catalina.base和catalina.home目录,右键点击属性
选择安全
选项卡,点击高级
,更改所有者为启动tomcat的用户。catalina.base和catalina.home,可以运行tomcat.exe print
查看到
删除项目无关文件和目录
Tomcat安装提供了示例应用程序、文档和其他可能不用于生产程序及目录,存在极大安全风险,建议移除
1、请删除Tomcat示例程序和目录、管理控制台等,即从Tomcat根目录的webapps目录,移出或删除docs、examples、host-manager、manager目录。
Tomcat进程运行权限检测
在运行服务时,最好尽可能避免使用administrator或system用户运行,降低攻击者拿到服务器控制权限的机会。
1.新建一个普通用户用于启动tomcat
2.在tomcat/bin 目录下运行service.bat install将tomcat注册为服务
3.打开任务管理器选择服务
标签,右键tomcat服务,选择打开服务
4.右键Apache Tomcat 选择属性
,在登录
选项卡,点击此账户后的浏览,选择启动tomcat的用户