【51CTO.com快译】云原生应用程序与基础设施需要配合不同于以往的安全方法。而以下最佳实践无疑值得您关注。
如今,各类企业皆在积极探索云原生软件技术的应用。“云原生”是指将软件打包至容器这类标准化单元中的方法,将这些单元排列成彼此对接的微服务即可构成应用程序,从而确保所运行的应用程序实现高度自动化,并带来速度、灵活性与可扩展性等优势。
由于此类方案彻底颠覆了软件的构建、部署与运行方式,因此从根本上改变了软件的保护需求。云原生应用程序与基础设施带来了多种全新挑战,因此需要配合新的安全程序以支持企业安心运用云原生技术。
首先,我们将着眼于具体挑战,而后分两大部分探讨能够将其解决的最佳实践。下面来看具体挑战:
1. 传统安全基础设施缺少容器可见能力。 大多数现有主机型与网络安全工具无法监控或捕捉容器活动。这些工具的设计初衷在于保护单一操作系统或主机间的流量,而非运行在其上的应用程序。这意味着缺少对容器内事件、系统交互与容器间流量的可见能力。
2. 攻击面可能快速变化。 云原生应用程序包含大量被称为微服务的小型组件,这些组件高度分布且必须进行独立审计及保护。由于此类应用程序需要专门由编排系统进行配置与规模调整,因此攻击面将随时变化——且速度远高于传统整体式应用程序。
3. 分布式数据流要求持续监控。 容器与微服务具备轻量化特性,且需要以编程化方式实现彼此或与外部云服务间的交互。这将带来大量跨越环境的快速移动数据,我们需要对其进行持续监控以快速发现攻击与入侵迹象,同时不断掌握未授权数据访问或渗透行为。
4. 检测、预防与响应必须实现自动化。容器生成事件的规模与速度要远超过现有安全运营工作流的承载能力。容器的短暂生命周期也使相关工具难以捕捉、分析并确定事件的根本原因。有效的威胁保护方案需要以自动化方式进行数据收集、过滤、关联以及分析,从而对新事件作出充分反应。
面对上述全新挑战,安全专业人士需要建立新的安全程序以支持企业对云原生技术方案的使用。当然,这类安全程序也应当有能力解决云原生应用程序完整生命周期内的各类问题,具体可分为两大不同阶段:构建与部署阶段,以及运行时阶段。两大阶段各自拥有不同的安全需求考量,且必须将二者结合起来方能构建起一套全面的安全规程。
到这里,我们已经对面对的实际挑战拥有了充分的认识。在本篇文章的下半部分内,我们将详细探讨两大阶段中存在的具体问题,并考量如何将其解决。各位读者朋友,咱们不见不散!
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】