本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

概述

NeuVector 5.x是一个开源的以容器为中心的安全平台,与Rancher集成。NeuVector在运行时为关键应用程序和数据提供实时合规性、可见性和保护。NeuVector提供防火墙、容器处理/文件系统监控、基于CIS基准的安全审计和漏洞扫描。有关Rancher安全的更多信息,请参见安全文档

可以通过Helm图表启用NeuVector,该图表可以通过*应用*或Rancher UI中的*集群工具*按钮安装。一旦安装了Helm图表,用户可以轻松 在Rancher中部署和管理NeuVector集群

在Rancher中安装SUSE Security

Harvester Helm图表用于管理对Rancher中NeuVector UI的访问,用户可以直接导航以部署和管理他们的NeuVector集群。

通过 Apps 导航并安装 NeuVector 图表:

  1. 单击 ☰ > 集群管理

  2. 在集群页面上,转到您想要部署NeuVector的集群,然后单击*探索*。

  3. 转到Apps  Charts,并从图表库中安装*NeuVector*。

  4. 不同的集群类型需要不同的容器运行时。在配置Helm图表值时,转到*容器运行时*部分,并根据集群类型选择您的运行时。最后,再次单击*安装*。

一些示例如下:

  • K3s和RKE2:k3scontainerd

  • AKS:`containerd`适用于v1.19及以上版本

  • EKS:`docker`适用于v1.22及以下版本;`containerd`适用于v1.23及以上版本

  • GKE:containerd(有关更多信息,请参见 Google文档

在安装过程中,每次只能选择一个容器运行时。

要通过集群工具导航并安装 NeuVector 图表:

  1. 单击 ☰ > 集群管理

  2. 在集群页面上,转到您想要部署NeuVector的集群,然后单击*探索*。

  3. 在左侧导航栏底部单击 集群工具

  4. 重复上述第 4 步,根据需要选择您的容器运行时,然后再次单击 安装

从 Rancher UI 访问 SUSE Security

  1. 导航到安装了 NeuVector 的集群的集群浏览器。在左侧导航栏中,单击 NeuVector

  2. 单击外部链接以访问 NeuVector UI。一旦选择了链接,用户必须接受 END USER LICENSE AGREEMENT 才能访问 NeuVector UI。

从 Rancher UI 卸载 SUSE Security

要从应用程序卸载:

  1. 单击 ☰ > 集群管理

  2. 应用程序 下,单击 已安装的应用程序

  3. cattle-neuvector-system 下,选择 NeuVector 应用程序(如果需要,还可以选择相关的 CRD),然后单击 删除

要从集群工具卸载:

  1. 单击 ☰ > 集群管理

  2. 在屏幕左下角单击 集群工具,然后在 NeuVector 图表下单击垃圾桶图标。如果需要,选择 Delete the CRD associated with this app,然后单击 删除

GitHub 储存库

NeuVector 项目可在 此处 获取。

文档

NeuVector 文档可在 此处 获取。

体系结构

NeuVector 安全解决方案包含四种类型的安全容器:控制器、执行者、管理者和扫描器。还提供一个名为 All-in-One 的特殊容器,将控制器、执行者和管理器功能合并在一个容器中,主要用于 Docker 原生部署。还有一个更新器,当运行时,将更新 CVE 数据库。

  • *控制器:*管理 NeuVector 执行者容器;为管理控制台提供 REST API。

  • *强制器:*执行安全策略。

  • *管理器:*提供 Web UI 和 CLI 控制台以管理 NeuVector 平台。

  • *All-in-One:*包括控制器、执行者和管理器。

  • *扫描器:*对镜像、容器和节点进行漏洞和合规性扫描。

  • *更新器:*更新 NeuVector 的 CVE 数据库(在运行时);重新部署扫描器 Pod。

NeuVector 安全容器
Figure 1. NeuVector 安全容器
NeuVector 架构
Figure 2. NeuVector 架构

要了解有关 NeuVector 架构的更多信息,请参阅 这里

CPU 和内存分配

以下是默认部署中 NeuVector 图表安装的最低推荐计算资源。请注意,资源限制未设置。

容器 CPU - 请求 内存 - 请求

控制器

3(每个控制器需要1GB内存和1个vCPU)

*

Enforcer

在所有节点上(500MB,0.5vCPU)

1GB

经理

1 (500MB .5vCPU)

*

扫描程序

3 (100MB .5vCPU)

*

  • 控制器、管理器和扫描器容器总共需要至少1GB的内存。

强化集群支持 - Calico和Canal

RKE2

  • 如果PSP设置为true,则可部署NeuVector组件控制器和执行器。

仅适用于NeuVector图表版本100.0.0+up2.2.0:

  • 对于管理器、扫描器和更新器组件,需要额外的配置,如下所示:

    kubectl patch deploy neuvector-manager-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
    kubectl patch deploy neuvector-scanner-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
    kubectl patch cronjob neuvector-updater-pod -n cattle-neuvector-system --patch '{"spec":{"jobTemplate":{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}}}'

    您需要为强化集群环境设置额外的配置。

    您必须按照下面所示在RKE2和K3s强化集群中更新您的配置。
    1. 单击 ☰ > 集群管理

    2. 转到您创建的集群并单击*探索*。

    3. 在左侧导航栏中,单击*应用*。

    4. 安装(或升级到)NeuVector版本`100.0.1+up2.2.2`。

      1. 在*编辑选项* > 其他配置*下,通过勾选框启用*Pod安全策略。请注意,您还必须为`Manager runAsUser ID`、`Scanner runAsUser ID`和`Updater runAsUser ID`输入大于`zero`的值:

        为RKE2和K3s强化集群启用PSP
    5. 单击右下角的*安装*以完成。

启用SELinux的集群支持 - Calico和Canal

要在RKE2集群上启用SELinux,请按照以下步骤操作:

  • 如果PSP设置为true,则可部署NeuVector组件控制器和执行器。

仅适用于NeuVector图表版本100.0.0+up2.2.0:

  • 对于管理器、扫描器和更新器组件,需要额外的配置,如下所示:

kubectl patch deploy neuvector-manager-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
kubectl patch deploy neuvector-scanner-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
kubectl patch cronjob neuvector-updater-pod -n cattle-neuvector-system --patch '{"spec":{"jobTemplate":{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}}}'

在隔离环境中的集群支持

  • 所有NeuVector组件都可以在无额外配置的情况下,在隔离环境中的集群上部署。

支持限制

  • 目前仅支持管理员和集群所有者。

  • 不支持Fleet多集群部署。

  • NeuVector不支持在Windows集群上运行。

其他限制

  • 目前,当已经存在NeuVector合作伙伴图表时,NeuVector功能图表的安装会失败。为了解决此问题,请卸载NeuVector合作伙伴图表,然后重新安装NeuVector功能图表。

  • 有时,当控制器未准备好时,无法从Rancher UI访问NeuVector UI。在此期间,控制器会尝试重启,控制器变为活动状态需要几分钟。

  • 在安装NeuVector图表时,不同集群类型的容器运行时不会自动检测。为了解决此问题,您可以手动指定运行时。