目前市场上总共有40000多个独立的容器托管平台,这些平台具有默认的容器配置,可以快速被识别。 Kubernetes和Docker容器平台各自都有超过20000个独立的容器。但这并不一定意味着这4万多个平台中的每一个容器都容易受到攻击,甚至是敏感数据的泄漏。另外,云服务中看似简单的错误配置可能会对组织造成严重影响。例如,Docker Hub丢失的19万个帐户的密钥和令牌就是攻击者利用云环境中的密钥和令牌存储的弱安全配置的结果。还有-Ladders(美国最受欢迎的招聘网站)在今年发生了超过1370万用户信息被泄露的事件,原因就是基本容器配置错误。
在本文的研究中,研究人员能够使用简单的搜索词轻松地在全球找到20353个Kubernetes容器。这些容器位于美国、爱尔兰、德国、新加坡和澳大利亚,其中绝大多数托管在Amazon上。研究人员还能够使用简单的搜索词轻松地在全球找到23354个Docker容器,这些容器分别托管在中国、美国、德国、香港和法国,其中绝大多数托管在Amazon上。
然后,研究人员对这些暴露在网络中的容器进行了进一步的研究,以了解哪些服务被暴露,哪些信息被泄露。研究人员发现这些网站不但向公众公开了数据库实例,奇热而且还公开了个人信息。
下面的研究重点介绍了Unit 42对错误配置容器的研究结果、识别公开服务的方法以及保护容器服务的缓解措施。在本文中,研究人员将识别容器服务中常见的错误配置。这允许研究人员的读者以一种更安全、更私有的方式部署他们的容器平台结构,从而避免了研究人员在本文中介绍的数据收集方法。
云服务
云服务可以是通过互联网连接提供的任何服务,云服务允许组织快速部署、维护和支持需要专用服务可用性的项目,这些服务可能会在其设计的服务产品中遇到需求波动,常见的例子有API网关、web服务和数据库。受管理的服务提供商或自助服务的内部组织促进了多个编排平台,这些编排平台为容器提供了配置功能,并可以为平台提供策略执行。此功能涵盖安全性或审核日志记录,基于角色的访问控制以及针对云基础架构的网络连接强制实施。选择合适的编排平台或服务提供商可以极大地帮助云容器的安全。
通过Shodan能发现什么线索?
为了确定哪些云服务和容器平台暴露于外网中, Unit 42使用了Shodan。虽然本次研究的重点不是识别物联网设备,但一些相同的技术可以用于识别连接到外网的云系统和容器。与物联网设备一样,容器也与互联网相连,并可能因配置不当而被公开曝光。
Shodan会不断地扫描可公开访问的网络地址空间,进行请求,然后记录每个特定地址的每个端口或服务的响应。响应被保存到数据库中,然后提供给Shodan成员。Shodan提供了增强的系统分析、服务分类和标记特性等服务,这些服务提供了对每个识别系统的功能和范围的进一步了解。其中一些数据可以通过免费的Shodan帐户获得,通常有一个速率限制,以避免自动滥用,而由Shodan团队策划的其他分析内容仅对付费帐户持有人可用。付费会员好处的例子有:增加返回结果的速率限制、针对详细搜索请求的高级过滤功能、增加对特定净范围变化的警报、对预定义标准的自动扫描,以及查询特定分析标记的能力。为了突出在本博客中确定的查找容器服务的易用性,可以使用一个免费的Shodan帐户来执行下面的示例。
寻找暴露在网络中的默认容器
简单地使用“kubernetes”、“docker”甚至“