首页/安全/漏洞与攻击面速查/RabbitMQ 管理界面与 guest 账号风险
主机与服务风险面53 条

RabbitMQ 管理界面与 guest 账号风险

RabbitMQ 管理插件默认监听 15672,内置 guest/guest 账号默认仅允许本机登录;把 guest 远程放开或保留默认口令,都会形成消息队列失守入口。

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

RabbitMQ 的两类入口

RabbitMQ 管理插件默认监听 15672,AMQP 协议默认 5672,集群通信使用 25672;内置账号 guest 的口令同为 guest,且默认仅允许从本机登录。风险集中在两处:为了远程管理放开 guest 的登录限制,以及保留默认口令或使用弱口令。消息队列失守意味着业务消息可被读取、伪造消息可被投递,队列中传递的凭据同样会暴露,管理界面还能直接创建账号与修改策略。

基本信息

组件RabbitMQ,含管理插件 rabbitmq_management
默认端口15672 管理界面,5672 AMQP,25672 集群通信
内置账号guest/guest,默认仅允许本机登录
主要风险放开 guest 远程登录、弱口令、管理界面暴露公网
加固要点禁用 guest、最小权限业务账号、来源限制、启用 TLS
检查方式rabbitmqctl 系列命令与防火墙规则核对

核查项与期望

核查项检查方式期望状态
账号列表rabbitmqctl list_users无 guest 或已禁用,账号来源可追溯
权限分配rabbitmqctl list_permissions业务账号只在所需 vhost 授权
虚拟主机rabbitmqctl list_vhosts无多余测试 vhost
节点状态rabbitmqctl status版本与监听地址符合基线
来源限制防火墙或安全组规则15672 仅管理网段可访问
审计记录管理界面操作日志异常登录与策略变更可追溯

加固要点

加固要点
1. 删除或禁用 guest,创建最小权限业务账号(按 vhost 授权)
2. 15672 与 5672 限制来源网段,管理界面不对公网开放
3. 启用 TLS 加密 AMQP 通信与管理界面
4. 开启管理操作审计,监控异常登录与策略变更
5. 定期轮换口令,接入统一身份认证后同步清理本地账号

常用核查命令

常用核查命令
rabbitmqctl list_users             # 列出账号与角色
rabbitmqctl list_permissions       # 查看权限分配
rabbitmqctl list_vhosts            # 查看虚拟主机列表
rabbitmqctl status | head          # 查看节点与监听信息
rabbitmqctl list_queues name messages consumers   # 关注异常队列与消费者

典型使用场景

  • 消息队列上线前的账号与暴露面核查
  • 季度巡检中的默认口令专项排查
  • 应急时确认是否有人新增了账号或改了权限
  • 迁移到托管消息服务前的现状对照
  • 审计举证:给出账号清单与权限归属
  • 口令轮换后核对客户端配置是否同步更新
guest 的「仅本机可用」是官方的保护机制。修改 loopback 限制前先评估风险;确需远程管理时,改用独立业务账号并叠加来源限制。
为方便远程管理放开 guest 远程登录,等于把默认口令组合直接暴露出去,会在很短时间内被自动化尝试命中。

易错点

  • 为方便远程管理放开 guest 远程登录:默认口令组合会立即成为攻击入口
  • 给业务账号配 administrator 标签,权限远超所需,泄露后可删除队列与修改策略
  • 只限制 15672 不管 5672,AMQP 端口仍可被用来投递伪造消息
  • 账号口令长期不轮换,离职人员账号仍能登录管理界面
  • 队列积压与消费者异常未监控,消息被恶意消费后难以发现

数据来源与参考

  • RabbitMQ 官方文档(Access Control、guest 账号说明)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