文章目录 问题描述RabbitMQ鉴权机制验证rabbitMQ服务配置修改rabbitmq.config服务器 部署docker部署
问题描述
漏洞编号 76311 风险级别 中风险 远程主机正在运行允许明文身份验证的服务。 远程高级消息队列协议(AMQP)服务支持一个或多个身份验证机制,允许以清晰的方式发送凭据。 解决办法 在AMQP配置中禁用明文认证机制。
RabbitMQ鉴权机制RabbitMQ 支持多种 SASL 鉴权机制。服务器中内置了三种:PLAIN、AMQPLAIN 和 RABBIT-CR-DEMO,以及一种通过插件方式的 EXTERNAL。 更多鉴权机制可以通过插件提供。查阅插件开发指南获取更多关于通用插件开发的信息。
RabbitMQ 应用中配置变量 auth_mechanisms 决定了提供哪一种已安装的机制给连接的客户端。该变量应该是相应机制名称的原子列表,如:默认的 [‘PLAIN’, ‘AMQPLAIN’]。该服务端的列表不代表特定的顺序。
验证rabbitMQ服务配置 # 服务器 部署 rabbitmqctl environment # docker 部署 docker exec rabbitmq rabbitmqctl environment 修改rabbitmq.config 服务器 部署vi /etc/rabbitmq/rabbitmq.config
[ {rabbit, [ { tcp_listeners, [ 5672 ] }, { ssl_listeners, [ ] }, {default_user, <<"your_user">>}, {default_pass, <<"your_pass">>}, {loopback_users, []}, {auth_mechanisms,['EXTERNAL']} ] }, { rabbitmq_management, [ { listener, [ { port, 15672 }, { ssl, false } ] } ] } ]. docker部署我们使用RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS环境变量,例如,配置channel_max看起来像 -e RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-rabbit auth_mechanisms ['EXTERNAL']". 在环境中翻译时,变量 auth_mechanisms 与 [‘EXTERNAL’]之间的空格会翻译成逗号。
# 删除原有的容器 docker stop rabbitmq docker rm rabbitmq # 运行新容器 docker run -dit --name rabbitmq -e RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-rabbit auth_mechanisms ['EXTERNAL']" -v /mnt/service-data/rabbitmq/lib:/var/lib/rabbitmq -v /mnt/service-data/rabbitmq/log:/var/log/rabbitmq rabbitmq:3.5.7 # 验证配置 docker exec rabbitmq rabbitmqctl environment
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |