陈奇网络工作室

常春藤云安全:蜂巢之声如何确保容器在整个生命周期中的安全

容器,未来IT创新和数字化转型的第一推动力,近年来成为开发者的最爱。容器结构的精密程度不亚于建筑大师蜜蜂建造的蜂巢。就像达尔文感叹蜜蜂的蜂巢是自然界中最神奇最神奇的建筑一样,蜂巢是自然界中最经济有效的建筑。在这里,常春藤推出了“蜂巢的声音”专栏,告诉你像大自然一样巧妙的容器的安全性。

虽然目前容器的利用率还不是特别高,但是很多组织都在加速采用容器,容器化是未来发展的趋势。根据Gartner的预测,到2023年,超过70%%u7EC4的组织将在生产环境中运行3个以上的容器应用。如下图所示,越来越多的组织将在容器中部署应用程序,将超过一半的应用程序容器化的组织的百分比从23%增加到29%,增长率为22%。与此同时,打包不到10%的应用程序的组织数量从32%下降到21%。

集装箱化部署应用的比例

然而,开发人员经常以不安全的方式部署容器,安全团队很少有或根本没有机会参与。如何让容器使用起来更安全?

1.安全左移和自动化是集装箱安全的前提。

在当今快节奏的容器DevOps中,安全人员在部署容器时,必须注意共享OS内核导致的容器之间的潜在风险、镜像漏洞、错误配置和网络流量问题。无论是防火墙还是入侵防御系统都不适用于容器环境。

此外,随着现代环境越来越多地由软件控制并实现自动化,停止操作并进行安全评估不再可行。标准的做法是尽可能将安全融入生产,通过微服务进行快速迭代。

安全左移

现在容器映像是由开发人员构建的,所以开发人员承担了许多其他责任。开发人员对以前由其他团队处理的活动拥有越来越多的控制权,包括一些测试和操作。

开发人员构建的容器映像在测试和生产环境中以相同的方式运行。因此,容器映像必须是独立的,适应各种环境,只需要配置与容器相关的安全和加固策略,并适当调整可与生产资源连接的基本操作系统。

所以容器安全必须移到左边,从代码编写和编译的时候就必须保证容器安全。如果解决生产过程中的安全问题,必然会产生大量的浪费,因为修复发现的问题会终止创新管道,让容器回到开发阶段。

自动化

容器是承载DevOps实践的最好方式之一,微服务实际上成为一种新的应用架构。借助容器化的微服务,不同的开发团队通过为每个微服务建立并行开发管道,可以将创新速度加快十倍以上。

当这些微服务投入生产时,编排软件可以对它们进行部署和管理。编排软件基于策略运行,这使得容器部署远比手动实现更有效。这有效地让人们从集装箱化生产环境的操作中走出来,从而可以制定策略和监控异常情况。这意味着支持自动化、API和策略操作,使容器有能力自己评估和采取措施。

第二,全生命周期计划

施工阶段

(1)安全图像扫描

通常,容器映像是从根映像构建的,根映像提供操作系统组件和应用程序中间件(如node.js或Tomcat)。然后,开发者通过自己的代码扩展根镜像,形成微服务的应用架构。一般来说,Kafka或Vertica等应用中间件可以直接使用,无需修改。

但是,如果根镜像是从docker Hub等公共仓库获取的,开发者无法知道那些未经测试和验证的根镜像会带来什么安全风险。因此,有必要扫描容器映像,以检测它是否包含常见的漏洞和风险(CVE ),并减少的攻击面

正确的镜像扫描应该包括以下级别:

扫描镜像,检查根镜像,检测开源镜像库中是否存在已知的第三方漏洞。

配置和部署脚本的静态扫描、错误配置问题的早期检测,以及已部署映像的动态基础架构强化扫描。

(2)对可信图像进行签名和注册。

查看容器图像时,请确保已对其进行了扫描和安全性测试。理解这一点很重要,因为它会影响下一阶段的其他检查点,例如转移到生产环境。

在成功扫描图像并创建安全分数之后,容器图像可以被重新签名,包括安全分数和测试结果,指示容器图像已经被测试并达到特定的安全级别。

(3)观察应用程序行为

当开发者通过许多容器化的微服务形成他们的工作负载和应用时,网络将成为应用结构。网络动态绑定所有微服务。以前,所有逻辑都是在编译时绑定的。现在,微服务被解捆绑,并根据需要在运行时与其他服务连接。

当然,判断正常行为和异常行为并不容易。当一个应用被分解成可以服务多个应用的微服务时,威胁建模要困难得多。建议在开发和集成时观察微服务架构,了解什么是正常行为,有助于威胁建模。在生产中,异常行为可以通过威胁模型检测和隔离。

分配

(1)复习已知内容

随着容器映像从一个映像存储库迁移到另一个映像存储库(无论是在内部还是外部运行),遇到具有未知漏洞的映像的风险将会增加。集装箱安检系统在通过集装箱图像仓库时需要对集装箱图像进行验证,一旦发现不合规,就会对相关图像进行拦截隔离。

每次容器升级到新的状态(比如从开发到测试或者从测试到生产),都要采取额外的强制措施,保证前一阶段为了方便调试/监控/基准测试而添加的任何配置都不会随着容器本身进入下一阶段。

(2)审查风险分值

