如何用CRD实现自动化容器安全

如何用CRD实现自动化容器安全

译文
作者:陈峻编译 2020-01-06 09:00:34

云计算

安全

系统运维

自动化 在本文中,我们将讨论如何使用Kubernetes CRD来引入安全自动化,进而确保应用程序得到相应的保护。

【51CTO.com快译】长久以来,安全一直是困扰着许多DevOps团队(包括我自己供职的加拿大保险和金融服务合作社)的症结所在。尽管在各种工具的帮助下,我们的CI/CD管道的绝大部分都已经实现了自动化,而且基于容器的自动化应用部署也是我们的常态,但是在安全方面的自动化程度仍然比较落后。与大多数DevOps团队一样,我们实施了自动化的漏洞扫描,但是在手动构建安全策略,以保护生产环境中的应用程序、及其工作负载方面仍存在着一定的问题。

可喜的是,如今Kubernetes的自定义资源类型(custom resource definitions,CRDs),却能够使我们的团队通过自己的管道,尽早地将应用程序的安全策略声明融入代码,并将此类安全策略自动化地部署到生产环境中。

目前,我们通过CRD引入了各种全局安全策略。这些策略预定义了应用程序的允许行为,并在多个Kubernetes集群之间实施了不同的防护措施。通过使用CRD来自动化且集中化地管理安全策略即代码(security policy as code),我们既可以加强与简化策略的执行,又能够以高效、容错且安全的方式部署和更新各种应用程序。

下面,我们将分享本企业是如何实现应用安全策略的自动化:

CRD的优势

为了利用容器工具所提供的各项优势,我们的团队使用了NeuVector CRD,并在NeuVector容器安全平台内定义了各种安全策略。

  • 首先通过CRD,我们让这些策略能够捕获应用程序最初的正常与合法行为,并以此建立一个完整的配置档案(profile)。
  • 接着,CRD将这些行为列入白名单,其中包括:与应用程序的标准操作相一致的所有网络规则、流程、协议、以及文件活动。
  • 最后,在应用程序的容器环境内,CRD通过只允许那些获批的网络连接(使用ISO第7层的应用协议,进行识别与检查)来提供安全性,并拒绝任何异常的外部连接。

据此,我们的策略便能够防止攻击者试图利用内部或外部的通信连接,进入应用程序所在的生产环境。

CRD既允许我们基于全局或每一个服务,来定义不同的规则;又通过支持RBAC,使我们能够利用本地的Kubernetes服务帐户与角色,来实施各项安全策略。同时,它的版本控制功能也有助于我们跟踪每一个应用程序修订版的策略。另外,诸如Open Policy Agent之类的安全策略管理工具,也能够按需支持各类集成。

创建NeuVector CRD

NeuVector CRD允许您使用Kubernetes的本地YAML文件来创建各项安全规则。

首先,您需要创建一个NeuVector CRD。如下图所示,我们使用YAML代码创建了一个CRD。同时,我们为NvSecurityRule定义了一个namespaced域,并将NvClusterSecurityRule的域范围定义为能够跨集群进行操作。

我们通过运行如下命令来创建CRD:

  • 有了NeuVector CRD之后,所有由NvSecurityRule类型调用的自定义资源,现在都可以交由CRD来处理。因此,您可以继续创建各种自定义的资源,来定义更多的安全策略。不过在此之前,请参考NeuVector的相关文档,以添加所有必需的clusterroles和clusterrolebindings。

另外,CRD可以在Kubernetes内部部署原生的、启用了RBAC的NeuVector安全规则。那些由CRD为特定的名称空间所声明的安全策略,只能由具备部署到工作区权限的服务帐户来执行。同样地,服务帐户必须具有适当的群集管理员权限,才能够跨名称空间部署那些群集范围的CRD定义。

以下是demo-security-v1.yaml文件的代码片段。它使用HTTP协议,来限制demo名称空间中的nginx-pod容器,去连接同一名称空间中的node-pod容器。

除了上述代码段,yaml文件还应该继续指定demo名称空间中各个容器所允许的所有网络连接,使用Redis协议的网络连接,以及每个容器允许的进程与文件活动。在部署应用程序之前,您可以通过将它们部署到NeuVector中,以提前准备好安全规则。此举可让应用程序在开始运行之时,就已经激活了相应的安全属性。

请参照如下命令部署您的安全策略:

  • NeuVector会在新创建的自定义资源中解析安全策略,并继续对NeuVector Controller进行REST API的调用。该Controller会按需在NeuVector中通过创建规则和配置,以实施各项策略。

安全策略即代码的用例

我个人认为:CRD和安全策略即代码的定义能力,应该能够为DevOps、DevSecOps、以及开发团队带来更好的安全性。我们可以从如下四个方面着手进行实践:

将开发和测试清单尽早导入应用的生命周期中

通过为应用程序创建部署与安全清单,开发人员能够在开发的初期尽早的利用CRD来保障安全性。在完成镜像的构建、自动化漏洞扫描、以及DevOps的审查之后,DevOps人员可以通过测试这两份清单,来为开发人员提供有效的安全性反馈。

