快速推进 DevOps 流程时的安全问题探讨
写在前面的话
容器和微服务技术的诞生为我们设计和构建安全的基础设施以及应用程序提供了非常大的帮助。容器环境从中心化到数字化的转变,正在迅速成为主流。基于云环境的原生架构以及基于微服务的应用程序对于公司和企业的快速发展至关重要。为了快速实现安全性,企业必须加快自身的容器安全策略以及实施的成熟度。
随着生产部署速度的加快,不同组件之间的安全问题愈发明显,这将给企业带来直接的安全风险。大家都知道,传统的安全工具及产品无法给容器和微服务提供安全保护,因此大多数部署了容器的公司都会对自身资产的安全性表示担忧,并且希望安全社区能够提供专门的解决方案。
除了部署新的容器安全平台之外,各大公司还意识到了他们必须利用云环境和容器化生态系统固有的安全功能及架构,而类似 Kubernetes 这样的容器及微服务技术就给我们构建安全的基础设施以及应用程序提供了绝佳的机会。
新的挑战和策略转移
从本质上来看,容器化环境只要在构建和使用时操作得当,那它们就是更安全的。但想要安全地配置、操作和运行这些系统,就需要丰富的经验了。通常,一般的安全团队对容器或 Kubernetes 这样的东西是没有经验的,因此很多企业还需要根据各自部署容器的方式来重新审视这些团队的安全角色和责任。
加强 Kubernetes 的安全性是一个组织想要保护容器化应用程序时所要做的最基本的事情之一。Kubernetes 已经成为了绝大多数容器化环境部署方案中的首选,它是否能够成为一个强大的解决方案,主要原因在于你能够从多大程度上来使用和控制它。需要注意的是,它提供了非常丰富的配置选项,这也就意味着在操作的过程中会出现错误,如果你的设置不正确,那么你就有可能引入不必要的业务风险。此外,Kubernetes 也正在成为网络犯罪分子的攻击目标,因为它的使用越来越广泛了。
DevOps 跟安全更加贴近
随着云服务和云生态环境的兴起,CIO 团队已经从提供和运行云基础设施,转移到了提供服务支持型的应用程序。现在,随着容器化环境技术的发展,安全团队也在进行着类似的转变,这是因为应用程序的安全已经逐步进入了 DevOps 的领域。考虑到 DevOps 在构建、测试和部署应用程序方面的专业知识和核心作用,DevOps 团队成员必须负责去保护这些应用程序以及基础设施。虽然安全团队仍然需要去制定一些安全策略并设置防护边界,但 DevOps 将越来越多地去操作更适用于容器化应用程序的安全工具。
除此之外,DevOps 还可以帮助我们在软件开发生命周期的初期更加安全地构建产品基础设施,而容器技术的细粒度可以提高系统的弹性和灵活性。在云本地环境中,控制层和数据层从某种程度上来说时交织在一起的,因此我们可以编写一个逻辑层来进行连续的、及时的操作。
容器和微服务能够帮助我们进行实时的修改,例如部署安全更新等等。为了解决一个问题,我们只需要替换掉旧的镜像,部署新的镜像,删除受影响的容器,然后重构一个新的容器,而这些容器将会自动使用新的镜像。这样一来,你就可以在不破坏整个应用程序的情况下解决你所遇到的安全问题了。
毫无疑问,DevOps 会让网络犯罪分子们更加头疼,如果他们成功渗透,通常只能看到一个容器里的东西,而扩大攻击范围意味着他们必须多次重复执行攻击入侵操作。
考虑到容器固有的安全结构,DevOps 团队和安全团队还可以协同合作来保护基础设施的安全。此时,安全团队只需要在共享安全原则和策略上集中尽力以应用到新的开发工具上,而 DevOps 团队可以把注意力放在集成本地 DevOps 工具容器安全平台上。
没错,我们需要更聪明一点! 再聪明一点!