云原生3R原则、现代最小权限与DevSecOps平台建设 - octo


几个月前,VMware 现代应用程序首席技术官 James Watters 在云原生安全日上发表了一篇 引人入胜的演讲,他称之为“现代最小特权”。基本概念是在  整个 DevSecOps 生命周期中应用最小权限原则来正确保护现代应用程序。
我想深入研究这个策略并在这里分享我们的观点。 
现代应用程序比传统应用程序更复杂——它们规模更大、变化更快、分布更广(即,没有传统的安全边界)。虽然这似乎会使保护它们变得更加困难,但云原生开发空间中的许多创新如果得到适当利用,可以 通过自动化它们并使它们成为默认/简单选项,从而使安全的许多方面 变得更容易。
 
3R原则
随着行业在过去十年中采用云原生应用程序,已经出现了一套明确的最佳实践。这些最佳实践之一被称为 “3R” ( repair, repave, rotate) ——修复、重铺、旋转:   

  • 修复:在更新可用时立即修复易受攻击的软件。 
  • Repave:从已知的良好状态重新修复服务器和应用程序,经常做。 
  • 轮换:频繁轮换系统凭据,因此它们仅在短时间内有用。 

支持 3 R 的云原生架构有几个原则: 
  • 不变性:一旦部署了某些东西,就不应对其进行修改或重新配置。任何新代码、配置更改或任何其他更改都应该在源代码管理中进行,并且应该部署一个新的、不可变的实例。最低权限意味着部署后没有任何更改。 

  • 短暂性:许多传统应用程序都有可以存活数月或数年的组件或实例(例如,VM)。这为黑客提供了一个很大的机会来访问该应用程序并利用该访问权限进行进一步的攻击。根据合同,云原生设计原则侧重于临时性和最小化实例存在的时间长度。Repaving 不断减少黑客入侵系统的时间。最小特权意味着将黑客的机会窗口尽可能地接近于零。 
  • 临时身份: 类似的原则适用于身份和秘密——你不希望任何长期存在的东西,因为这为黑客提供了利用这些凭据的机会。相反,您需要频繁轮换凭证的自动化。最低特权再次意味着向零前进。 
  • 事件驱动的漏洞管理:如果你有一个完全自动化的 CI/CD 管道并且你有正确的漏洞管理工具,你可以连接它们,以便在发现漏洞和修复可用时,系统可以自动启动重新部署。这变成了事件驱动的安全问题重铺。全部自动化,无需人工参与!最小特权意味着将发现漏洞和修补漏洞之间的时间间隔尽可能地缩短到零。 
  • DevX 作为控制(Shift left + DevX): 提供出色的开发人员体验意味着允许开发人员专注于他们的业务逻辑。开发人员应该考虑安全性,但理想情况下,DevSecOps 平台只为他们处理大部分。即,安全控制尽可能地是内置的。最低权限意味着在可能的情况下自动和透明地执行控制。 

这些原则汇集在无服务器应用程序中。无服务器应用程序是不可变的、短暂的,并且首先使用 API。但是这些原则可以应用于微服务和许多其他类型的架构。
 
自动化3R
任意数量的事件都可以触发Repave重铺。它可能是检查新代码的开发人员、进行配置更改的站点可靠性工程师 (SRE),或者检测漏洞并自动应用修复程序的安全系统。
在所有情况下,它都是相同的标准和安全流程。事实上,当您在自动化之上构建更高级的策略时,您可以开始做一些很酷的事情。例如,如果您的安全系统发现漏洞或配置错误,则可能会触发重新部署。
但是它再次注意到该应用程序再次具有相同的漏洞或配置错误,它可以触发对管理员的警报,因为这是一个更深层次或更微妙的安全问题。
这使自动化系统能够处理大多数问题,并且只冒出非常重要的问题供人类调查。
最低权限意味着让自动化尽可能地完成工作。 
 
那么如何获得 DevSecOps 平台呢?需要一个整体且集成良好的解决方案。平台必须具备: 
  • 具有安全性的应用程序框架 

  • API 服务和安全 
  • 安全的容器构建服务 
  • 应用服务 
  • L7 应用网络和安全 
  • Kubernetes 策略和生命周期管理,直至操作系统