RocketMQ

适用范围:Apache RocketMQ 4.x/5.x NameServer、Broker、Proxy、Dashboard 场景。

不适用标识说明:

  • 使用 【不适用】 明确标记现场可判定为不适用的控制点。
  • 判定依据采用 GB/T 28448-2019 的对象边界原则;需先区分 NameServer、Broker 和 Dashboard 的控制边界。

基础信息

核查命令

mqbroker -v 2>/dev/null
mqnamesrv -v 2>/dev/null
ps -ef | grep rocketmq
find . -name broker.conf -o -name logback_*.xml
  • 备注:确认版本、角色、监听端口、集群、存储目录、日志目录和 Dashboard。
  • 预期证据:版本截图、进程截图、配置目录截图、端口截图。
示例输出(节选)
mqbroker -v
RocketMQ Broker 5.1.4
mqnamesrv -v
RocketMQ NameServer 5.1.4
ps -ef | grep rocketmq
rocketmq 6601 NamesrvStartup   rocketmq 6620 BrokerStartup
conf/broker.conf  conf/logback_broker.xml

身份鉴别

A. Dashboard 与管理接口登录

核查命令

find . -type f | grep -i "dashboard\\|auth\\|login"
  • 备注:核查是否启用 Dashboard、地址和认证方式。
  • 预期证据:控制台截图、配置截图。
示例输出(节选)
find . | grep dashboard|auth|login
(未部署 console/dashboard 组件;管理操作经 CLI+堡垒机完成并留痕)

B. 用户与 ACL

核查命令

grep -R "aclEnable\\|accessKey\\|secretKey" conf 2>/dev/null
  • 备注:核查 ACL、账号、默认凭据和共享账户。
  • 预期证据:ACL 配置截图、账号说明。
示例输出(节选)
grep aclEnable/accessKey conf
conf/plain_acl.yml:
accessKey: rocketmq-demo
secretKey: ***
(ACL 文件权限 600,口令掩码展示)

C. 口令与失败处理

核查命令

grep -R "aclEnable\\|plain_acl" conf 2>/dev/null
  • 备注:RocketMQ 的锁定能力有限,应结合来源限制和平台控制综合判断。
  • 预期证据:配置截图、平台材料。
示例输出(节选)
grep aclEnable/plain_acl conf
broker.conf: aclEnable=true
conf/plain_acl.yml 存在且生效
(ACL 已启用,未授权主体拒绝接入)

D. 会话与远程管理

核查命令

grep -R "tls\\|ssl" conf 2>/dev/null
  • 备注:管理和客户端接入应关注 TLS 和运维链路保护。
  • 预期证据:TLS 截图、证书材料。
示例输出(节选)
grep tls/ssl conf
broker.conf: tlsEnable=true
rmq-proxy.json: tlsEnable=true
(客户端与服务端间启用 TLS)

访问控制

A. Topic 与组权限

核查命令

grep -R "globalWhiteRemoteAddresses\\|accounts" conf/plain_acl.yml 2>/dev/null
  • 备注:应核查生产、消费和管理权限是否分离。
  • 预期证据:ACL 截图、权限说明。
示例输出(节选)
grep plain_acl.yml
globalWhiteRemoteAddresses:
  - 192.168.1.*
accounts:
- accessKey: rocketmq-demo
  whiteRemoteAddress: 192.168.1.%
  admin: false

B. 管理接口来源限制

核查命令

grep -R "listenPort\\|brokerIP1\\|namesrvAddr" conf 2>/dev/null
  • 备注:Dashboard、Broker 管理和 NameServer 访问应限制来源。
  • 预期证据:配置截图、网络材料。
示例输出(节选)
grep listenPort conf
namesrv.properties: listenPort=9876
broker.conf: listenPort=10911 brokerIP1=192.168.10.61
namesrvAddr=192.168.10.60:9876

C. 默认账户与测试 Topic

核查命令

grep -R "rocketmq" conf 2>/dev/null
  • 备注:默认配置、测试 Topic 和示例账号应清理或限制。
  • 预期证据:配置截图、处置说明。
示例输出(节选)
grep rocketmq conf(节选)
broker.conf: brokerClusterName=demo-cluster
broker.conf: brokerName=broker-a
plain_acl.yml: accessKey=rocketmq-demo
(配置中无个人敏感信息字段)

D. 文件权限

核查命令

find conf -maxdepth 1 -type f -exec ls -l {} \\
2>/dev/null
  • 备注:配置、日志和存储目录权限应最小化。
  • 预期证据:权限截图、运行用户截图。
示例输出(节选)
-rw-r----- 1 rocketmq rocketmq 2100 broker.conf
-rw------- 1 rocketmq rocketmq  480 plain_acl.yml
-rw-r----- 1 rocketmq rocketmq  920 namesrv.properties
(配置文件权限合规)

安全审计

A. 日志配置

核查命令

find logs -type f 2>/dev/null
find conf -type f | grep logback
  • 备注:核查 Broker、NameServer、认证和异常日志。
  • 预期证据:日志配置截图、日志目录截图。
示例输出(节选)
find logs -type f
logs/rocketmqlogs/broker.log
logs/rocketmqlogs/namesrv.log
logs/rocketmqlogs/client.log
find conf | grep logback
conf/logback_broker.xml  conf/logback_namesrv.xml

B. 日志样例

核查命令

tail -n 20 logs/* 2>/dev/null
  • 备注:需证明连接、认证、异常和管理操作留痕。
  • 预期证据:日志样例、平台截图。
示例输出(节选)
tail logs/rocketmqlogs/broker.log(节选)
2026-08-24 09:00:01 INFO BrokerControllerScheduledThread - dispatchBehindBytes=0
2026-08-24 10:12:44 WARN NettyEventExecutor - REMOTING RPC exception: /192.168.8.66 acl not permission
2026-08-24 10:13:01 INFO BrokerControllerScheduledThread - slave fall behind commit log 偏移已追平

C. 留存与轮转

核查命令

grep -R "RollingFileAppender\\|maxHistory" conf 2>/dev/null
  • 备注:需核实日志留存和轮转策略。
  • 预期证据:配置截图、制度、访谈记录。
示例输出(节选)
grep RollingFileAppender conf
conf/logback_broker.xml: class="ch.qos.logback.core.rolling.RollingFileAppender"
conf/logback_broker.xml: <MaxHistory>30</MaxHistory>
(按日轮转保留 30 天)

D. 集中审计

核查命令

journalctl | grep rocketmq | tail -n 50
  • 备注:如日志进入平台,应补平台证据。
  • 预期证据:平台截图、告警截图。
示例输出(节选)
journalctl | grep rocketmq(节选)
Aug 24 08:59:55 host systemd[1]: Started rocketmq-namesrv.
Aug 24 09:00:10 host java[6601]: The broker[broker-a, 192.168.10.61:10911] boot success.
Aug 24 10:12:44 host java[6620]: acl not permission for /192.168.8.66

数据完整性

A. 消息与主从复制完整性

核查命令

grep -R "brokerRole\\|flushDiskType\\|enableDLegerCommitLog" conf/broker.conf 2>/dev/null
  • 备注:重点核查同步刷盘、主从复制、DLeger 和 Broker 状态。
  • 预期证据:配置截图、架构说明。
示例输出(节选)
grep brokerRole conf/broker.conf
brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
enableDLegerCommitLog=false
(同步复制+同步刷盘,保障消息不丢失)

B. 传输完整性

核查命令

grep -R "tlsEnable\\|useTLS" conf 2>/dev/null
  • 备注:客户端和管理链路如使用 TLS,应明确完整性保护作用。
  • 预期证据:TLS 配置截图、证书材料。
示例输出(节选)
grep tlsEnable/useTLS conf
broker.conf: tlsEnable=true
(客户端与服务端间启用 TLS,明文端口关闭)

数据保密性

A. TLS 与证书

核查命令

grep -R "tls\\|ssl" conf 2>/dev/null
  • 备注:敏感业务消息和管理面应优先加密。
  • 预期证据:TLS 截图、证书截图。
示例输出(节选)
grep tls/ssl conf
broker.conf: tlsEnable=true
tls-server.need.client.auth=true
(双向 TLS:服务端校验客户端证书)

B. 敏感配置保护

核查命令

grep -R "accessKey\\|secretKey\\|password" conf 2>/dev/null
  • 备注:AK/SK、证书和密钥保护需重点核查。
  • 预期证据:脱敏截图、权限说明。
示例输出(节选)
grep accessKey/secretKey/password conf(节选)
plain_acl.yml: secretKey: ***
broker.conf: (无明文口令项)
(凭据经 KMS 加密下发至 ACL 文件)

备份恢复

A. 配置备份

核查命令

find conf -type f 2>/dev/null
  • 备注:应覆盖 Broker、NameServer、ACL、日志配置和证书。
  • 预期证据:备份目录截图、策略说明。
示例输出(节选)
find conf -type f
broker.conf  namesrv.properties  plain_acl.yml
logback_broker.xml  logback_namesrv.xml  tools.yml

B. 存储与日志备份

核查命令

find store logs -type f 2>/dev/null | head
  • 备注:需说明 CommitLog、ConsumeQueue、IndexFile 等目录备份策略。
  • 预期证据:目录截图、备份说明。
示例输出(节选)
find store logs | head
store/commitlog/00000000000000000000
store/consumequeue/demo-topic/0/000000...
logs/rocketmqlogs/broker.log
(commitlog 与消费队列文件完整,纳入备份策略)

C. 恢复能力

核查命令

grep -R "brokerRole" conf/broker.conf 2>/dev/null
  • 备注:可通过主从切换、日志恢复和集群重建说明恢复能力。
  • 预期证据:恢复手册、演练记录、工单。
示例输出(节选)
grep brokerRole conf/broker.conf
brokerRole=SYNC_MASTER
(主从同步复制,从节点可用于恢复切换;另有每日配置与 commitlog 备份)

剩余信息保护

A. 历史 Topic 与旧日志

核查命令

find . -type f | grep -E "bak|old|backup"
  • 备注:旧日志、旧配置、测试 Topic 相关文件应清理。
  • 预期证据:目录截图、清理说明。
示例输出(节选)
find . | grep bak|old|backup
backup-conf-20260801/
store/checkpoint.bak
(旧配置备份纳入台账,定期清理过期文件)

B. 凭据残留

核查命令

grep -R "secretKey\\|accessKey\\|password\\|token" . 2>/dev/null
  • 备注:配置、日志和脚本中的敏感信息残留应重点核查。
  • 预期证据:脱敏截图、整改说明。
示例输出(节选)
grep secretKey/accessKey/token .(节选)
conf/plain_acl.yml: secretKey: ***
logs/rocketmqlogs/broker.log: acl not permission(日志无敏感明文)

个人信息保护

A. 消息主题中的个人信息

核查命令

grep -R "topic" conf 2>/dev/null
  • 备注:不建议现场直接查看敏感消息正文,应结合业务访谈判断。
  • 【不适用】若 RocketMQ 消息不涉及个人信息,则该点不适用。
  • 预期证据:业务说明、Topic 清单、访谈记录。
示例输出(节选)
grep topic conf(节选)
tools.yml: topicName=demo-topic
broker.conf: (topic 由运维经 mqadmin 创建,命名不含个人信息字段)

B. 导出与共享控制

核查命令

find . -type f | grep -i "export\\|consumer\\|tool" 2>/dev/null
  • 备注:消息消费工具、管理控制台和转储脚本需关注个人信息扩散风险。
  • 【不适用】若不承载个人信息,且无相关导出共享能力,则该点不适用。
  • 预期证据:权限说明、制度、访谈记录。
示例输出(节选)
find . | grep export|consumer|tool
bin/mqadmin  bin/mqconsumer  bin/play.sh
(CLI 工具使用需堡垒机授权并留痕)

入侵防范

A. 管理面与服务端口暴露

核查命令

grep -R "listenPort\\|namesrvAddr" conf 2>/dev/null
ps -ef | grep rocketmq
  • 备注:重点核查 NameServer、Broker、Dashboard 和 Proxy 端口暴露情况。
  • 预期证据:端口截图、配置截图、网络材料。
示例输出(节选)
grep listenPort/namesrvAddr conf
broker.conf: listenPort=10911 namesrvAddr=192.168.10.60:9876
ps -ef | grep rocketmq
rocketmq 6601 NamesrvStartup   rocketmq 6620 BrokerStartup

B. ACL 与默认配置风险

核查命令

grep -R "aclEnable\\|accessKey\\|secretKey" conf 2>/dev/null
  • 备注:关注未启用 ACL、测试账号、白名单过宽和默认配置风险。
  • 预期证据:ACL 截图、配置截图、处置说明。
示例输出(节选)
grep aclEnable/accessKey conf
broker.conf: aclEnable=true
plain_acl.yml: accounts 按账户配置权限与来源白名单
(未授权主体默认拒绝,符合基线要求)

C. 版本与漏洞风险

核查命令

mqbroker -v 2>/dev/null
mqnamesrv -v 2>/dev/null
  • 备注:需确认版本、组件版本和高危漏洞整改情况。
  • 预期证据:版本截图、补丁或整改记录。
示例输出(节选)
mqbroker -v
RocketMQ Broker 5.1.4
mqnamesrv -v
RocketMQ NameServer 5.1.4

D. 防护与告警联动

核查命令

tail -n 20 logs/* 2>/dev/null
  • 备注:RocketMQ 入侵防范通常依赖网络隔离、主机防护、日志平台和安全告警联动。
  • 预期证据:平台截图、告警记录、主机防护材料。
示例输出(节选)
tail logs/rocketmqlogs/broker.log(节选)
2026-08-24 10:12:44 WARN REMOTING RPC exception: /192.168.8.66 acl not permission
2026-08-24 10:12:45 INFO closeChannel: close the connection to remote address[/192.168.8.66:51234]
(非法接入被拒绝并记录,联动安全平台封禁告警)