Tomcat中间件基线核查
字数 1436 2025-08-15 21:32:00
Tomcat中间件安全基线配置指南
1. 身份鉴别配置
1.1 用户账号管理
- 配置要求:应启用身份鉴别,用户身份标识唯一性检查,用户身份鉴别信息复杂度检查以及登录失败处理功能
- 实施步骤:
- 修改
tomcat-users.xml配置文件 - 添加至少两个账号,避免账号共享
- 配置示例:
<user username="admin1" password="ComplexPwd123!" roles="manager-gui"/> <user username="admin2" password="SecurePwd456@" roles="admin"/>
- 修改
1.2 密码复杂度要求
- 配置要求:密码长度不小于8位且包括数字、小写字母、大写字母和特殊符号中至少两类
- 实施步骤:
- 在
tomcat-users.xml中设置符合要求的密码 - 密码示例:
P@ssw0rd、Secur3!ty
- 在
2. 访问控制配置
2.1 HTTP方法限制
- 配置要求:禁用非法HTTP方法
- 实施步骤:
- 编辑
web.xml文件 - 配置
DefaultServlet的readonly参数:<init-param> <param-name>readonly</param-name> <param-value>true</param-value> </init-param> - 设置为
true时,将不允许DELETE和PUT操作
- 编辑
2.2 Manager应用安全
- 配置要求:修改Tomcat Manager文件夹名称
- 实施步骤:
- 将
$CATALINA_HOME/server/webapps/manager目录 - 移动到非
$CATALINA_HOME/server/webapps目录
- 将
2.3 默认端口修改
- 配置要求:更改Tomcat服务器默认端口
- 实施步骤:
- 修改
server.xml文件 - 更改默认管理端口8080到其他端口(如8800):
<Connector port="8800" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="300" disableUploadTimeout="true"/>
- 修改
2.4 目录列表禁止
- 配置要求:禁止Tomcat列表显示文件
- 实施步骤:
- 编辑
web.xml文件 - 修改
listings参数:<init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param>
- 编辑
2.5 超级用户限制
- 配置要求:禁用超级用户启用Tomcat
- 实施步骤:
- 测试在超级用户模式下是否能启用Tomcat
- 如果可以通过超级用户启用,建议改为普通用户运行Tomcat
2.6 服务关闭保护
- 配置要求:设置防止恶意关闭Tomcat服务
- 实施步骤:
- 打开
server.xml文件 - 设置复杂的shutdown字符串:
<Server port="8005" shutdown="ComplexShutdownString@123">
- 打开
2.7 最小权限原则
- 配置要求:授予不同帐户为完成各自承担任务所需的最小权限
- 实施步骤:
- 修改
tomcat-users.xml中的用户角色权限 - 示例配置:
<user username="tomcat" password="SecurePwd789!" roles="manager">
- 修改
2.8 HTTPS加密配置
- 配置要求:支持使用HTTPS加密协议
- 实施步骤:
- 修改
server.xml文件 - 增加HTTPS连接器配置:
<Connector classname="org.apache.catalina.http.HttpConnector" port="8443" minProcessors="5" maxprocessors="100" enableLookups="true" acceptCount="10" debug="0" scheme="https" secure="true"> <Factory classname="org.apache.catalina.SSLServerSocketFactory" clientAuth="false" keystoreFile="/path/to/my/keystore" keystorePass="runway" protocol="TLS"/> </Connector>
- 修改
3. 安全审计配置
3.1 访问日志记录
- 配置要求:配置日志功能,对用户登录进行记录
- 实施步骤:
- 编辑
server.xml文件 - 在
<Host>标签中取消以下内容的注释:<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
- 编辑
4. 软件容错配置
4.1 错误页面重定向
- 配置要求:配置Tomcat错误页面重定向
- 实施步骤:
- 编辑
web.xml文件 - 添加错误页面配置:
<error-page> <error-code>404</error-code> <location>/error-page.html</location> </error-page> <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/error-page.html</location> </error-page>
- 编辑
5. 资源控制配置
5.1 连接超时设置
- 配置要求:自动登出时间不大于30秒
- 实施步骤:
- 编辑
server.xml文件 - 修改连接超时时间为30000毫秒(30秒):
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="30000" disableUploadTimeout="true"/>
- 编辑
5.2 并发连接数限制
- 配置要求:根据机器性能和业务需求设置最小和最大连接数
- 实施步骤:
- 最小连接数设置(
server.xml):<Connector port="8080" minSpareThreads="25" .../> - 最大连接数设置(
server.xml):<Connector port="8080" maxThreads="150" .../>
- 最小连接数设置(
注意事项
- Windows和Linux系统下的路径表示方式不同,但配置内容相同
- 所有配置修改后需要重启Tomcat服务才能生效
- 建议在修改配置文件前进行备份
- 根据实际业务需求调整参数值,特别是连接数相关参数