因此,从最初到被部署到生产环境中,有效的安全策略始终伴随着新的应用程序。

使用行为学习来创建安全策略。

DevOps团队可以在测试环境中使用NeuVector的行为学习功能,来定义安全策略,并创建针对NeuVector CRD的YAML格式文件。通过如下的工作流(从图的右下角开始),DevOps和QA团队就能够将应用程序顺利地部署到测试与QA环境之中。也就是说,应用程序在此将完成全部与行为相关的配置文件,其中包括:产生适当的网络、流程、以及文件访问的安全性规则等。

在部署到生产环境之前,开发人员可以将新创建的规则导出为YAML格式,以便进行检查、编辑、以及开展DevOps的相关测试。

定义全局的安全策略

值得注意的是:通过启用全局安全策略的定义方式,NeuVector CRD既可以为那些未连接到任何特定应用的负载,又可以不针对集群中的某个特定负载予以分组。例如:安全、合规或运营团队可能需要定义网络出、入口的全局安全规则,以阻止某些进程横跨各个容器,或是允许某些进程对于整个集群中的监控与诊断。

因此,通过结合使用全局策略,和那些特定于某个应用的策略,整个团队就可以制定出本组织真正所需的精确规则。如下图所示,我们用如下规则来拒绝来自容器的SSH连接。

将策略从研发阶段迁移到生产环境。

通过使用NeuVector CRD,您可以将全部或是某些选定的安全策略,从研发阶段自动化迁移到生产环境中。在NeuVector控制台中,您可以通过配置“New Services Mode”,来发现、监视或保护各种设置。通过选择“Monitor”或“Protect”,您可以确保所有新部署的、或更新的服务,在激活之前,都必须包含必需的安全规则。

综上所述,通过利用Kubernetes CRD、以及安全策略即代码,开发团队和DevOps团队能够确保从开发伊始到生产部署,都能够得到安全自动化的“加持”,进而为应用程序提供更好的保护。

原文标题:How to Automate Container Security by Using CRDs to Get Security Policy as Code,作者:Niteen Kole

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/308397.html<

(0)
运维的头像运维
上一篇2025-05-27 13:48
下一篇 2025-05-27 13:49

相关推荐

  • hypervmart是什么,hypervmart官网入口

    hypervmart 在 2026 年是否值得投资?核心结论:是,但需精准匹配供应链场景hypervmart 作为 2026 年跨境零售与 B2B 融合的新兴平台,其核心价值在于利用 AI 驱动的供应链优化技术,为中小卖家提供低于行业平均 15% 的履约成本,但成功与否高度依赖卖家对“跨境物流时效”与“海外仓选……

    2026-05-02
    0
  • RAKsmart独立服务器2026年测评,CN2 GIA实测数据与性能表现,CN2 GIA服务器到底怎么样,CN2 GIA独立服务器推荐

    RAKsmart 独立服务器在 2026 年已确立为连接中国内地与全球的高性能网络枢纽,其 CN2 GIA 线路实测延迟稳定在 35ms 以内,吞吐量突破 900Mbps,是跨境业务场景下兼顾稳定性与性价比的优选方案,核心网络性能深度解析2026 年 CN2 GIA 线路实测数据在 2026 年的网络架构中,R……

    2026-05-02
    0
  • hosteonsVPS测评,实测体验,hosteonsVPS怎么样?

    Hosteons VPS 在 2026 年的实测表现显示,其依托全球 BGP 线路优化与 NVMe 全闪存架构,在亚洲至北美跨洋延迟控制上表现优异,是追求高性价比与稳定性的中小型企业首选,但需注意其部分机房在晚高峰期的波动风险,核心性能与网络架构深度解析在 2026 年云计算基础设施全面向 AI 算力与边缘计算……

    2026-05-02
    0
  • BaCloud独立服务器测评不限流量实测表现,BaCloud独立服务器不限流量怎么样

    2026 年实测结论:BaCloud 独立服务器在不限流量场景下表现优异,特别适合高并发视频流媒体与大数据传输业务,其性价比与稳定性在同类竞品中处于第一梯队,但需关注其节点覆盖密度,在 2026 年云计算市场进入存量博弈与精细化运营并存的阶段,企业用户对于“不限流量”的诉求已从单纯的带宽大小转向实际吞吐能力与计……

    2026-05-02
    0
  • 香港旅游好去处,香港自由行攻略,香港签证怎么办理

    2026 年香港作为全球顶级金融与科创枢纽,其核心优势在于“一国两制”下的资金自由流动、低税率环境及与国际市场无缝对接的法治体系,是跨境企业布局亚太的首选地,2026 香港宏观环境:政策红利与产业格局进入 2026 年,香港在巩固国际金融中心地位的同时,正加速向“国际创新科技中心”转型,根据香港特区政府统计处及……

    2026-05-02
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注