跳到主要内容
版本:4.x

安全模型

Apache RocketMQ 项目自身提供了 ACL、TLS 等安全特性,但最终的安全效果仍取决于运维人员对 网络、主机、账户与数据 的整体防护。

1. 认证与授权(ACL)

  • 自 RocketMQ 4.4.0 起支持 ACL 1.0
  • 5.3.0 起引入安全性更高的 ACL 2.0
  • 5.3.3 移除了 ACL 1.0
  • 建议所有使用 Apache RocketMQ ACL 的用户迁移到 ACL 2.0

2. 控制台 (Dashboard) 与可观测组件暴露

RocketMQ Dashboard 及部分可观测组件(例如 RocketMQ Prometheus Exporter)默认不启用强认证,任何可访问 HTTP 端口的用户都可读取集群元数据。强烈建议:

  • Dashboard 监听地址 绑定至内网或受信任 VPC
  • 在 网关 / Ingress / 反向代理 上配置 ACL / IP 白名单
  • 如需公网运维,务必叠加 VPN、HTTP Basic/OAuth 鉴权或 WAF

否则可能导致信息泄露风险,该风险属于部署方责任而非 RocketMQ 漏洞。

3. 传输加密与数据加密

  • 客户端与服务端可通过 TLS 加密通信,若数据中包含敏感信息可以开启
  • 消息体由业务定义,RocketMQ 不会解析或持久化解密后的内容
  • 若消息包含敏感信息,应在业务侧进行字段或整体加密,避免明文落盘

4. 序列化与反序列化风险

  • RocketMQ 仅传输字节数组,不做对象反序列化
  • 消费端若需反序列化,应选用安全格式(如 JSON-Binding、Protobuf 等),并对不可信数据进行校验

5. SDK 与版本管理

  • 始终使用官方最新稳定版客户端,以获得最新漏洞修复与改进

6. 日志管理

  • 请妥善保管 RocketMQ 相关日志(包括 Broker、Namesrver、Proxy、Client等),避免敏感信息泄漏