当前位置: 首页 > 科技观察

确保Kubernetes在大规模环境下安全的3个要点

时间:2023-03-20 01:16:21 科技观察

大规模保护Kubernetes的3个关键SumoLogic产品营销副总裁KalyanRamanathan去年写道,开源容器操作系统“已经彻底重塑了现代应用程序堆栈的未来”。这是证据。第一个漏洞是在2018年底发现的。提权漏洞允许任何用户通过Kubernetes应用程序编程接口服务器与后端服务器建立连接。Platform9的产品营销主管KameshPemmaraju表示,正在使用的集群和节点数量正在增加;一些受访者告诉Platform9,他们的公司在一两个集群上运行了数百个节点。许多公司都在本地和公共云基础设施上运行Kubernetes。NeuVector的CTOGaryDuan和Platform9的联合创始人兼CTORoopakParikh讨论了大规模利用Kubernetes安全功能的三种方法。“Kubernetes有一些基本的安全特性,专注于自身基础设施的安全,包括基于角色的访问控制(RBAC)、秘密管理和pod安全策略(更侧重于资源管理),”Duan说。“但是,Kubernetes不应部署在关键任务环境中,也不应部署在没有专用容器安全工具的情况下管理敏感数据的应用程序。Kubernetes系统的容器本身可能存在漏洞,比如关键的API服务器,允许攻击者破坏编排基础设施本身。”1.Role-BasedAccessControl生产级应用比去年多很多,而且很多更多的数据或其他应用部署在Kubernetes上,企业应该把Kubernetes看作是一个复杂的分布式系统,由多个组件组成,在部署到生产中后需要在每一层进行安全保护。在应用层,强烈建议执行网络策略并将Kubernetes集群连接到企业内的身份验证提供商。您通常可以保护所有系统,但保护您的密钥也很重要,并使用多因素身份验证和证书来确保有人无法偷偷进入那些简单的途径。Kubernetes运营商应该确保用户具有正确的角色并将用户分配到不同的空间以便特定用户与特定应用相关联。随着系统的部署和升级,这些角色也可以扩展。集群中的每个应用程序都应该隔离或分开,以便负责人可以决定哪些用户可以看到系统的不同部分。分层安全方法最适合纵深防御。部署云原生安全工具,保护从CI/CD流水线到运行时环境的整个生命周期,因为传统的安全工具在Kubernetes环境下是行不通的。这从构建过程中的漏洞扫描开始,并持续到生产中。如果没有深度网络可见性和保护(例如第7层容器防火墙),就无法实现真正??的纵深防御。这种以容器为中心的防火墙能够使用容器微分段检测和防止基于网络的攻击、探测、扫描、卸载和横向移动。随着公司扩大部署规模,他们面临着管理和保护数十个甚至数百个Kubernetes集群的管理挑战,其中一些集群跨越公共云和私有云。具有集中执行的联合全球安全策略的全球多集群管理成为一个关键问题。在Kubernetes之上添加Istio或Linkerd等服务网格还可以通过加密pod到pod通信来提高安全性。服务网格还有DevOps团队喜欢的其他好处。但这会给基础设施带来额外的攻击媒介,必须对其进行保护。2.不安全的代码检查监控代码对于大规模保护Kubernetes至关重要。如果您的公司正在运行第三方应用程序甚至内部应用程序,您如何知道其中的代码是否安全?系统操作员应该问问自己他们正在运行哪个版本以及存在什么类型的安全漏洞。需要扫描以查明是否存在不安全代码,或者是否使用了旧版本的Python库。有一些工具可以帮助您找到这些详细信息并生成报告。您可以拒绝或允许这些应用程序在此基础上运行。许多公司能够将安全策略声明为代码,部署的新服务的应用程序行为记录在标准yaml文件中,由Kubernetes直接部署为自定义资源定义。安全团队还确保所有补丁都是最新的。对于您正在运行的服务器和操作系统,请确保已打补丁并且没有任何与操作系统本身相关的漏洞。您可以使用AppArmor等技术,或确保在Kubernetes内部和外部运行的组件获得最低权限。3.检查开放端口很重要:明确定义整个管道中应自动保护的所有集成点,然后制定完整的安全自动化路线图。最初,可以自动执行几个步骤,例如触发漏洞扫描和对可疑网络活动发出警报。安全团队需要保护可以使用负载均衡器连接到外部世界的应用程序,或者保护可能在Kubernetes集群上打开的端口。团队需要检查他们的配置是否正确以及端口是否打开。这对于面向外界的API服务器尤为重要。有人发现系统已被另一家公司暴露给Internet,我们将在日志中看到有人试图探测服务器以查明这些端口是否打开。Kubernetes本身有一个API服务器,我们过去也看到过开放端口。您是否保护主机策略以确保运行正确的防火墙?如果您在公共云中运行,请确保您使用适当的安全组以仅允许您实际需要做的事情。还要确保Kubernetes组件具有适当类型的身份验证或授权机制,以便只有某些用户能够登录。原标题:3tipstokeepKubernetessafeatscale,作者:JonathanGreig