资讯专栏INFORMATION COLUMN

每个人都必须遵循的九项Kubernetes安全最佳实践

endless_road / 2551人阅读

摘要:的元数据隐藏功能会更改集群部署机制以避免此暴露,我们建议使用它直到有永久解决方案。授权失败可能意味着攻击者试图滥用被盗的凭据。年中国论坛提案征集现已开放论坛让用户开发人员从业人员汇聚一堂,面对面进行交流合作。

作者:StackRox产品经理Connor Gilbert

上个月,Kubernetes(世界上最受欢迎的容器编排器)生态系统因发现Kubernetes的第一个主要安全漏洞而动摇。该漏洞(CVE-2018-1002105)使攻击者能够通过Kubernetes API服务器破坏集群,允许他们运行代码来安装恶意软件等恶意活动。

今年早些时候,Tesla遭遇了复杂的加密货币挖掘恶意软件感染,由Kubernetes控制台错误配置引起。攻击者利用了特定Kubernetes控制台没有密码保护的事实,允许他们访问其中一个包含Tesla大型AWS环境访问凭据的pod。

随着组织加速采用容器和容器编排器,他们需要采取必要措施来保护计算基础架构中的这一关键部分。为了帮助完成这项工作,请查看这九项根据客户意见的Kubernetes安全最佳实践,你应遵循以帮助保护你的基础架构。

1.升级到最新版本

每个季度更新都会添加新的安全功能,而不仅仅是错误修复,为了充分利用它们,我们建议你运行最新的稳定版本。最好的办法是使用最新版本运行最新补丁,特别是考虑到CVE-2018-1002105的发现。越是落后升级和支持可能会越难,所以计划每季度至少升级一次。使用托管的Kubernetes供应商可以非常轻松地进行升级。

2.启用基于角色的访问控制(RBAC)

基于角色的访问控制(RBAC)控制谁可以访问Kubernetes API以及他们的权限。默认情况下,RBAC通常在Kubernetes 1.6及更高版本中启用(某些托管供应商稍迟),但如果你从那时起进行了升级并且未更改配置,则需要仔细检查你的设置。由于Kubernetes授权控制器的组合方式,你必须同时启用RBAC,并禁用传统的基于属性的访问控制(ABAC)。

一旦实施了RBAC,你仍然需要有效地使用它。通常应避免使用集群范围的权限,而使用特定于命名空间的权限。避免给予任何集群管理员权限,即使是为了调试,仅在需要的情况下,根据具体情况授予访问权限会更安全。

你可以使用kubectl get clusterrolebindingkubectl get rolebinding -all-namespaces来探索集群角色和角色。 快速检查谁被授予特殊的“cluster-admin”角色,在这个例子中,它只是“masters”群:

如果你的应用程序需要访问Kubernetes API,请多带带创建服务帐户,并为每个使用站点提供所需的最小权限集。这比为命名空间的默认帐户授予过宽的权限要好。

大多数应用程序根本不需要访问API,对于这些可以将automountServiceAccountToken设置为“false”。

3.使用命名空间建立安全边界

创建多带带的命名空间是组件之间重要的第一级隔离。当不同类型的工作负载部署在不同的命名空间中时,我们发现应用安全控制(如网络策略)要容易得多。

你的团队是否有效地使用命名空间?通过检查任何非默认命名空间来立即查找:

4.隔离敏感的工作负载

为了限制受损的潜在影响,最好在一组专用计算机上运行敏感的工作负载。此方法降低了通过共享容器运行时(runtime)或主机,安全性较低的应用程序访问敏感应用程序的风险。例如,受损节点的kubelet凭证,通常只有在机密内容安装到该节点上安排的pod中时,才能访问机密内容。如果重要机密被安排到整个集群中的许多节点上,则攻击者将有更多机会窃取它们。

你可以使用节点池(在云或本地)和Kubernetes命名空间、污点(taint)、容差和其他控件来实现隔离。

5.保障云元数据访问安全

敏感元数据(例如kubelet管理员凭据)有时会被盗或被滥用以升级集群中的权限。例如,最近的Shopify错误赏金(bug bounty)披露,详细说明了用户如何通过混淆微服务,泄漏云供应商的元数据服务信息来升级权限。GKE的元数据隐藏功能会更改集群部署机制以避免此暴露,我们建议使用它直到有永久解决方案。在其他环境中可能需要类似的对策。

6.创建和定义集群网络策略

网络策略允许你控制进出容器化应用程序的网络访问。要使用它们,你需要确保拥有支持此资源的网络提供程序,对于一些托管的Kubernetes供应商,例如Google Kubernetes Engine(GKE),你需要选择启用。(如果你的集群已经存在,在GKE中启用网络策略将需要进行简短的滚动升级。)一旦到位,请从一些基本默认网络策略开始,例如默认阻止来自其他命名空间的流量。

如果你在Google容器引擎中运行,可以检查集群是否在启用了策略支持的情况下运行:

7.运行集群范围的Pod安全策略

Pod安全策略设置在集群中允许运行工作负载的默认值。考虑定义策略,并启用Pod安全策略许可控制器,指令因云供应商或部署模型而异。首先,你可以要求部署删除NET_RAW功能,以抵御某些类型的网络欺骗攻击。

8.加固节点安全

你可以按照以下三个步骤来改进节点上的安全状态:

