Kubernetes 编排平台是一个庞大的开源项目,因此其发展非常迅速。当使用不断变化的 Kubernetes 平台来自动化容器化云原生应用程序的部署、扩展和管理时,这种变化的速度显着提高了遵守安全最佳实践的重要性。
最终,有效的安全性也支持整个 Kubernetes 项目,因为该技术的整体采用取决于 Kubernetes 赢得和建立的信心和信任。话虽如此,在传统环境中运行良好的标准安全程序和实践通常不足以保护 Kubernetes 环境,在 Kubernetes 环境中,流量更加动态,并且必须在 Pod、容器、节点和镜像周围部署安全措施。
正确的安全协议取决于部署基础设施和模式的具体性质,这意味着 DevOps 团队必须全面了解这些细节。正如您可能想象的那样,这会使安全工作复杂化。
在最近的云原生计算基金会 (CNCF) 调查中,安全是使用 Kubernetes 的组织面临的容器相关的首要挑战。实现 Kubernetes 安全性需要彻底了解部署面临的主要风险。成功的漏洞利用可能导致数据泄露和其他系统性妥协,这些妥协比恢复更容易预防。
以下是使 Kubernetes 部署面临特别高风险的三个危险,以及主动防御这些危险的最佳实践。
容器接管
攻击者可能会入侵容器或节点,目的是在 Kubernetes 编排的环境中执行其他破坏性操作。一旦在一个容器的控制中站稳脚跟,攻击者通常能够成功提升其权限,并允许自己将攻击传播到其他容器。
最佳实践:当容器像这样暴露时,至关重要的是管理员已经利用 Kubernetes 内置的功能,这些功能自然会限制跨容器的访问。这可以通过使用网络分段、命名空间和操作系统设置来实现。使用第三方网络检查工具(如容器防火墙)进行高级分段可以提供额外的保护。通过这种方式,入侵单个容器不会为攻击者或恶意程序提供更广泛的影响其他容器的范围。
针对 Kubernetes 服务的攻击
这些攻击包括攻击者威胁要访问系统并绕过 Kubernetes 安全控制的攻击,最常见的是通过 API 服务器、kubelet 节点代理或其他外部暴露的方式。
最佳实践:通过仅公开绝对需要 Kubernetes 服务来加强您的部署,以抵御攻击。同时,确保必须公开的那些服务的安全策略已正确配置,并且身份验证要求已到位且有效。
来自内部的攻击(非法访问)对 Kubernetes 控制
当恶意方可以获得真正的 Kubernetes 管理员登录凭据时,他们可以根据其访问权限造成尽可能多的损害。
最佳实践:实施严格的访问控制,确保用户仅拥有他们需要的权限。还应根据每个用户的工作职能限制访问权限,并尽可能自定义访问权限,以使用户能够履行其职责,同时控制泄露的凭据可能造成的损害。除了限制访问之外,分析所有用户活动以快速识别和补救任何有害活动也至关重要。
还值得注意的是,即使是合法的访问,如果设置不当(或无人看管),也可能为攻击者打开大门。加强系统以防范利用不良配置和安全漏洞的技术。
从更广泛的角度看待 Kubernetes 安全性是突出这些最佳实践的最佳方法。在整个应用程序开发、部署和运行时实现持续的网络安全——这种安全性可以促进有效的访问控制并最大限度地减少攻击面——对于您组织的整体成功以及整个 Kubernetes 环境的安全性至关重要。
评论已关闭。