CON318 | Kubernetes 安全:如何解决 Kubernets 的主要漏洞

这篇具有很好参考价值的文章主要介绍了CON318 | Kubernetes 安全:如何解决 Kubernets 的主要漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关键字: [Amazon Web Services re:Invent 2023, Amazon EKS, Kubernetes Security, Kubernetes Vulnerabilities, Kubernetes Attack Vectors, Securing Kubernetes Clusters, Hardening Kubernetes]

本文字数: 2300, 阅读完需: 12 分钟

视频

导读

本次分享介绍了 Kubernetes 体系结构的基本原理及常见攻击向量、Amazon Elastic Kubernetes Service 为解决这些问题提供的安全控制、客户可以实施的降低风险策略,以及改进开源 Kubernete 的契机。

演讲精华

以下是小编为您整理的本次演讲的精华,共2000字,阅读时间大约是10分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

麦卡·豪斯勒(Mica Hausler)是亚马逊云科技(Amazon Web Services)的一名资深工程师,拥有超过四年的工作经验。他在演讲开始时向观众展示了一个情景,让他们想象自己是突然收到关于其集群重大安全问题的紧急警报的Kubernetes管理员。这个警报来自公司的安全团队,声称有些外部研究人员发现他们可以简单地通过curl访问您的集群Kubernetes API端点并获取其所有机密信息——这是一个严重问题!

这个情景令人不安,你立刻意识到报告中的域名指向的是在特定亚马逊云科技区域运行的生产EKS集群之一。端点甚至包含该EKS集群的唯一标识符。最令人担忧的是,对/api/v1/secrets路径的请求根本不需要任何身份验证。这意味着所有的秘密,包括GitHub和SendGrid密钥等凭证,都在向外泄露。

首先,你需要迅速核实是否真的是你的一个受影响EKS集群。你使用亚马逊云科技的命令行界面来列出那个区域的EKS集群并描述它们以获取端点名称。通过匹配报告中的集群名称,你可以肯定这是你的一个生产EKS集群受到了这种安全配置错误的影响。现在你需要迅速行动以限制损害并防止任何进一步的机密泄露。

由于这是一个紧急操作事件,你首先关注的是缓解而不是确定根本原因。查看Kubernetes角色绑定,你发现了可疑的“cluster-system:anonymous”绑定,它授予内置的“system:anonymous”用户完整的“cluster-admin”权限。这个危险的角色绑定允许任何未经验证的用户访问整个Kubernetes API,解释了为什么秘密会被暴露。你立即删除了这个角色绑定以防止任何其他秘密泄露。

为了找出这是如何发生的,你在CloudWatch日志中使用洞察查询搜索Kubernetes审计日志中以查找添加未授权角色绑定的创建事件。在日志中,你看到了创建它的IAM用户的显示访问密钥ID。通过查询CloudTrail日志,你可以将IAM用户追溯回实际创建了过度允许绑定的那个工程师。

这是一个真实的例子,展示了在Kubernetes配置错误可能导致的关键安全事件的情况下,可能出现的最坏情况。Mica随后概述了一些在使用典型架构运营Kubernetes集群时需要评估的常见威胁,该架构由开发者、类似ECR的容器注册表、Kubernetes集群以及用于存储、缓存、数据库和负载均衡等功能的各种亚马逊云科技服务组成。信息安全通常基于CIA(保密性、完整性和可用性)这三个关键支柱。在这个框架下,一些关于威胁建模的问题包括:

  • 可用性:哪些网络需要访问应用程序和Kubernetes API服务器?
  • 完整性:哪些用户和进程需要访问数据和相关软件供应链?
  • 保密性:哪些用户和进程必须能够访问敏感数据和计算资源?

保护Kubernetes的一个基本挑战在于其高度互联的本质。大多数漏洞的最终评分都很高,因为太多的组件相互连接。评估潜在威胁的其他关键点包括:

  • 是否在容器中运行任意、不受信任的代码?实际上,容器是否能提供强大的安全边界?
  • 应用程序是否向任意、未知的网络发出出站请求?
  • 哪些特定的网络、用户和过程需要访问Kubernetes API服务器?

此外,Mica提供了一些常见的Kubernetes安全问题及其对应的缓解措施,以应对与Kubernetes相关的OWASP顶级10个最关键的Web应用程序漏洞:

  • 破损的访问控制:授予用户的权限超出最小权限原则的限制;容器在节点上提权以获得比预期更多的权限;已知Kubernetes漏洞可以完全绕过授权检查(始终假设存在一些)。缓解措施包括使用精确的最小权限RBAC角色,限制集群范围的权限,并使用令牌请求CSI驱动程序。

