首页/安全/漏洞与攻击面速查/Tomcat Manager 与部署接口风险
主机与服务风险面53 条

Tomcat Manager 与部署接口风险

Tomcat 的 manager/html 等管理应用允许部署 WAR;弱口令或暴露公网会让管理界面成为直接部署入口;样例应用与管理应用在生产环境建议移除。

漏洞与攻击面速查安全更新于 2026-10-13

管理应用为什么危险

Tomcat 自带的 manager 与 host-manager 允许通过 Web 界面部署 WAR 包、查看并停止应用,examples 与 docs 则是随发行版附带的样例与文档应用。管理应用配合弱口令或公网暴露,等于给出一个现成的部署入口:上传一个 WAR 就能获得代码执行。生产环境建议移除样例与管理应用;确需保留时,加强认证并限制来源地址。

基本信息

组件Apache Tomcat,涉及 manager、host-manager、examples、docs 应用
默认端口8080,以实际部署配置为准
主要风险默认或弱口令、管理界面公网暴露、样例应用未清理
直接后果通过部署 WAR 获得服务器上的代码执行
加固要点移除样例应用、强口令、IP 白名单、管理端口不对公网开放
检查方式访问 /manager/html、/examples/ 等路径确认返回码

路径与处理

路径说明处理建议
/manager/htmlWeb 管理界面,可部署 WAR生产移除,或加 IP 白名单
/host-manager/html虚拟主机管理界面与 manager 同等对待
/manager/status运行状态与线程信息按管理应用统一处理
/examples/随发行版附带的样例应用生产环境直接删除
/docs/随发行版附带的文档生产环境直接删除
/manager/text供脚本调用的管理接口关闭或严格限制来源

加固要点

加固要点
1. 生产环境删除 webapps 下的 docs、examples、manager、host-manager
2. 必须保留管理应用时:强口令 + IP 白名单(RemoteAddrValve)
3. 管理端口不对公网开放,或仅内网管理网段可访问
4. 升级到受支持的 Tomcat 版本,关注安全公告
5. tomcat-users.xml 只保留必要角色(manager-gui 等),并定期轮换口令

IP 白名单配置示例(context.xml)

IP 白名单配置示例(context.xml)
<Context>
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="10\.0\.0\.\d+|127\.0\.0\.1" />
</Context>
<!-- 放在管理应用的 META-INF/context.xml 中,对该应用生效 -->
<!-- 正则要写全,避免宽匹配把整段网络放行 -->

典型使用场景

  • 应用服务器上线前的样例应用清理
  • 巡检时批量确认管理路径的返回码
  • 渗透测试报告里管理界面暴露问题的整改
  • 接管老系统时的暴露面摸底
  • 版本升级后复核配置是否被新包覆盖
  • 审计举证:说明谁持有管理角色与权限
tomcat-users.xml 中管理角色(manager-gui 等)只授予必要账号并定期轮换口令。能通过配置管理统一下发就不要手改服务器上的文件,避免下次发布被覆盖。
只要能登录管理界面并部署 WAR,就等价于在该服务器上执行代码。管理界面的防护等级应当按运维通道对待,而不是按普通业务页面。

易错点

  • 只改管理口令不限制来源:管理界面在公网时持续被自动化字典尝试
  • 删除了 manager 却忘记 examples 与 host-manager,仍有可达的样例入口
  • IP 白名单正则写得太宽,等于放行整个网段,限制作用消失
  • 手工改了白名单,下次发布由配置管理下发旧版本时被覆盖回去
  • 保留管理应用却仍用默认的 manager 类口令组合,等于直接开放部署入口

数据来源与参考

  • Apache Tomcat 官方文档(Manager App How-To、Security)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