确保主机安全且配置正确。其一方法是根据CIS基准检查你的配置。许多产品都有自动检查器,可以自动评估这些标准的符合性。

控制对敏感端口的网络访问。确保你的网络阻止访问kubelet使用的端口,包括10250和10255。考虑除了可信网络以外限制对Kubernetes API服务器的访问。恶意用户滥用对这些端口的访问权限,在未配置为需要在kubelet API服务器上进行身份验证和授权的集群中运行加密货币挖掘。

限制对Kubernetes节点的管理访问。通常应限制对集群中节点的访问。调试和其他任务通常可以在不直接访问节点的情况下处理。

9.启用审核日志记录

确保你已启用审核日志,并监视它们是否存在异常或不需要的API调用,尤其是任何授权失败,这些日志条目将显示状态消息“禁止(Forbidden)”。授权失败可能意味着攻击者试图滥用被盗的凭据。托管Kubernetes供应商(包括GKE),在其云控制台中提供此数据,并允许你设置授权失败警报。

下一步

遵循这些建议以获得更安全的Kubernetes集群。请记住,即使你按照这些提示安全地配置Kubernetes集群,你仍然需要在容器配置的其他方面及其运行时操作中构建安全性。在提高技术堆栈的安全性时,寻找能够为容器部署提供中心治理点的工具,并为容器和云原生应用程序提供持续监控和保护。


2019年KubeCon + CloudNativeCon中国论坛提案征集(CFP)现已开放

KubeCon + CloudNativeCon 论坛让用户、开发人员、从业人员汇聚一堂,面对面进行交流合作。与会人员有 Kubernetes、Prometheus 及其他云原生计算基金会 (CNCF) 主办项目的领导,和我们一同探讨云原生生态系统发展方向。

2019年中国开源峰会提案征集(CFP)现已开放

在中国开源峰会上,与会者将共同合作及共享信息,了解最新和最有趣的开源技术,包括 Linux、容器、云技术、网络、微服务等;并获得如何在开源社区中导向和引领的信息。

大会日期:

提案征集截止日期:太平洋标准时间 2 月 15 日,星期五,晚上 11:59

提案征集通知日期:2019 年 4 月 1 日

会议日程通告日期:2019 年 4 月 3 日

幻灯片提交截止日期:6 月 17 日,星期一

会议活动举办日期:2019 年 6 月 24 至 26 日

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/11443.html

相关文章

  • 每个人都必须遵循九项Kubernetes安全最佳实践

    摘要:的元数据隐藏功能会更改集群部署机制以避免此暴露,我们建议使用它直到有永久解决方案。授权失败可能意味着攻击者试图滥用被盗的凭据。年中国论坛提案征集现已开放论坛让用户开发人员从业人员汇聚一堂,面对面进行交流合作。 作者:StackRox产品经理Connor Gilbert 上个月,Kubernetes(世界上最受欢迎的容器编排器)生态系统因发现Kubernetes的第一个主要安全漏洞而动摇...

    jzman 评论0 收藏0
  • 每个人都必须遵循九项Kubernetes安全最佳实践

    摘要:的元数据隐藏功能会更改集群部署机制以避免此暴露,我们建议使用它直到有永久解决方案。授权失败可能意味着攻击者试图滥用被盗的凭据。年中国论坛提案征集现已开放论坛让用户开发人员从业人员汇聚一堂,面对面进行交流合作。 作者:StackRox产品经理Connor Gilbert 上个月,Kubernetes(世界上最受欢迎的容器编排器)生态系统因发现Kubernetes的第一个主要安全漏洞而动摇...

    Travis 评论0 收藏0
  • 简介:CII最佳实践徽章 - CNCF毕业标准要求之一

    摘要:已经实现并维护了核心基础结构计划的最佳实践徽章。年中国开源峰会提案征集现已开放在中国开源峰会上,与会者将共同合作及共享信息,了解最新和最有趣的开源技术,包括容器云技术网络微服务等并获得如何在开源社区中导向和引领的信息。 从沙箱或孵化状态毕业,或者作为一个新项目加入作为一个毕业项目,项目必须符合孵化阶段标准以及: 有来自至少两个机构的提交者。 已经实现并维护了核心基础结构计划(CII)...

    jzman 评论0 收藏0
  • K8S安全军规101:对CNCF最佳实践的扩充

    摘要:安全的云元数据访问该建议指出,敏感的元数据有时可能被盗或被滥用,但未能概述何时或如何的条件。虽然上篇文章指出具有元数据隐藏的功能,但值得注意的是,在最开始泄露凭据的服务,正是元数据。我还认为云提供商不应该将凭证嵌入到可通过访问的元数据中。 在上篇文章里,我们分享了CNCF为广大Kubernetes用户建议的9项Kubernetes安全最佳实践,分享了用户使用Kubernetes管理集群...

    phpmatt 评论0 收藏0
  • 9项你不得不知道的Kubernetes安全最佳实践

    摘要:今年年初,由于控制台中的配置错误,特斯拉被一个恶意挖掘加密货币的软件所感染。为了帮助您完成这项工作,本文将为您介绍项安全最佳实践。授权失败可能意味着攻击者试图滥用被盗凭据。 上个月,全球最受欢迎的容器编排引擎Kubernetes,被爆出首个严重的安全漏洞,使得整个Kubernetes生态发生震荡。该漏洞(CVE-2018-1002105)使攻击者能够通过Kubernetes API服务...

    wslongchen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<