容器层和镜像层的安全策略非常广泛,很难设置一个统一的、易于维护的、人为管理的安全策略。对安全策略进行编码,在每个检查点为每个容器映像生成一个风险分值,这样就可以对容器的生命周期进行标准化,并且可以为每个重要的检查点设置最低的安全阈值。如果未达到最低水平,将控制容器的生命周期。

风险评分还有助于促进Dev、Sec和Ops之间的合作,因为这个统一的风险评分是对三方的综合评分,有助于促进不同团队和专业人员的统一行为。

部署

(1)自动部署

开发人员正在以越来越快的速度创建容器格式的微服务。DevOps流水线不仅管理困难,而且在生产环境中,在调度和排程上,人工操作要让位于机器操作,因为调度和排程程序可以实现容器化微服务的自动部署。调度器可以比人做出更好的布局和扩展决策,因此可以统一稳定地实施安全策略。

为了将管理良好的安全状态保持在可接受的水平,有必要将容器安全软件与部署系统链接起来,以便您可以统一遵守安全策略。

基于基础设施即代码(IaC)的原则,应该扫描和验证为支持自动化部署任务而编写的代码,并根据应用程序代码级别找到代码中的漏洞。

(2)安全基础设施

在主机上部署干净、无泄漏的容器仍然存在安全风险,需要实施相关的加固最佳实践。否则,对流氓容器的保护就太少了。例如,基于CIS基准或公司的强化战略,检查与强化最佳实践存在哪些偏差;向管理员发出警报,并提供集装箱化基础设施的安全评分。

(3)用户和机器审计

通过完整的审计跟踪,该小组可以调查安全事件的原因,采取补救措施,并相应地实施新的安全策略。这需要知道谁做了什么,哪个容器编排器将哪个镜像部署到物理or虚拟主机,或者为什么容器镜像被阻止部署或访问给定的资源。

集装箱安全系统需要与人工操作系统和机器操作系统相连接,以便创建发生在集装箱基础设施上的所有事件的准确审计跟踪,并记录其自身的动作和活动。

奔跑

(1)密钥管理

在许多系统中,密码和安全令牌等密钥是安全系统的重要组成部分。在主机上部署容器映像或访问基于网络的资源需要这些密钥。如果密钥存储在一个容器或环境变量中,那么有权访问该容器的每个人都可以看到它。

容器系统需要使用秘密密钥进行操作,例如容器部署。因此,集装箱安全系统通常需要访问密钥系统,并将正确的密钥注入集装箱命令中进行部署和操作。因此,容器的密钥管理需要一个特殊的解决方案。例如,在与诸如HashiCorp的保险库之类的密钥系统集成之后,只有特定的用户和容器可以访问特定的密钥。

(2)与宿主隔离

在主机上运行的容器可以访问主机资源,例如计算资源、存储资源和网络资源。另外,因为容器通常包含微服务,所以本质上容器应该被限制在一些特定的任务上,每个容器通常只负责一个任务。

一旦流氓容器获得了对主机资源(尤其是网络)的访问权,就可以从网络中获取更多的资源,并进一步渗透到其他主机和系统中。应该限制运行容器的访问权限,这些容器只能使用经过批准的特定主机资源,从而限制它们对主机和网络的影响。

(3)集装箱网络安全

一个主机上有多个容器,每个容器都与同一主机上的相邻容器或基于网络的服务进行交互。仅仅依靠网络安全措施是不够的,因为主机内部发生的一切对这些解决方案来说都是不可见的。

容器安全解决方案需要更靠近主机上事件发生的地方。例如,通过容器化代理,它将监控主机的所有网络活动,主机上运行的容器的流入和流出,并观察容器如何与不同主机的另一个网络进行交互。了解网络交互后,您可以通过网络流量加固活动来防止任何异常活动。

根据建设阶段的威胁建模,提前规划合适的网段,并加以实施和验证,以确保坠落的集装箱对其他网段的影响尽可能小,而不会对整个网络系统造成重大影响。

(4)应用配置文件加固

应用架构由许多微服务构成,每个微服务都有一个或多个实例,可以灵活扩展。应用架构中的容器是不断变化的,主要通过编排产品来实现。

因此,维护正确的应用程序拓扑和观察异常行为变得越来越困难。例如,异常行为可能是由带入生产环境的软件缺陷引起的,或者是由通过第三方开源库渗入的恶意代码引起的。

建议在开发阶段捕获正常的应用程序拓扑和行为,然后用于与生产环境的实际行为进行比较,从而发现异常情况。此外,您可以让应用程序运行一段时间,以确定生产环境中的预期应用程序,然后捕获正常的网络行为,并将其保存为正常的应用程序行为配置文件。

第三,写在最后

从简单的应用容器化到云原生应用的开发,容器技术已经成为最基础、最核心的支撑技术。新技术在带来便利和好处的同时,其安全性也需要引起足够的重视。近年来,由于容器和容器应用环境引发的安全风险和安全事件不断暴露,容器网络、容器镜像、暴露的API、容器隔离等问题成为使用容器时需要考虑的重要问题。

目前,市场上已经出现了一些集装箱安全产品制造商,如Twistlock和Aqua等。国内自研集装箱安全产品为常春藤云安全。基于Ivy代理的主机保护能力,监控主机上与容器相关的信息,如文件、进程、系统调用等。增加了代理中容器的计数、监控和保护能力,实现了一个代理,实现了主机安全和容器安全的双重保护效果。

()

报酬

二维码

分享

分享给

报酬

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3