如何让Tomcat更强壮
字数 1452 2025-08-18 11:38:22

Tomcat服务器安全加固指南

1. 不安全的HTTP请求方法加固

漏洞描述
Tomcat默认支持多种HTTP请求方法(如OPTIONS、TRACE等),这些方法可能被攻击者利用进行信息收集或攻击。

加固方案

  1. 修改web.xml文件,添加以下内容:
<security-constraint>
    <web-resource-collection>
        <url-pattern>/*</url-pattern>
        <http-method>PUT</http-method>
        <http-method>DELETE</http-method>
        <http-method>HEAD</http-method>
        <http-method>OPTIONS</http-method>
        <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint></auth-constraint>
</security-constraint>
  1. 重启Tomcat服务使配置生效
  2. 验证:使用OPTIONS方法请求应返回403错误

2. 慢速DoS攻击防护

漏洞描述
攻击者通过保持长时间连接消耗服务器资源,实施慢速DoS攻击。

加固建议
修改server.xml文件中的连接超时参数:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="5000" 
           ... />
  • connectionTimeout从默认的20000ms(20秒)改为5000ms(5秒)
  • 此参数表示建立连接后,如果既收不到客户端的FIN也没有数据,此连接会在设定时间后被超时释放

3. 目录文件列出漏洞修复

漏洞描述
Tomcat可能配置不当导致目录内容被列出,泄露敏感信息。

加固建议
修改web.xml中的listings参数:

<init-param>
    <param-name>listings</param-name>
    <param-value>false</param-value>
</init-param>
  • Tomcat 8.0+默认已屏蔽目录列出
  • 确保<param-value>设置为false

4. 默认管理路径安全

漏洞描述
Tomcat存在默认管理路径(如/manager/html),易被暴力破解。

加固建议

  1. 修改默认8080端口:
    server.xml中修改:
    <Connector port="9999" protocol="HTTP/1.1"
               ... />
    
  2. 重启Tomcat服务
  3. 考虑删除或重命名默认管理应用(如manager、host-manager)

5. 自定义错误页面配置

漏洞描述
系统报错时可能泄露敏感信息,包括服务器版本、路径等。

加固建议

  1. web.xml中添加错误页面配置:
<error-page>
    <error-code>404</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>500</error-code>
    <location>/error.html</location>
</error-page>
  1. webapps/ROOT目录下创建error.html自定义错误页面

6. 版本信息泄露防护

漏洞描述
错误页面会泄露Tomcat版本信息,帮助攻击者寻找对应漏洞。

加固建议

  1. 进入tomcat/lib目录,找到catalina.jar
  2. 使用压缩工具打开,进入org/apache/catalina/util目录
  3. 编辑ServerInfo.properties文件,修改以下内容:
server.info=Apache Tomcat
server.number=8.5.x
server.built=Unknown
  1. 保存修改并更新jar包
  2. 重启Tomcat服务

7. 关闭War包自动部署

漏洞描述
自动部署功能可能被攻击者利用上传恶意war包。

加固建议
修改conf/server.xml文件:

<Host name="localhost" appBase="webapps"
      unpackWARs="false" autoDeploy="false">
  • unpackWARsautoDeploy从默认的true改为false
  • 此配置会禁用自动部署功能

8. 日志配置增强(附加建议)

加固建议
修改conf/server.xml中的日志配置:

<Valve className="org.apache.catalina.valves.AccessLogValve"
       directory="logs"
       prefix="localhost_access_log"
       suffix=".txt"
       pattern="%h %l %u %t &quot;%r&quot; %s %b" />

可根据需求调整:

  • directory:日志存储位置
  • prefix:日志名前缀
  • suffix:日志名后缀
  • pattern:日志记录格式

总结加固步骤

  1. 限制HTTP方法 (web.xml)
  2. 设置连接超时 (server.xml)
  3. 禁用目录列出 (web.xml)
  4. 修改默认端口和管理路径 (server.xml)
  5. 配置自定义错误页面 (web.xml + error.html)
  6. 隐藏版本信息 (catalina.jar)
  7. 关闭自动部署 (server.xml)
  8. 增强日志记录 (server.xml)

重要提示:所有配置修改后都需要重启Tomcat服务才能生效。建议在修改前备份相关配置文件,并在测试环境验证后再应用到生产环境。

Tomcat服务器安全加固指南 1. 不安全的HTTP请求方法加固 漏洞描述 : Tomcat默认支持多种HTTP请求方法(如OPTIONS、TRACE等),这些方法可能被攻击者利用进行信息收集或攻击。 加固方案 : 修改 web.xml 文件,添加以下内容: 重启Tomcat服务使配置生效 验证:使用OPTIONS方法请求应返回403错误 2. 慢速DoS攻击防护 漏洞描述 : 攻击者通过保持长时间连接消耗服务器资源,实施慢速DoS攻击。 加固建议 : 修改 server.xml 文件中的连接超时参数: 将 connectionTimeout 从默认的20000ms(20秒)改为5000ms(5秒) 此参数表示建立连接后,如果既收不到客户端的FIN也没有数据,此连接会在设定时间后被超时释放 3. 目录文件列出漏洞修复 漏洞描述 : Tomcat可能配置不当导致目录内容被列出,泄露敏感信息。 加固建议 : 修改 web.xml 中的 listings 参数: Tomcat 8.0+默认已屏蔽目录列出 确保 <param-value> 设置为 false 4. 默认管理路径安全 漏洞描述 : Tomcat存在默认管理路径(如/manager/html),易被暴力破解。 加固建议 : 修改默认8080端口: 在 server.xml 中修改: 重启Tomcat服务 考虑删除或重命名默认管理应用(如manager、host-manager) 5. 自定义错误页面配置 漏洞描述 : 系统报错时可能泄露敏感信息,包括服务器版本、路径等。 加固建议 : 在 web.xml 中添加错误页面配置: 在 webapps/ROOT 目录下创建 error.html 自定义错误页面 6. 版本信息泄露防护 漏洞描述 : 错误页面会泄露Tomcat版本信息,帮助攻击者寻找对应漏洞。 加固建议 : 进入 tomcat/lib 目录,找到 catalina.jar 使用压缩工具打开,进入 org/apache/catalina/util 目录 编辑 ServerInfo.properties 文件,修改以下内容: 保存修改并更新jar包 重启Tomcat服务 7. 关闭War包自动部署 漏洞描述 : 自动部署功能可能被攻击者利用上传恶意war包。 加固建议 : 修改 conf/server.xml 文件: 将 unpackWARs 和 autoDeploy 从默认的 true 改为 false 此配置会禁用自动部署功能 8. 日志配置增强(附加建议) 加固建议 : 修改 conf/server.xml 中的日志配置: 可根据需求调整: directory :日志存储位置 prefix :日志名前缀 suffix :日志名后缀 pattern :日志记录格式 总结加固步骤 限制HTTP方法 ( web.xml ) 设置连接超时 ( server.xml ) 禁用目录列出 ( web.xml ) 修改默认端口和管理路径 ( server.xml ) 配置自定义错误页面 ( web.xml + error.html ) 隐藏版本信息 ( catalina.jar ) 关闭自动部署 ( server.xml ) 增强日志记录 ( server.xml ) 重要提示 :所有配置修改后都需要重启Tomcat服务才能生效。建议在修改前备份相关配置文件,并在测试环境验证后再应用到生产环境。