Kubernetes编排平台是一个巨大的开源项目,其发展固有地是Swift的。 当使用不断变化的Kubernetes平台来自动化容器化云原生应用程序的部署,扩展和管理时,变更的步伐显着提高了遵守安全最佳实践的重要性。

最终,有效的安全性还支持整个Kubernetes项目,因为该技术的整体采用取决于Kubernetes赢得并建立的信任和信任。 也就是说,在传统环境中运行良好的标准安全性程序和实践通常不足以保护Kubernetes环境,在该环境中,流量要动态得多,并且在Pod,容器,节点和映像周围必须有安全性。

在Cloud Native Computing Foundation(CNCF)最近的一项调查中,安全性是使用Kubernetes的组织中与容器相关的最大挑战 。 为了实现Kubernetes安全性,需要全面了解部署面临的主要风险。 成功的违规行为可能导致数据泄露和其他系统性的危害,而这些危害更容易防御而不是恢复。

有三种危险使Kubernetes部署面临特别高的风险,以及主动防御的最佳实践。

集装箱接管

攻击者可以破坏容器或节点,以在Kubernetes精心安排的环境中执行其他破坏性行动。 通过控制一个容器的立足点,攻击者通常能够成功提升其特权,并允许自己将攻击传播到其他容器。

最佳实践:当容器以这种方式暴露时,至关重要的是管理员已经在利用Kubernetes内置的功能来自然限制跨容器的访问。 这可以使用网络分段,名称空间和操作系统设置来完成。 使用第三方网络检查工具(例如容器防火墙)进行的高级细分可以提供额外的保护。 这样,破坏单个容器不会为攻击者或恶意程序提供影响其他容器的更广泛范围。

攻击Kubernetes服务

其中包括攻击者,攻击者通常通过API服务器,kubelet节点代理或其他外部暴露的方式威胁访问系统并绕过Kubernetes安全控制。

最佳实践:通过仅公开绝对需要的Kubernetes服务来加强针对攻击的部署。 同时,确保正确配置了必须公开的那些服务的安全策略,并且身份验证要求到位且有效。

内部攻击(错误访问)的Kubernetes控件

当恶意方获得真正的Kubernetes管理登录信息时,它们将受到危害,使其受到访问权限所造成的损害。

最佳实践:实施严格的访问控制,以确保用户仅拥有他们所需的特权。 访问还应受到每个用户的工作职能的限制,并应尽可能进行自定义,以使用户在履行职责的同时,承担受到破坏的凭据可能造成的损害。 除了限制访问之外,分析所有用户活动以快速识别和补救任何有害活动也至关重要。

还值得注意的是,如果设置不正确(或未被监视),则即使是合法访问也可以向攻击者敞开大门。 加强系统以防范利用不良配置和安全漏洞的技术。

从更广泛的角度探讨Kubernetes安全是强调这些最佳实践的最佳方法。 在整个应用程序开发,部署和运行时中实现连续的网络安全(可促进有效的访问控制并最大程度地减少攻击面的安全性)对于组织的整体成功至关重要,对于整个Kubernetes环境的安全也至关重要。

翻译自: https://opensource.com/article/18/3/best-practices-securing-kubernetes-environments