记录非节点Pod状态的变化,限制Kubernetes API的外出访问,保持集群更新。

Mica详细阐述了可能导致访问控制问题的一些常见配置错误。首先,他提到了授予pod对Amazon Web Services服务的过多权限的问题。为了解决这个问题,他建议采用一种更安全的设计方法,即使用Kubernetes 1.20中新增的新Token Request CSI功能,由Kubelet提供特定于该pod且无任何集群范围的权限的Token。

其次,Mica提出了另一个常见问题,即如何区分开发者对创建pod的访问权限和操作员对创建自定义资源的访问权限。他建议通过明确列出允许的动词(如get、list、create、update、delete)以及资源(如pods、configmaps),而排除有风险的模仿动词。

针对这些安全配置错误,Mica还分享了一个典型示例,即在Kubelet上保留匿名身份验证启用,这种身份验证方式负责实际运行pod。虽然EKS提供了更安全的默认配置,但严格限制主机来自pods的访问仍被视为一个最佳实践。

在探讨易受攻击的组件时,Linux内核和Kubernetes的CVE数量逐年递增,仅2022年就超过了100个。这意味着每周大约会出现两个新漏洞,除非你频繁地进行补丁更新,否则仅仅运行一个节点一个月就可能意味着存在易受攻击的组件。建议采取的措施包括定期更新节点和容器镜像,使用得到积极支持的且已应用补丁的Kubernetes版本,并制定主动升级Kubernetes版本的计划以避免其达到使用寿命结束。

启用强大的控制平面和节点级日志记录对于安全问题发生时的安全监控、分析和取证至关重要。对于EKS(Amazon Elastic Container Service),控制平面日志会自动进入CloudWatch Logs。GuardDuty还可以自动分析EKS审计日志以检测已知的可疑活动和配置错误。

Mica详细阐述了一个潜在的服务器端请求伪造场景,这是由于Kubernetes处理Pod(容器)连接性的方式所导致的。Pod会向API服务器报告其分配的IP地址,该地址会被存储并在稍后用于端口转发请求。具有足够权限的攻击者可能会将IP地址修改为VPC内的某个恶意地址,例如未认证的Redis服务器,然后从API服务器启动到该地址的端口转发。虽然EKS已经修复了这里的已知Kubernetes漏洞,但它强调了限制API服务器访问和记录变更的重要性。

总的来说,Mica在超过2000字的内容中涵盖了针对硬化生产Kubernetes集群的一系列关键安全性考虑。保持集群更新、限制API服务器曝光、遵循最小权限和零信任原则以及启用增强的日志记录和监控都是必不可少的最佳实践。尽管没有任何复杂的系统能够达到100%的安全性,但对这些类型的访问控制、配置和架构问题进行警惕可以在很大程度上降低风险。实际的例子和建议的缓解措施为在任何生产环境中运行Kubernetes提供了有用的安全检查清单。

下面是一些演讲现场的精彩瞬间:

系统主管角色具备绕过准入控制的权限,因此在使用时需格外小心。

领导者在保持容器和机器镜像更新过程中,会努力平衡运行的安全性。

请务必确保您的Kubernetes集群始终运行在受支持的安全版本上。

演讲者详细阐述了攻击者如何通过Kubernetes获得未经授权的网络访问的方法,强调了保护Kubernetes API的重要性。

开启CloudWatch日志记录功能并针对非节点补丁设置警报,以便及时发现潜在问题。

领导者推荐阅读一篇关于某个重要主题的文档,以获取更多相关信息。

总结

在这次具有洞察力的演讲中,Mica Hausler为保护Kubernetes集群提供了关键指导。他首先通过讲述一个令人毛骨悚然的事件开始,该事件使得一名匿名用户完全获得了对公司Kubernetes秘密的访问权限。接着,Hausler研究了常见的威胁,包括保密性、完整性和可用性泄露。他建议限制对Kubernetes API和数据平面的网络访问。

接下来,Hausler探讨了攻击矢量和缓解措施。他详细描述了破损的访问控制、安全配置错误、过时的组件、不足的日志记录/监控以及服务器端请求伪造的风险。为了加固集群,他建议使用最新的Kubernetes版本,限制API服务器的访问,启用审计日志,并使用基于角色的访问控制。Hausler强调了最小权限原则和默认安全设置的重要性。他的演讲最终以最佳实践结束,如pod安全策略、加密以及亚马逊云科技的IAM角色和GuardDuty工具的使用。

演讲原文

https://blog.csdn.net/weixin_46812959/article/details/134653396

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 - 官方网站

点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!

