Tomcat中间件基线核查
字数 1311 2025-08-15 21:32:00

Tomcat中间件安全基线配置指南

一、身份鉴别

1.1 用户账号管理

  • 要求:应启用身份鉴别、用户身份标识唯一性检查、用户身份鉴别信息复杂度检查以及登录失败处理功能
  • 配置方法
    1. 修改tomcat-users.xml配置文件
    2. 为每个用户分配独立账号,避免账号共享
    3. 至少配置两个账号(管理员和普通用户)

示例配置

<user username="tomcat" password="testPasswd&" roles="admin"/>

1.2 密码复杂度要求

  • 要求:密码长度不小于8位且包括数字、小写字母、大写字母和特殊符号中至少两类
  • 配置方法
    tomcat-users.xml中设置符合复杂度要求的密码

二、访问控制

2.1.1 禁用非法HTTP方法

  • 配置方法
    编辑web.xml文件,配置DefaultServletreadonly参数为true
<init-param>
  <param-name>readonly</param-name>
  <param-value>true</param-value>
</init-param>

2.1.2 修改manager文件夹名称

  • 配置方法
    将默认的manager文件夹重命名为其他名称,如:
    C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\managerC:\...\webapps\XXX

2.1.3 更改默认端口

  • 配置方法
    修改server.xml文件中的Connector端口:
<Connector port="新的端口" protocol="HTTP/1.1" 
           connectionTimeout="300" redirectPort="8443" />

2.1.4 禁止目录列表显示

  • 配置方法
    编辑web.xml文件,将listings参数值改为false
<init-param>
  <param-name>listings</param-name>
  <param-value>false</param-value>
</init-param>

2.2.1 禁用超级用户启动Tomcat

  • 要求:禁止使用root/administrator等超级用户启动Tomcat
  • 配置方法:创建专用普通用户来运行Tomcat服务

2.2.2 防止恶意关闭服务

  • 配置方法
    server.xml中设置复杂的shutdown字符串:
<Server port="8005" shutdown="复杂的字符串">

2.3 最小权限原则

  • 配置方法
    tomcat-users.xml中为用户分配最小必要权限:
<user username="tomcat" password="***" roles="manager"/>

2.4 HTTPS加密配置

  • 配置步骤
    1. 使用keytool生成证书:
      keytool -genkey -alias tbb -keyalg RSA -keystore d:\tbb.keystore
      
    2. 创建自签名证书:
      keytool -selfcert -alias tbb -keystore d:\tbb.keystore
      
    3. 导出证书:
      keytool -export -alias tbb -keystore d:\tbb.keystore -storepass 123456 -rfc -file d:\tbb.cer
      
    4. 修改server.xml配置HTTPS连接器:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystorePass="your passwd" keystoreFile="your keystore"/>

三、安全审计

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.1 错误页面重定向

  • 配置方法
    web.xml中配置错误页面:
<error-page>
  <error-code>404</error-code>
  <location>/错误页面</location>
</error-page>
<error-page>
  <exception-type>java.lang.NullPointerException</exception-type>
  <location>/错误页面</location>
</error-page>

五、资源控制

5.1 连接超时设置

  • 要求:连接超时时间应大于0且不大于默认60秒(60000毫秒)
  • 配置方法
    修改server.xml中的connectionTimeout参数:
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="xxx" redirectPort="8443" />

5.2 连接数限制

5.2.1 最小连接数设置

  • 配置方法
    server.xml中设置minSpareThreads
<Connector port="8080" minSpareThreads="25" .../>

5.2.2 最大连接数设置

  • 配置方法
    server.xml中设置maxThreads
<Connector port="8080" maxThreads="150".../>

总结

本指南涵盖了Tomcat中间件的全面安全配置要求,包括身份鉴别、访问控制、安全审计、软件容错和资源控制五个方面。实施这些安全措施可以显著提高Tomcat服务器的安全性,减少潜在的安全风险。建议管理员根据实际业务需求和服务器性能,适当调整各项参数值。

Tomcat中间件安全基线配置指南 一、身份鉴别 1.1 用户账号管理 要求 :应启用身份鉴别、用户身份标识唯一性检查、用户身份鉴别信息复杂度检查以及登录失败处理功能 配置方法 : 修改 tomcat-users.xml 配置文件 为每个用户分配独立账号,避免账号共享 至少配置两个账号(管理员和普通用户) 示例配置 : 1.2 密码复杂度要求 要求 :密码长度不小于8位且包括数字、小写字母、大写字母和特殊符号中至少两类 配置方法 : 在 tomcat-users.xml 中设置符合复杂度要求的密码 二、访问控制 2.1.1 禁用非法HTTP方法 配置方法 : 编辑 web.xml 文件,配置 DefaultServlet 的 readonly 参数为 true 2.1.2 修改manager文件夹名称 配置方法 : 将默认的 manager 文件夹重命名为其他名称,如: C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\manager → C:\...\webapps\XXX 2.1.3 更改默认端口 配置方法 : 修改 server.xml 文件中的 Connector 端口: 2.1.4 禁止目录列表显示 配置方法 : 编辑 web.xml 文件,将 listings 参数值改为 false 2.2.1 禁用超级用户启动Tomcat 要求 :禁止使用root/administrator等超级用户启动Tomcat 配置方法 :创建专用普通用户来运行Tomcat服务 2.2.2 防止恶意关闭服务 配置方法 : 在 server.xml 中设置复杂的shutdown字符串: 2.3 最小权限原则 配置方法 : 在 tomcat-users.xml 中为用户分配最小必要权限: 2.4 HTTPS加密配置 配置步骤 : 使用keytool生成证书: 创建自签名证书: 导出证书: 修改 server.xml 配置HTTPS连接器: 三、安全审计 3.1 访问日志配置 配置方法 : 在 server.xml 的 <Host> 标签中启用访问日志: 四、软件容错 4.1 错误页面重定向 配置方法 : 在 web.xml 中配置错误页面: 五、资源控制 5.1 连接超时设置 要求 :连接超时时间应大于0且不大于默认60秒(60000毫秒) 配置方法 : 修改 server.xml 中的 connectionTimeout 参数: 5.2 连接数限制 5.2.1 最小连接数设置 配置方法 : 在 server.xml 中设置 minSpareThreads : 5.2.2 最大连接数设置 配置方法 : 在 server.xml 中设置 maxThreads : 总结 本指南涵盖了Tomcat中间件的全面安全配置要求,包括身份鉴别、访问控制、安全审计、软件容错和资源控制五个方面。实施这些安全措施可以显著提高Tomcat服务器的安全性,减少潜在的安全风险。建议管理员根据实际业务需求和服务器性能,适当调整各项参数值。