云安全始终具有两个基本支柱:发现问题的可见性和有效修复威胁的能力。理想情况下,保护以主动方式完成,这意味着在风险被攻击者利用之前降低风险。自十多年前一些企业开始将工作负载转移到云端以来,这两个支柱都没有改变。然而,企业实施云安全所需的工具和流程近年来发生了巨大变化。随着企业从虚拟机驱动的基本云环境转向分布式、基于微服务的云原生环境,五到十年前采用的云安全策略对今天的威胁行为者不再有效。如今,随着云计算战略和架构的发展,确保云安全显然至关重要。下面解释了云安全的含义以及组织应遵循哪些最佳实践来满足云原生安全要求。从云安全到云原生安全传统的云计算环境和云原生计算环境有很大的区别。从广义上讲,传统的云计算安全与云原生安全有很大不同。在传统的云计算环境中,企业可以通过设置云计算防火墙和定义安全组来保护工作负载。企业通过将代理载入收集日志和指标的虚拟机来实现安全可见性。云提供商的云原生安全工具(例如AmazonGuardDuty或MicrosoftDefender)可能已用于解释该数据并检测威胁。组织还可以定期审核其云IAM设置以检测潜在的错误配置,甚至将一些安全操作工作卸载给托管安全服务提供商(MSSP)。这些类型的工具和流程在云原生环境中仍然很重要。但是,仅靠它们还不足以应对云原生工作负载环境中出现的独特安全挑战。传统的云计算安全性无法满足以下需求:识别IaaS之外的风险:云原生攻击面超出了传统基础设施和应用程序。例如,错误配置的KubernetesRBAC可能会带来安全风险,而仅仅监控虚拟机或应用程序不会提醒用户注意它们。管理不断变化的配置:现代云原生环境可能包含数十个用户和工作负载,具有数千条定义谁可以做什么的访问控制规则,并且它们的设置不断变化。在这个瞬息万变的动态环境中,定期审计不足以主动检测威胁。多云安全需求:当企业需要保护跨多个云平台运行的工作负载时,云计算厂商提供的云原生安全工具在能力上是不够的。纠正根本原因:知道存在风险并不总是足以在复杂的云原生架构中快速修复它。例如,检测到应用程序中的代码注入漏洞并不一定意味着企业可以快速将问题追溯到触发它的特定微服务或代码提交。因此,虽然传统的云安全仍然是云原生安全基础的一部分,但它本身并不是一个完整的基础。为了全面保护云原生工作负载,组织需要扩展现有的安全工具和流程来保护传统的云工作负载。云原生安全最佳实践实现云原生工作负载的完全安全需要努力遵循以下实践。(1)将安全集成到开发流水线中在云原生世界中,不要等到应用部署了才考虑风险。相反,通过将安全测试纳入您的持续集成(CI)/持续交付(CD)管道,最大限度地增加在部署前发现和解决问题的机会。理想情况下,企业会执行一系列测试——从测试源代码开始,然后在预生产环境中针对二进制文件运行测试。(2)超越代理虽然基于代理的安全性可能足以保护简单的云计算工作负载,例如虚拟机,但在某些情况下(例如,当企业使用无服务器功能时)无法部署代理以实现安全可见性。相反,组织需要通过确保他们的应用程序公开检测威胁所需的数据而不依赖代理作为中介来提高代码本身的安全可见性。(3)实现分层安全云原生环境包括基础设施、应用、编排、物理和虚拟网络等多个层次,因此需要确保每一层的安全。这意味着除了捕获IAM错误配置等传统云安全风险外,还需要使用工具和安全分析流程来检测风险,例如,通过配置Kubernetes部署的方式或从容器映像中检测风险。(4)持续实时审计同样,对云计算配置的定期审计或验证不足以确保实时检测和修复威胁。相反,应部署持续监控所有配置并立即提醒注意风险的工具。(5)自动补救在可能的情况下,还应部署无需人工参与即可立即隔离或减轻威胁的自动补救工具。这种方法不仅减轻了IT和安全团队的负担,而且还允许尽可能快速和主动地修复漏洞。
