容器服务常见的配置错误以及由此造成的泄漏事件

2024-03-06 05:58

本文主要是介绍容器服务常见的配置错误以及由此造成的泄漏事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

容器服务常见的配置错误以及由此造成的泄漏事件

目前市场上总共有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”甚至“k8s”(kubernetes的缩写,因为在“k”和“s”之间有8个字符)的关键术语进行搜索,就可以用来识别默认的容器。

以下是一些使用Shodan网站的简单搜索示例和结果<

这篇关于容器服务常见的配置错误以及由此造成的泄漏事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/779030

相关文章

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块