内网评估60 条

RabbitMQ 管理面检查

RabbitMQ 管理插件与默认账号是常见暴露点:核查管理端口可达性、账号体系与权限粒度。

RabbitMQ 的暴露面

RabbitMQ 是常用的 AMQP 消息代理,业务系统用它传递任务指令、事件与异步结果。它自带 Web 管理插件,开启后可从浏览器查看队列、连接与消息内容。常见暴露点是管理界面直接对外可达、账号沿用默认值或多人共用一个高权账号。消息面权限过宽时,读到的不只是队列统计,还有业务数据本身。

基本信息

协议端口AMQP 5672、TLS 版 5671
管理插件默认 15672,可查看队列、连接与消息
集群通信25672 用于节点间通信,不应对外暴露
账号体系用户、虚拟主机与权限三元组,权限可细分到读写配置
默认账号内置账号通常仅允许本机访问,需要确认实际配置

典型使用场景

  • 内网服务盘点:确认消息中间件的管理面暴露范围
  • 账号治理核查:找出共用账号与权限过宽的账号
  • 虚拟主机隔离核查:确认不同业务的隔离是否真的生效
  • 变更前评估:管理面开放范围调整前先核对现有使用方
  • 与其他中间件统一评估:消息类组件通常成组出现,一起看更省事

检查要点

检查要点
# 只读确认管理界面可达性与响应状态,不提交任何凭据
curl -s -o /dev/null -w '%{http_code}' http://10.0.20.8:15672/
# 授权范围内用专用账号查看账号与权限清单
rabbitmqctl list_users
rabbitmqctl list_permissions
# 记录:管理面可达范围、账号归属、权限粒度与收敛建议

端口与用途读法

端口用途暴露要求
5672AMQP 客户端通信仅业务网段可达
15672Web 管理界面仅运维网段,配置认证
25672集群节点间通信禁止对外暴露
61613 等其他协议插件端口未使用的插件应关闭
消息队列常承载任务指令:消息面权限过宽不仅影响数据机密性,还会影响业务完整性,例如伪造指令或删除队列。
不要用测试消息验证投递能力:往生产队列投测试消息会污染业务数据流,通常以配置与权限核查替代。

易错点

  • 用测试消息验证投递能力,影响业务队列
  • 忽略集群节点与镜像队列的配置差异
  • 管理界面仅靠默认账号保护,未限制来源网段
  • 多个业务共用同一高权账号,无法追溯操作来源

数据来源与参考

  • RabbitMQ 官方文档(访问控制)
  • CIS Benchmarks(通用服务)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