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

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

相关文章

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu