什么是云原生安全

云原生安满是指将安全归入企业整体云原生运用开发的战略。这一办法解决了建立安全运用程序所需的基础设施、团队和流程的变化。因而,云原生安全强调运用安全,以保证在云环境中检测和修正缝隙。

实现云原生安全需求一个整体的规划使安全得以渗透到整个软件开发生命周期(SDLC)中。安全渠道能够协助开发人员交给根据云原生理念的设计,开发团队应该负责供给安全代码。每个设计决议计划都应考虑到云原生架构,以保证运用程序是彻底根据云原生架构的。

保证根据云架构的安全会面对一些应战。开发人员能够经过基础设施即代码(IaC)装备动态地布置基础设施,一般是与运用程序代码同时编写基础设施代码。开发人员能够将安全东西整合到他们的作业流程中,为补救措施供给见解和建议。例如,他们能够用命令行界面(CLI)东西进行本地测试,并使安全数据在集成开发环境(IDE)中可见。

云原生的安全有哪些需求考虑的?

虽然企业现已领会到了云原生运用的优势,但企业对办理和维持此类运用环境的安全依旧缺乏经验。在云原生环境中,安全的意义是否真的与传统环境不同?这对你的安全策略和操控有什么影响?云原生环境的首要安全考虑要素有以下几个:

1、 继续交给要求继续安全性

跟着微服务和容器在云原生环境中替代单体和传统的多层运用,软件交给和布置正在变得继续。如亚马逊之类的大型企业每天都会进行数百次布置。在这些类型的环境中,安全查看必需求轻量、继续而且嵌入到开发东西链中,不然就有或许被绕过。

2、 维护 server 作业负载是燃眉之急

传统企业的安满是维护 endpoint 的安全,分割网络和维护网络边界(network perimeter)的安全。在云原生环境中,您不能依靠固定的路由、网关、网络边界,甚至无法依靠 agent ——根据此,您的数据中心正面对威胁。此外,您的 server 作业负载比以往更简单露出给进犯面。因而,将重点转移到保证数据中心和 server 作业负载的安满是燃眉之急。

3、 快速且大规模进行运转时检测

在微服务模型中,端到端的可见性、监控和检测都将变得更复杂和难以履行,特别是当布置和升级都在继续不断进行时。因而进犯检测需求动态作业(如,削减对静态签名的依靠),实时扩展,而且在不危害出产环境的功用和稳定性的情况下进行。

4、 整合混合堆栈的安全维护

一些微服务运用程序运转在虚拟机上的容器中,而其他的则运转在裸机 Linux 上。但现如今维护主机、虚拟机层、容器和运用程序的安全功用往往是互相独立的,缺乏整合。这种办法为履行实时安全呼应和举动带来了复杂性和不必要的妨碍。打个比方,您会把关键使命的容器布置到一个需求打补丁的虚拟机上吗?可是,如果您没有虚拟机级别的可见性,您又怎么会知道这个虚拟机需求打补丁呢?因而现在亟需在混合堆栈中整合可见性、监控和安全维护,包括 Linux 主机、虚拟机、容器以及最终的运用程序及服务。

初识云原生安全:云时代的最佳保障

云原生安全的4C基础设施

为了协助您了解云原生安全策略,咱们将安全基础设施分为4类——Cloud 层、容器层、集群层和代码层。

Cloud

Cloud 层由运转云资源的基础设施组成。当你在云服务供给商(CSP)设置 server 时,该供给商负责大多数基础设施安全。可是,您依然需求负责装备服务、维护您的数据安全,并对其进行监督。

影响 Cloud 层的典型安全问题包括过错装备和自动进犯。进犯者会活跃运用因过错或疏忽造成的过错装备,如未改动的默认设置或对办理操控台的弱访问维护。进犯者还能够运用自动化来扫描缝隙并敏捷发起进犯。

容器(Container)

容器层由容器镜像组成,这些镜像或许包含了您能扫描的缝隙。企业常常会疏忽一些问题,如镜像安全、运用不知道来历和弱权限装备。因而,坚持容器定期更新十分重要,这样能够尽量削减已知缝隙造成的不良后果。此外,您还应该扫描和验证容器中运转的任何程序。

保证所运用的任何镜像是由已知的来历构建的或者来自一个受信赖的镜像仓库。一个镜像签名东西,如 Docker Content Trust (DCT),能够协助您保证容器内容来自可信赖的来历。

保证一切容器都运用特权用户运转,而不是运用主机的 root 权限。

集群(Cluster)

集群层由构成 Worker 节点和操控渠道的 Kubernetes 组件构成。正是在这一层,您要维护 Kubernetes 作业负载。Kubernetes 组件运用加密通讯,恳求 TLS 证书来验证彼此的身份。

需求维护的最关键组件是 kube-api-server ,因为它是 Kubernetes 的主要接口。默认情况下,该 server 只能经过 HTTPS 访问,您也能够运用第三方身份认证程序来进一步维护它。一般情况下,企业运用自定义的根据角色的访问操控(RBAC)规则进行 API server 授权,所以您能够办理集群及其作业负载,而无需 Secure Shell 访问。

