rabbitmq 漏洞_不要让RabbitMQ漏洞暴露您的CI管道

rabbitmq 漏洞

RabbitMQ是一个开源消息代理,可以在发布者和使用者之间交换异步消息。 消息可以是人类可读的JSON,简单字符串或可以转换为JSON字符串的值列表。

2019年3月, Jenkins安全通报报告在中发现了多个漏洞。 如果您的持续集成管道依赖RabbitMQ,则需要确保您的环境针对1.1.9版本的任何漏洞进行了加固。

插件配置

在将插件连接到代理之前,Jenkins用户需要提供以下类别的值:

  • 名称
  • 主办
  • 港口
  • 用户名
  • 密码

该名称用于在构建步骤中标记指定的配置。 默认值分配给主机和端口。 您必须创建一个唯一的用户名,并且密码用星号屏蔽。

完成这些任务后,请按“连接测试”按钮以确保正确使用这些值。

成功测试之后,可以使用以下步骤配置构建步骤:

  • RabbitMQ名称
  • 交易所名称
  • 路由键
  • 数据
  • 转换为JSON

邮件路由

Rabbit-MQ Publisher不会直接在RabbitMQ上发布。 而是将消息发布到RabbitMQ交换服务器(Windows,Linux或Ubuntu)上的交换中。 交换决定如何将消息路由到队列。  

数据可以包含环境变量和构建参数。 正确检查后,即可将数据转换为JSON格式。

插件漏洞

第一个漏洞是未加密密码。 它们以纯文本格式存储在Jenkins Master上插件的全局配置文件中。

具有低特权或没有特权的攻击者可以访问配置文件并查看密码,也可以使用公开的密码来更改默认主机和端口的值。 新的插件版本将所有密码加密,然后再存储在配置文件中。

第二个漏洞是插件缺少的权限检查允许任何用户连接到Rabbit MQ。 具有“整体” /“读取”访问权限的用户容易受到Jenkins的攻击,从而无法使用攻击者指定的用户名和密码来启动Rabbit MQ连接到攻击者指定的主机和端口。

此表单验证方法不需要POST请求,从而导致跨站点请求伪造漏洞 。 幸运的是,新版本包含修复程序。 如果您尚未更新您的Jenkins插件,并且较旧的发布者仍处于活动状态,则现在是更新时间。

翻译自: https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Dont-like-your-message-broker-be-your-CI-jobs-security-downfall

rabbitmq 漏洞

你可能感兴趣的:(java,python,mysql,安全,linux)