导语:本月早些时候,Kromtech安全研究人员发现Weight Watchers公司的Kubernetes管理接口对互联网开放并且无密码保护。基于云的数据漏洞会让公司资源、客户数据和IP暴露无遗。
Kromtech安全中心的研究人员已经注意到,在基于云的系统中,只要出现了简单的安全错误,这些错误就会暴露非常敏感的数据。而且任何人都可以查看最近公开的、不受保护的数据库、管理界面和存储桶的数据。这些数据库很可能是由他人无意公开的或是我们自己发现的。看起来,基于云的数据漏洞,会让公司资源、客户数据和IP暴露无遗。
事件回顾
本月早些时候,Kromtech安全研究人员发现Weight Watchers公司的Kubernetes管理接口对互联网开放并且无密码保护。
这个Kubernetes集群至少在三个IP上被发现,并暴露了一个kubelet端口(10250),允许访问者访问所有用pod(全称Plain Old Documentation,是一种用于记录Perl编程语言的轻量级标记语言)编写的数据,包括AWS访问密钥(访问密钥ID和访问密钥)以及几十个S3存储桶。
为了帮助Weight Watchers公司堵住这个安全漏洞,Kromtech的研究人员必须确定谁是这些密钥和集群的幕后主使,并遵循负责的披露程序。通过aws-cli工具,我们确定了这些资源隶属关系,并对其安全团队进行了准确的通知。
什么是WeightWatchers?
Weight Watchers是一家美国公司,提供许多产品和服务来帮助个人进行减肥并控制体重。总部设在纽约,在30个不同的国家都开展了业务,目前营收约为17亿美元。
什么是Kubernetes?
Kubenetes是一款由Google开发的开源的容器编排工具,它是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。与一次只能在一个容器上工作的Docker不同,Kubernetes可以同时操作数千个容器。
在Weight Watchers公司的Kubernetes管理接口对互联网开放并且无密码保护的情况下,开放的管理界面可以实现完全访问。
怎么会发生这种事?
首先,一个公司的管理接口无密码保护是不可能的。所以可以推测,Weight Watchers由于未妥善保护管理控制台,Weight Watchers才向所有人提供了整个Kubernetes集群的完全root访问权限所需的所有密钥和信息。
即使这是一个正在测试中的kubernetes集群,负责它的DevOps也不可能做到这些。由于Kubelet连接不够安全,无法在互联网上运行。所以必须使用SSH隧道将数据包安全地放到集群网络上,而不会将kubelet的网络服务器暴露在互联网中。在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。
Kubernetes类型的secret对象旨在保存敏感信息,例如密码,OAuth令牌和ssh密钥。将这些信息放在一个secret对象中比将其逐字逐句放入pod定义或docker映像中更安全、更灵活。
拥有对整个基础架构进行root访问的密钥是一种致命的漏洞,应该对DevOps的每个环节进行审查。
幸运的是WeightWatchers回应说他们的基础设施并没有受到影响。
缓解措施
1.显而易见,就是对管理界面进行保护。具体来说,就是在防火墙中限制端口范围,只能通过安全套接字强制访问。尽可能限制通过PKI访问,并限制IP,至少应该有密码保护,所有这些都应该在内部网络上进行。
2.另外,容器不应该以root身份运行。如果以root身份运行,则它可以提供完整的系统访问权限。
3.Kubelet的调试处理程序/ exec /和/ run /将在主机上的任何容器中运行代码。这些调试处理程序(–enable-debugging-handlers = true)在默认情况下处于启用状态,并且容器中运行的任何代码都具有完整的root功能。
4.kubelet应该使用集群CA签发的证书来为其https提供服务。
5.有关保护Kubernetes的更多信息,可以在有关保护集群的文档中找到。
有可能是秘密挖矿和其他恶意软件造成的
Kromtech的研究人员指出,针对这些开放式管理界面的秘密挖矿攻击近来有所增加,但目前它们还没有看到针对Weight Watchers进行挖矿的任何证据,但注意到类似的开放式管理控制台现在正被攻击者用于秘密挖矿。
随着加密货币的开采成本越来越高,因此攻击者开始寻找新的攻击资源。而在大型组织中,开放式管理控制台很容易被忽视。
另外,针对这些开放式管理控制台的攻击很能是其他恶意软件或是勒索软件造成的。
WeightWatchers的回应
WeightWatchers的回应道:
再次感谢Kromtech负责任地披露,我们非常感谢Kromtech让我们更安全。目前我们已经确认了这个问题,原因很可能是在测试期间,我们的测试帐户中的测试集群的安全组发生了配置错误。目前,我们除了将密钥删除外,还实施了一些保护措施,以防止此类问题再次发生。
最新进展
另外,据Kromtech的分析,没有迹象表明Weight Watchers的用户数据发生泄漏。
需要重申的是,所发现的问题确实是在一个测试的AWS账户中发现的,事实上该账户当时就被标记为测试。该帐户位于仅用于测试新服务和功能的测试环境中,为了能够安全地进行测试和创新,Kromtech建议以后厂家可以将测试环境与实际应用环境完全分开。另外,各方也已经调查了暴露的帐户密钥范围和活动,并且确认没有任何个人身份信息被泄漏。