云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港服务器_网站建设公司网站建设公司_好用

小七 141 0

在特定配置中保护consur免受RCE风险

»介绍我们最近发现了一组针对consur节点的恶意软件,这些节点具有允许远程代码执行的特定配置。我们社区的成员也(负责任地)报告了由这个恶意软件引起的事件,并与我们合作,在concur的最新版本中加入了一个补丁,可以在野外防止这种威胁。这篇文章详细介绍了这个恶意软件如何影响用户,这取决于他们的配置,并概述了我们已经采取的步骤,为1.2.4,1.1.1,1.0.8,和0.9.4版本的修补程序,使较旧版本的consur在没有重大版本升级的情况下更容易受到保护。»摘要如果-enable script checks设置为true,或者正在运行consur 0.9.0或更早版本,并且consur API在可以通过网络访问的接口上可用,则应该采取措施。补救步骤:升级到下面链接的版本之一。将-enable script checks更改为-enable local script checks on consuv agents(如果需要脚本检查)启用本地脚本检查。禁用CONSUR服务器上的脚本检查。确保converhttpapi绑定到一个环回接口,而不是一个可公开访问的接口。启用ACL(如果尚未启用)。有关详细信息,请继续阅读以下内容。»如何利用脚本检查脚本检查是consur可以执行的一种运行状况检查,以确定目标服务的运行状况。支持的检查类型有HTTP、TCP、gRPC、Docker、Alias、TTL和脚本检查。支票可以通过consur API注册,也可以由consur代理从支票定义目录加载。脚本检查将按配置的时间间隔执行conver进程的任何命令或内联脚本。Docker检查是相同的,但是通过Docker守护进程的API在运行的Docker容器中执行脚本。从consur0.9.0开始,默认情况下consur安装中将禁用脚本(和Docker)检查,尽管它们在许多情况下很有用,但仍存在潜在的安全风险。consur API是用于与consur代理交互的HTTP接口,包括如上所述注册健康检查定义。我们建议在大多数情况下将此API绑定到环回接口,以防止意外暴露。我们提供了一个扩展的ACL系统,可以用来保护API交互,包括注册检查。使代理易受此攻击的必要条件是:API在可以通过网络访问的接口上可用。启用脚本检查。ACL被禁用或ACL令牌被破坏。在上述情况下,攻击者可以使用恶意负载在远程代理上注册检查。根据设计,脚本检查允许执行任意代码,因此允许通过公开的API启用检查的服务注册会带来RCE(远程代码执行)威胁。concur的早期设计假设HTTP API仅限于可信的本地网络访问,直到后来才发现,由于各种原因,许多用户没有意识到(或仍然选择)公开它,这促使在0.9.0中默认禁用脚本检查。建议将启用ACL作为最佳实践,但即使存在限制性ACL,如果攻击者破坏了至少存在一个可以注册服务的ACL的主机,则相同的ACL令牌将允许攻击者在任何公开的远程节点上使用脚本检查进行注册,因为ACL的设计范围不限于单个代理。我们还不知道恶意软件利用本地可用的ACL令牌攻击一个受ACL保护的群集,但希望主动指出这一风险。»已知影响我们在上个月收到了几份报告,并证实了它正在变得越来越普遍。我们希望确保我们的consur用户社区意识到这种威胁,并知道如何保护自己免受此类攻击。在每种已知情况下,攻击者都通过consur外部的一些无关漏洞访问数据中心中的一台主机。然后,攻击者检测到网络上暴露的consur api(可能是通过自动扫描),并使用脚本检查将恶意软件传播到其他服务器。»补救许多用户在其基础结构中对服务使用脚本检查功能,因此完全禁用脚本检查将禁用他们所依赖的功能。在本月早些时候发布的concur 1.3.0中,concur社区的一个成员提供了一个补丁,该补丁添加了一个新的配置选项-enable local script checks,该选项只允许通过本地配置文件注册脚本检查,从而防止使用HTTP API注册恶意检查。我们建议所有需要脚本检查的用户切换到此选项,并找到避免依赖于对代理的远程API访问的方法。除此之外,我们建议检查ACL系统和consur API监听的接口的用法。默认情况下,脚本检查将完全禁用。考虑到通过多个主要版本更改升级到1.3.0的挑战,在1.3.0中发布了此功能,因此我们已将-enable local script checks选项后端口,并发布了consur的多个修补版本,以确保我们的用户能够以最小的中断和努力来减轻此威胁:1.2.4款更改日志链接下载链接1.1.1条更改日志链接下载链接1.0.8款更改日志链接下载链接0.9.4款更改日志链接下载链接这些是操作该系列中版本的用户的直接替换。如果您当前使用的是0.9.0之前的版本,我们建议升级到0.9.4-与早期版本相比可能有一些突破性的更改,但与1.0.0中的更大更改相比,这些更改是最小的。一如既往,我们建议您按照我们的升级指南进行所有升级。1.3.0及更高版本已包含此功能。相同版本的企业二进制文件也可用。一般来说,我们更希望看到用户升级,很少有这样的后端口修复。由于这种威胁的性质,我们决定将此修复向后移植,这样用户就可以快速地保护自己,而不需要进行可能导致重大更改的主要版本升级。依赖于通过HTTPAPI注册脚本检查的用户可以继续使用-enable脚本检查,但是应该格外小心地启用ACL并确保API侦听器在网络上不可访问。我们建议尽快找到不需要远程httpapi访问的替代部署模式。允许在consur服务器上进行脚本检查尤其危险,特别是因为为了全局工具或UI访问而在服务器上公开API是很常见的。服务器上可远程注册的脚本检查有可能从网络上的任何节点向攻击者公开所有conver状态(包括ACL令牌)。我们正在考虑在将来的conver版本中,在服务器上配置脚本检查是一个很难的错误。一般情况下,Consul服务器通常不会运行其他工作负载,因此禁用对它们的脚本检查不太可能导致问题,但是请检查您的配置没有启用它们,只是因为其他客户端需要。我们也在探索其他几个选项,以帮助通知用户这种潜在的不安全配置,并考虑在将来的版本中为脚本检查提供额外的保护。我们在文档中添加了更突出的关于脚本检查和代理配置的警告,并在我们的安全模型中添加了一个新的部分,突出了配置consur的已知不安全方法。为了让运行的consur更安全地访问,我们在Consul 1.4.0中重新设计了ACL系统的接口,并建议当前不使用ACL的用户使用Consul。