关键字: [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 余种核心云服务产品免费试用”文章来源:https://www.toymoban.com/news/detail-762479.html
亚马逊云科技是谁?
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。文章来源地址https://www.toymoban.com/news/detail-762479.html
到了这里,关于CON318 | Kubernetes 安全:如何解决 Kubernets 的主要漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!