管理接口与遗留控制台
WildFly 与 JBoss EAP 的管理控制台默认在 9990 端口;更早期的 JBoss AS 还附带 /jmx-console、/web-console 这类管理应用,历史上多个未授权访问与反序列化问题正是从这些入口进入。老系统迁移或长期未升级时,这类遗留入口最容易被遗忘:文档里查不到,deployments 目录里还在,重启后还会被自动部署。
基本信息
| 适用组件 | WildFly、JBoss EAP,以及遗留的 JBoss AS |
|---|---|
| 默认端口 | 9990 管理控制台,8080 应用端口 |
| 账号配置 | mgmt-users.properties 保存管理用户 |
| 主要风险 | 遗留 console 应用、管理接口绑定 0.0.0.0、弱口令、版本长期未升级 |
| 检查方式 | 查看端口监听与 deployments 目录内容 |
| 处置方向 | 删除遗留应用、绑定管理网卡、最小化账号、跟进公告升级 |
核查项与期望
| 核查项 | 检查方式 | 期望状态 |
|---|---|---|
| 端口监听 | ss -lntp 查看 9990 与 8080 | 管理端口仅管理网段可访问 |
| 遗留应用 | 查看 standalone/deployments | 无 jmx-console、web-console 等应用 |
| 管理账号 | 核对 mgmt-users.properties | 仅必要账号,无默认用户 |
| 绑定地址 | 检查管理接口配置 | 绑定管理网卡,不绑全部网卡 |
| 组件版本 | 与安全公告比对 | 处于受支持版本 |
| 部署目录写权 | 检查目录属主与权限 | 仅运维账号可写 |
核查命令
核查命令
ss -lntp | grep -E '9990|8080'
# 查看已部署应用,确认是否存在遗留 console
find $JBOSS_HOME/standalone/deployments -maxdepth 1 -name '*.war*' 2>/dev/null
# 管理账号存放在 mgmt-users.properties,核对用户名清单
grep -v '^#' $JBOSS_HOME/standalone/configuration/mgmt-users.properties | cut -d= -f1收敛要点
收敛要点
1. 删除或停用遗留 console 应用(jmx-console、web-console)
2. 管理接口绑定管理网卡,避免绑定 0.0.0.0
3. 管理用户按最小集合保留,口令强随机并定期轮换
4. 跟进 Red Hat 安全公告中的组件升级要求
5. 关闭不需要的远程管理渠道,并审计管理登录记录典型使用场景
- 老系统接管与迁移前的暴露面摸底
- 季度巡检中的中间件管理接口核查
- 渗透测试报告里未授权管理入口的整改
- 版本升级与安全公告跟进的落地检查
- 应急时确认是否有新部署的可疑应用
- 审计举证:给出管理账号清单与权限归属
老系统迁移前遗留的管理应用最容易被遗忘,直接检查 deployments 目录是最快的核对方式,比翻文档和配置更可靠。
部署目录能被写入就等于能部署应用。管理接口与部署目录的写权限都应按运维通道的标准管控,而不是按普通业务目录对待。