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

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

1. 身份鉴别配置

1.1 用户账号管理

  • 配置要求:应启用身份鉴别,用户身份标识唯一性检查,用户身份鉴别信息复杂度检查以及登录失败处理功能
  • 实施步骤
    1. 修改tomcat-users.xml配置文件
    2. 添加至少两个账号,避免账号共享
    3. 配置示例:
      <user username="admin1" password="ComplexPwd123!" roles="manager-gui"/>
      <user username="admin2" password="SecurePwd456@" roles="admin"/>
      

1.2 密码复杂度要求

  • 配置要求:密码长度不小于8位且包括数字、小写字母、大写字母和特殊符号中至少两类
  • 实施步骤
    1. tomcat-users.xml中设置符合要求的密码
    2. 密码示例:P@ssw0rdSecur3!ty

2. 访问控制配置

2.1 HTTP方法限制

  • 配置要求:禁用非法HTTP方法
  • 实施步骤
    1. 编辑web.xml文件
    2. 配置DefaultServletreadonly参数:
      <init-param>
        <param-name>readonly</param-name>
        <param-value>true</param-value>
      </init-param>
      
    3. 设置为true时,将不允许DELETE和PUT操作

2.2 Manager应用安全

  • 配置要求:修改Tomcat Manager文件夹名称
  • 实施步骤
    1. $CATALINA_HOME/server/webapps/manager目录
    2. 移动到非$CATALINA_HOME/server/webapps目录

2.3 默认端口修改

  • 配置要求:更改Tomcat服务器默认端口
  • 实施步骤
    1. 修改server.xml文件
    2. 更改默认管理端口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列表显示文件
  • 实施步骤
    1. 编辑web.xml文件
    2. 修改listings参数:
      <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
      </init-param>
      

2.5 超级用户限制

  • 配置要求:禁用超级用户启用Tomcat
  • 实施步骤
    1. 测试在超级用户模式下是否能启用Tomcat
    2. 如果可以通过超级用户启用,建议改为普通用户运行Tomcat

2.6 服务关闭保护

  • 配置要求:设置防止恶意关闭Tomcat服务
  • 实施步骤
    1. 打开server.xml文件
    2. 设置复杂的shutdown字符串:
      <Server port="8005" shutdown="ComplexShutdownString@123">
      

2.7 最小权限原则

  • 配置要求:授予不同帐户为完成各自承担任务所需的最小权限
  • 实施步骤
    1. 修改tomcat-users.xml中的用户角色权限
    2. 示例配置:
      <user username="tomcat" password="SecurePwd789!" roles="manager">
      

2.8 HTTPS加密配置

  • 配置要求:支持使用HTTPS加密协议
  • 实施步骤
    1. 修改server.xml文件
    2. 增加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 访问日志记录

  • 配置要求:配置日志功能,对用户登录进行记录
  • 实施步骤
    1. 编辑server.xml文件
    2. <Host>标签中取消以下内容的注释:
      <Valve className="org.apache.catalina.valves.AccessLogValve" 
             directory="logs" prefix="localhost_access_log." 
             suffix=".txt" pattern="common" resolveHosts="false"/>
      

4. 软件容错配置

4.1 错误页面重定向

  • 配置要求:配置Tomcat错误页面重定向
  • 实施步骤
    1. 编辑web.xml文件
    2. 添加错误页面配置:
      <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秒
  • 实施步骤
    1. 编辑server.xml文件
    2. 修改连接超时时间为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 并发连接数限制

  • 配置要求:根据机器性能和业务需求设置最小和最大连接数
  • 实施步骤
    1. 最小连接数设置(server.xml):
      <Connector port="8080" minSpareThreads="25" .../>
      
    2. 最大连接数设置(server.xml):
      <Connector port="8080" maxThreads="150" .../>
      

注意事项

  1. Windows和Linux系统下的路径表示方式不同,但配置内容相同
  2. 所有配置修改后需要重启Tomcat服务才能生效
  3. 建议在修改配置文件前进行备份
  4. 根据实际业务需求调整参数值,特别是连接数相关参数
Tomcat中间件安全基线配置指南 1. 身份鉴别配置 1.1 用户账号管理 配置要求 :应启用身份鉴别,用户身份标识唯一性检查,用户身份鉴别信息复杂度检查以及登录失败处理功能 实施步骤 : 修改 tomcat-users.xml 配置文件 添加至少两个账号,避免账号共享 配置示例: 1.2 密码复杂度要求 配置要求 :密码长度不小于8位且包括数字、小写字母、大写字母和特殊符号中至少两类 实施步骤 : 在 tomcat-users.xml 中设置符合要求的密码 密码示例: P@ssw0rd 、 Secur3!ty 2. 访问控制配置 2.1 HTTP方法限制 配置要求 :禁用非法HTTP方法 实施步骤 : 编辑 web.xml 文件 配置 DefaultServlet 的 readonly 参数: 设置为 true 时,将不允许DELETE和PUT操作 2.2 Manager应用安全 配置要求 :修改Tomcat Manager文件夹名称 实施步骤 : 将 $CATALINA_HOME/server/webapps/manager 目录 移动到非 $CATALINA_HOME/server/webapps 目录 2.3 默认端口修改 配置要求 :更改Tomcat服务器默认端口 实施步骤 : 修改 server.xml 文件 更改默认管理端口8080到其他端口(如8800): 2.4 目录列表禁止 配置要求 :禁止Tomcat列表显示文件 实施步骤 : 编辑 web.xml 文件 修改 listings 参数: 2.5 超级用户限制 配置要求 :禁用超级用户启用Tomcat 实施步骤 : 测试在超级用户模式下是否能启用Tomcat 如果可以通过超级用户启用,建议改为普通用户运行Tomcat 2.6 服务关闭保护 配置要求 :设置防止恶意关闭Tomcat服务 实施步骤 : 打开 server.xml 文件 设置复杂的shutdown字符串: 2.7 最小权限原则 配置要求 :授予不同帐户为完成各自承担任务所需的最小权限 实施步骤 : 修改 tomcat-users.xml 中的用户角色权限 示例配置: 2.8 HTTPS加密配置 配置要求 :支持使用HTTPS加密协议 实施步骤 : 修改 server.xml 文件 增加HTTPS连接器配置: 3. 安全审计配置 3.1 访问日志记录 配置要求 :配置日志功能,对用户登录进行记录 实施步骤 : 编辑 server.xml 文件 在 <Host> 标签中取消以下内容的注释: 4. 软件容错配置 4.1 错误页面重定向 配置要求 :配置Tomcat错误页面重定向 实施步骤 : 编辑 web.xml 文件 添加错误页面配置: 5. 资源控制配置 5.1 连接超时设置 配置要求 :自动登出时间不大于30秒 实施步骤 : 编辑 server.xml 文件 修改连接超时时间为30000毫秒(30秒): 5.2 并发连接数限制 配置要求 :根据机器性能和业务需求设置最小和最大连接数 实施步骤 : 最小连接数设置( server.xml ): 最大连接数设置( server.xml ): 注意事项 Windows和Linux系统下的路径表示方式不同,但配置内容相同 所有配置修改后需要重启Tomcat服务才能生效 建议在修改配置文件前进行备份 根据实际业务需求调整参数值,特别是连接数相关参数