Code

代码层,也被称为运用层,供给最高级别的安全操控。你能够约束露出的 endpoint、端口和服务来办理安全危险。你应该运用 TLS 加密来维护内部和外部服务之间的通讯。

代码层的典型安全问题包括不安全的代码、不充分的危险评估以及第三方软件依靠项的缝隙。您应该运用静态代码剖析进犯来辨认不安全的代码并保证安全的 code 实践。您需求定期扫描并测试您的运用程序以抵挡跨站点恳求伪造(CSRF)和跨站点脚本(XSS)等进犯。

大多数云原生运用都包含第三方代码库或依靠项,这些库或者依靠项一般未经静态剖析查看。您能够运用软件成分剖析东西来辨认有缝隙的依靠项。

5大云原生安全策略

企业一般会施行云原生安全策略以保证整个技能栈的安全,以下列举出了5个常见的云原生安全策略:

共同承担安全职责

DevOps 团队应该与安全团队紧密合作。开发人员一般不是安全专家,但他们能够学习安全coding 实践。相同,安全专家能够了解用于开发、测试和布置运用程序的东西和流程,从而协助他们进步安全性。

云原生安全需求各种办理开发和安全团队的办法,并需求密切交流协同作业。共同承担职责和协作是作业文明改变的一部分,这使组织能够将安全性整合到开发过程中。

安全左移

安全左移是另一个重要的文明改变,这一般需求新的安全东西来处理云原生运用开发环境的规模和速度。这一方式主要是为了在软件开发流程的前期就开始选用安全办法,如缝隙扫描。开发人员有必要在将运用程序代码布置到出产之前保证其安全性。

另一个维护基础设施的方式是防止 serverless 的特性。进犯者能够运用在 serverless 功用代码和容器中的缝隙。他们还能够运用云基础设施的过错装备来访问敏感数据,提升权限,并横向移动。

您应该在 CI/CD 流水线中防止运用不受信赖的容器镜像。安全团队应该在开发人员将镜像布置到运用程序之前查看它们是否包含缝隙。

初识云原生安全:云时代的最佳保障

维护依靠项

运用程序代码一般包含开源的依靠项,例如在 Python 软件包索引(PyPI)里发现的依靠项。您能够运用引入了归纳缝隙数据库的自动化东西来维护运用程序的依靠项。云原生编排东西经过触发运用程序的安全动作能够协助您在开发期间维护安全性。您能够继续运转此类东西以防止将缝隙依靠包引入容器和 serverless 功用中,因为它们会运转在出产环境中。

深度防御

这一办法,也称为多层安全,主要运用网络监控来检测和修正单个威胁。安全团队应该监控网络的每一层,您能够运用多个东西和技能来防止和呼应进犯并为正在进行的进犯拟定应急方案。

兼容多云的安全办法

企业常常对其多云模型选用能兼容多个云的安全办法。一个云原生安全渠道(CNSP)能够协助您办理来自不同供货商的多个云的安全。您只需一个安全策略,其中包含了多方有必要遵循的最佳实践——这有助于简化您的云原生监控、灾备康复和合规作业。

抱负的云原生安全渠道应该如何?

企业在启用安全策略推动云原生转型之前,他们需求考虑以下这些需求:

  • 高度的安全自动化: 传统根据告警的安全操作现已无法跟上当前近乎无限规模、动态性质更强的云原生系统。因而,手动作业流程底子不是一个选项。规模化的自动检测和呼应是云原生安全的必备条件。

  • 设计时要考虑到“混沌” 在微服务架构中,任何功用或许都会牵涉到许多软件组件,它们在运转时中被拼接在一起。从安全的视点来说,这意味着检测逻辑和操控不能依靠于对运转状况和安全健康状况的先验理解。因而云原生安全有必要拥抱混沌工程原则——自动实验、经常测试并快速补救。

  • 快速检测、就地遏止、敏捷康复: 云原生运用最终是分布式核算运用。在这样的环境下,一般不或许及时履行大局安全决议计划。因而,您最好优先考虑哪些允许快速检测、快速康复,并在全系统的歹意行为表现出来之前在本地操控影响的举动。即使安全决议计划不是100%精确,在本地采取举动和快速康复也会为您供给一个更具弹性的系统。

总结

云核算在不断急速开展,跟着创新的脚步不断加速,需求开发出新的技能和东西来协助企业紧跟技能的开展。很多时候,企业会将他们现有的企业本地的软件基础设施移植到云中,从而导致企业内部被强制运用过期的抽象和安全模型,从而无法领会到云原生所带来的优势。

为本地托管年代建立的安全模型和东西是一个特别重要的职责。因为现存的东西中大多数是在云核算作为一级托管渠道普及之前设计的,无法供给足够的安全性。在快节奏和竞争激烈的空间中,能够扩展、维护您的运用程序是十分重要的。想要在现代云年代坚持竞争力,企业应该专心于构建云原生运用程序,并运用云原生安全渠道来协助维护它们。