JBoss
Categories:
4 分钟阅读
适用范围:JBoss AS、JBoss EAP、WildFly 单机和域模式场景。
不适用标识说明:
- 使用
【不适用】明确标记现场可判定为不适用的控制点。 - 判定依据采用 GB/T 28448-2019 的测评对象边界原则;若控制能力由上位平台、业务系统或主机层实现,应明确记录后再作不适用判断。
基础信息
核查命令:
ps -ef | grep -E "jboss|wildfly"
find . -name standalone.xml -o -name domain.xml
bin/standalone.sh --version 2>/dev/null
- 备注:先确认安装路径、运行用户、版本、独立模式或域模式、管理地址、日志目录。
- 预期证据:版本截图、进程截图、配置目录截图、端口截图。
示例输出(节选)
ps -ef | grep jboss(节选)
jboss 11101 java -D[Standalone] -jar jboss-modules.jar
find . -name standalone.xml
standalone/configuration/standalone.xml
bin/standalone.sh --version
JBoss EAP 7.4.12.GA (WildFly Core 15.0.18.Final)
身份鉴别
A. 管理控制台与 CLI 入口
核查命令:
grep -R "management-interfaces\\|http-interface" standalone/configuration domain/configuration 2>/dev/null
- 备注:重点核查管理控制台、CLI 端口和管理地址是否受控。
- 预期证据:管理地址截图、登录页截图、配置截图。
示例输出(节选)
grep management-interfaces standalone/configuration(节选)
<management-interfaces>
<http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
<socket-binding http="management-http"/>
(管理接口绑定 management-http,仅 127.0.0.1/内网可达)
B. 管理账户
核查命令:
find . -name mgmt-users.properties -o -name application-users.properties
- 备注:原始资料重点为
jmx-console-roles.properties、jmx-console-users.properties、web.xml、server.xml,现场还应关注管理账户文件与认证配置。 - 预期证据:账户文件截图、用户台账、访谈记录。
示例输出(节选)
find . -name mgmt-users.properties
standalone/configuration/mgmt-users.properties
domain/configuration/application-users.properties
(用户口令以 HEX(MD5(user:realm:password)) 存储,无明文)
C. 口令策略与锁定
核查命令:
grep -R "security-realm\\|ldap\\|authentication" standalone/configuration domain/configuration 2>/dev/null
- 备注:JBoss/WildFly 口令复杂度和锁定策略常依赖外部目录或管理平台,应按等效控制判断。
- 预期证据:认证配置截图、统一认证平台截图、制度。
示例输出(节选)
grep security-realm/ldap standalone/configuration(节选)
<security-realm name="LdapRealm">
<authentication><ldap connection="demo-ldap" base-dn="ou=users,dc=demo,dc=local"/></authentication>
(管理面接入企业 LDAP 统一认证)
D. 会话与 HTTPS
核查命令:
grep -R "ssl\\|https\\|secure-socket-binding" standalone/configuration domain/configuration 2>/dev/null
- 备注:管理控制台应尽量通过 HTTPS、堡垒机、VPN 或内网专线访问。
- 【不适用】如现场未启用管理控制台或控制台已下线,仅保留受控 CLI/脚本运维,则“管理登录会话超时”对 JBoss 组件可判定为不适用。依据:GB/T 28448-2019 身份鉴别控制点应基于实际存在的登录交互面。
- 预期证据:HTTPS 截图、证书截图、远程运维制度。
示例输出(节选)
grep https-listener standalone/configuration(节选)
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
(对外仅 HTTPS,http-listener 已移除)
访问控制
A. 管理接口限制
核查命令:
grep -R "inet-address\\|any-address" standalone/configuration domain/configuration 2>/dev/null
- 备注:如绑定
0.0.0.0,应特别核查网络侧是否有限制。 - 预期证据:监听地址截图、网络 ACL 材料。
示例输出(节选)
grep inet-address standalone/configuration(节选)
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
<inet-address value="${jboss.bind.address:192.168.10.91}"/>
(管理接口默认仅回环地址)
B. 角色与授权
核查命令:
grep -R "role-mapping\\|rbac" standalone/configuration domain/configuration 2>/dev/null
- 备注:应核查管理员、操作员、监控角色是否分离。
- 预期证据:角色配置截图、审批记录。
示例输出(节选)
grep role-mapping standalone/configuration(节选)
<role-mapping><role name="Administrator"><include><name value="wl-admin"/></include></role></role-mapping>
(RBAC 启用,Administrator/Operator/Monitor 分级授权)
C. 默认应用与测试组件
核查命令:
find standalone/deployments domain/deployments -maxdepth 1 2>/dev/null
- 备注:默认控制台、示例应用、测试应用应清理或限制。
- 预期证据:部署目录截图、处置说明。
示例输出(节选)
standalone/deployments:
demo-app.war
README.txt
(仅部署业务应用,无自带示例残留)
D. 文件权限
核查命令:
ls -ld standalone domain
find standalone/configuration -maxdepth 1 -type f -exec ls -l {} \\
2>/dev/null
- 备注:配置目录、日志目录和部署目录权限应最小化,运行用户不宜过高。
- 预期证据:权限截图、运行用户截图。
示例输出(节选)
drwxr-xr-x jboss jboss standalone
-rw-r----- jboss jboss standalone/configuration/standalone.xml
-rw------- jboss jboss standalone/configuration/mgmt-users.properties
(配置文件权限合规)
安全审计
A. 日志配置
核查命令:
grep -R "periodic-rotating-file-handler\\|size-rotating-file-handler\\|access-log" standalone/configuration domain/configuration 2>/dev/null
- 备注:核查是否启用访问日志、错误日志、管理日志和轮转策略。
- 预期证据:日志配置截图、日志目录截图。
示例输出(节选)
grep periodic-rotating standalone/configuration(节选)
<size-rotating-file-handler name="FILE" rotate-size="50m" max-backup-index="10"/>
<periodic-rotating-file-handler name="ACCESS" suffix=".yyyy-MM-dd"/>
(server.log 按大小滚动保留 10 份,access 按日滚动)
B. 管理与访问日志
核查命令:
find standalone/log -type f 2>/dev/null
find domain/servers -path "*log*" -type f 2>/dev/null
- 备注:现场要能区分管理操作、访问请求和系统错误日志。
- 预期证据:日志样例截图、平台材料。
示例输出(节选)
find standalone/log
standalone/log/server.log
standalone/log/server.log.1.gz
standalone/log/access_log.2026-08-24
(日志完整可查,纳入集中采集)
C. 留存与轮转
核查命令:
grep -R "suffix\\|rotate-size\\|max-backup-index" standalone/configuration domain/configuration 2>/dev/null
- 备注:保留期限、轮转数量和备份策略应有制度或访谈支撑。
- 预期证据:轮转配置截图、制度、访谈记录。
示例输出(节选)
grep rotate-size/max-backup-index standalone/configuration
rotate-size="50m"
max-backup-index="10"
suffix=".yyyy-MM-dd"
(轮转策略明确,配合外部清理保留 90 天)
D. 集中审计
核查命令:
grep -R "syslog\\|socket-handler" standalone/configuration domain/configuration 2>/dev/null
- 备注:如日志外发到平台,应补平台检索和告警证据。
- 预期证据:平台截图、告警截图。
示例输出(节选)
grep syslog standalone/configuration(节选)
<custom-handler name="SYSLOG" class="org.jboss.logmanager.handlers.SyslogHandler">
(server 日志同步转发 rsyslog 上送集中平台)
数据完整性
A. 配置完整性
核查命令:
ls -l standalone/configuration/standalone.xml 2>/dev/null
ls -l domain/configuration/domain.xml 2>/dev/null
- 备注:配置应纳入变更管理,域模式需关注多节点一致性。
- 预期证据:配置截图、变更单、发布记录。
示例输出(节选)
-rw-r----- jboss jboss standalone/configuration/standalone.xml
(主配置存在且权限合规,变更经 Git 管理)
B. 传输完整性
核查命令:
grep -R "https-listener\\|ssl-context" standalone/configuration domain/configuration 2>/dev/null
- 备注:管理面和敏感业务面如未启用加密,应记录风险或说明前置替代措施。
- 预期证据:SSL 参数截图、证书材料。
示例输出(节选)
grep https-listener standalone/configuration
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm"/>
(业务流量全量 HTTPS)
数据保密性
A. 管理与业务加密
核查命令:
grep -R "key-store\\|trust-store\\|credential-reference" standalone/configuration domain/configuration 2>/dev/null
- 备注:现场重点关注管理控制台、CLI、应用接口是否加密。
- 预期证据:HTTPS/证书截图、密钥库截图。
示例输出(节选)
grep credential-reference standalone/configuration(节选)
<credential-reference store="demo-store" alias="db-pass"/>
(口令经 Credential Store 加密引用,无明文)
B. 敏感配置保护
核查命令:
grep -R "password\\|secret\\|credential" standalone/configuration domain/configuration 2>/dev/null
- 备注:明文口令、密钥和数据源配置要重点核查。
- 预期证据:脱敏截图、密钥管理说明。
示例输出(节选)
grep password standalone/configuration(节选)
mgmt-users.properties: wl-admin=HEX(***)
credential-store: alias 引用加密条目
(未见明文口令)
备份恢复
A. 配置备份
核查命令:
find . -maxdepth 2 -type d | grep -i backup
- 备注:应覆盖配置、部署包、证书和脚本。
- 预期证据:备份目录截图、策略说明。
示例输出(节选)
find . -maxdepth 2 -type d | grep backup
backup-eap-20260801/
(每周 backupConfig 备份至独立目录)
B. 日志与部署备份
核查命令:
find standalone/log domain/servers -type f 2>/dev/null | head
- 备注:日志备份和归档按现场口径说明,关键部署包应可追溯恢复。
- 预期证据:归档截图、平台材料。
示例输出(节选)
find standalone/log domain/servers | head
standalone/log/server.log
standalone/log/access_log.2026-08-24
(日志纳入备份范围)
C. 恢复能力
核查命令:
find . -type f | grep -i "restore\\|recover"
- 备注:重点核查域恢复、节点重建、应用回滚或容器重建方案。
- 预期证据:恢复手册、演练记录、访谈记录。
示例输出(节选)
find . | grep restore|recover
scripts/restore-standalone.sh
backup-eap-20260801/standalone.tar.gz
(恢复脚本与最近备份包齐备,演练记录见台账)
剩余信息保护
A. 历史部署与临时文件
核查命令:
find . -type d | grep -E "tmp|temp|old|backup|data"
- 备注:停用应用、旧部署包、临时缓存应及时清理。
- 预期证据:目录截图、清理说明。
示例输出(节选)
find . -type d | grep tmp|old|backup
standalone/tmp/ standalone/data/ old-conf/
(tmp/data 运行期自动管理,old-conf 移出生产目录计划中)
B. 凭据残留
核查命令:
grep -R "password\\|secret\\|token" . 2>/dev/null
- 备注:启动脚本、配置、日志和历史文件中残留敏感信息应记录并整改。
- 预期证据:脱敏截图、整改说明。
示例输出(节选)
grep password/token .(节选)
mgmt-users.properties: HEX 哈希
logs/server.log: WFLYDM0101: authentication failed(无敏感明文)
个人信息保护
A. 日志中的个人信息
核查命令:
grep -R "mobile\\|phone\\|idcard\\|email\\|name" standalone/log domain/servers 2>/dev/null
- 备注:需结合业务应用判断个人信息是否被访问日志、异常日志、管理日志记录。
- 【不适用】若 JBoss 仅作为应用容器,中间件层不直接提供个人信息查询、展示、共享或导出能力,则该点对 JBoss 本体可判定为不适用。依据:GB/T 28448-2019 个人信息保护控制点按实际处理环节适用。
- 预期证据:日志截图、应用截图、访谈记录。
示例输出(节选)
grep mobile/logs(节选)
access_log.2026-08-24: GET /api/user?idcard=110***********1234
(身份证号已在应用侧脱敏输出)
B. 最小化授权与导出控制
核查命令:
find . -type f | grep -i "export\\|download"
- 备注:若应用提供后台导出、文件下载、调试接口,应核查越权和脱敏控制。
- 【不适用】若 JBoss 管理侧不承载个人信息导出与共享功能,则该点对中间件层可判定为不适用。依据:GB/T 28448-2019 按对象实际业务功能判定。
- 预期证据:权限截图、制度、访谈记录。
示例输出(节选)
find . | grep export|download
deployments/demo-app/export-api.jar
(导出功能由应用层鉴权)
入侵防范
A. 管理面与默认控制台暴露
核查命令:
grep -R "management-interfaces\\|jmx-console\\|console" standalone/configuration domain/configuration 2>/dev/null
- 备注:重点核查管理控制台、旧版
jmx-console、管理端口和默认界面暴露情况。 - 预期证据:配置截图、访问测试截图、网络材料。
示例输出(节选)
grep management-interfaces/console standalone/configuration(节选)
<http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
socket-binding management-http=9990(仅 127.0.0.1)
(无 jmx-console/web-console 暴露,管理口收敛)
B. 高危配置与默认组件
核查命令:
find . -type f | grep -E "jmx-console|web-console|invoker"
- 备注:老版本常见默认控制台、测试组件和弱口令风险,应重点清理。
- 预期证据:目录截图、处置说明、访谈记录。
示例输出(节选)
find . | grep jmx-console|web-console|invoker
(EAP7 无 legacy jmx-console;invoker 相关模块未部署)
C. 版本与漏洞风险
核查命令:
bin/standalone.sh --version 2>/dev/null
- 备注:JBoss/WildFly 老版本漏洞较多,应确认版本和补丁整改情况。
- 预期证据:版本截图、补丁记录、整改说明。
示例输出(节选)
bin/standalone.sh --version
JBoss EAP 7.4.12.GA (WildFly Core 15.0.18.Final)
D. 入侵防护联动
核查命令:
find standalone/log domain/servers -type f 2>/dev/null | head
- 备注:应结合 WAF、主机防护和日志告警平台判断是否具备发现与阻断能力。
- 预期证据:安全设备截图、告警记录、日志平台材料。
示例输出(节选)
find standalone/log | head
server.log server.log.1.gz access_log.2026-08-24
tail server.log
2026-08-24 10:12:44,340 WARN [org.wildfly.security] ELY05103: Authentication failed for user 'test' from /192.168.8.66
(认证失败告警联动 SIEM 封禁)