点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。文章来源地址https://www.toymoban.com/news/detail-762479.html

到了这里,关于CON318 | Kubernetes 安全:如何解决 Kubernets 的主要漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全里的主要岗位有哪些?小白如何快速入门?

    入门 Web 安全、安卓安全、二进制安全、工控安全还是智能硬件安全等等,每个不同的领域要掌握的技能也不同。当然入门 Web 安全相对难度较低,也是很多人的首选。主要还是看自己的兴趣方向吧。 本文就以下几个问题来说明网络安全大致学习过程👇 网络安全主要岗位有哪

    2024年02月05日
    浏览(42)
  • 网络安全里主要的岗位有哪些?小白如何快速入门学习黑客?

    入门Web安全、安卓安全、二进制安全、工控安全还是智能硬件安全等等,每个不同的领域要掌握的技能也不同。 当然入门Web安全相对难度较低,也是很多人的首选。主要还是看自己的兴趣方向吧。 本文就以下几个问题来说明网络安全大致学习过程👇 网络安全主要岗位有哪些

    2024年02月06日
    浏览(51)
  • warning C318: can‘t open file ‘STC15.h‘解决方法

    当我们编译STC15单片机时,会出现如下的报错信息时: warning C318: can’t open file ‘STC15.h’ 我们此刻只需打开魔术棒 点击C51按钮, 点击下方的include Paths,添加相关的STC头文件路径 3.此时需的文件夹是你自己安装的STC库文件所在的位置,一般在你C51安装文件夹路径内添加,我的

    2024年02月13日
    浏览(145)
  • 新手如何学习挖漏洞?【网络安全】

    前言 有不少阅读过我文章的伙伴都知道,我从事网络安全行业已经好几年,积累了丰富的经验和技能。在这段时间里,我参与了多个实际项目的规划和实施,成功防范了各种网络攻击和漏洞利用,提高了安全防护水平。 也有很多小伙伴私信问我怎么学?怎么挖漏洞?怎么渗

    2024年02月05日
    浏览(39)
  • openssl安全漏洞解决方案

    openssl官方会发布最新发现的安全漏洞以及对应的解决方案:可在[https://www.openssl.org/news/newslog.html]查看 处理安全漏洞的方式大致如下: 1、升级版本 2、当前版本打补丁 本项目使用openssl-1.0.1j+openssh7.3p1,截至20221226号,需要解决的高危安全漏洞有:CVE-2022-1292、CVE-2022-2068、CVE

    2024年02月11日
    浏览(100)
  • Web安全漏洞解决方案

    1.已解密的登录请求   推理: AppScan 识别了不是通过 SSL 发送的登录请求。 测试请求和响应:  1.1.1 产生的原因  登录接口,前端传入的密码参数没有经过md5的加密就直接传给了后端 1.1.2 解决方法 前端代码传参的时候做md5加密处理   2.会话标识未更新 推理: 测试结果似乎指

    2024年02月12日
    浏览(43)
  • 报错解决A problem occurred configuring root project ‘android‘.> Could not resolve all artifacts for con

    报错如下 * Error running Gradle: ProcessException: Process \\\"C:Usersshunyuemydemoflutter_appandroidgradlew.bat\\\" Starting a Gradle Daemon (subsequent builds will be faster) FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project \\\'android\\\'. Could not resolve all artifacts for configuration \\\':classpath\\\'. 解

    2024年02月04日
    浏览(93)
  • 【网络安全】jquery版本漏洞如何验证

    首先我们都知道版本漏洞是可以通过升级版本来解决的,这个漏洞也是一样,那么当我们发现了这个漏洞时候应该如何去验证呢?

    2024年02月12日
    浏览(92)
  • 智能合约安全漏洞与解决方案

    使用OpenZeppelin安全库,防止了数字溢出漏洞攻击,报出了SafeMath错误: 不安全写法:lockTime[msg.sender] += _secondsToIncrease; 安全写法:    lockTime[msg.sender] = lockTime[msg.sender].add(_secondsToIncrease); 整数溢出真实案例: 2018年4月22日,黑客利用以太坊ERC-20智能合约中数据溢出的漏洞攻击蔡

    2024年02月03日
    浏览(53)
  • 针对3389端口严重安全漏洞及解决方法

    微软公司于2019年5月14日发布重要更新安全公告,其操作系统远程桌面(Remote Desktop Services),俗称的3389服务存在严重安全漏洞(编号CVE-2019-0708):该漏洞影响了某些旧版本的Windows系统。此漏洞是预身份验证,无需用户交互。当未经身份验证的攻击者使用RDP(常见端口3389)连

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包