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

5.x 概述

完整生命周期容器安全平台

这些文档描述了 5.x(开源)版本。5.x 镜像可以通过 Docker Hub 访问,使用适当的标签,例如 neuvector/controller:(version)

SUSE® Security 提供了强大的端到端容器安全平台。这包括对容器、Pod 和主机的全链路漏洞扫描和完整运行时保护,包括:

  1. CI/CD 漏洞管理与准入控制。使用 Jenkins 插件扫描镜像,扫描注册表,并对生产环境中的部署执行准入控制规则。

  2. 违规保护。发现行为并创建基于白名单的策略,以检测正常行为的违规。

  3. 威胁检测。检测常见的应用攻击,例如对容器的 DDoS 和 DNS 攻击。

  4. 数据丢失防护和 WAF 传感器。检查网络流量以防止敏感数据丢失,并检测常见的 OWASP Top10 WAF 攻击。

  5. 运行时漏洞扫描。扫描注册表、镜像和运行中的容器编排平台及主机,以查找常见的(CVE)以及特定于应用程序的漏洞。

  6. 合规性与审计。自动运行 Docker Bench 测试和 Kubernetes CIS 基准。

  7. 终端/主机安全。检测特权提升,监控主机和容器内的进程和文件活动,并监控容器文件系统中的可疑活动。

  8. 多集群管理。从单一控制台监控和管理多个 Kubernetes 集群。

SUSE® Security的其他功能包括隔离容器、通过 SYSLOG 和 webhooks 导出日志、启动数据包捕获以进行调查,以及与 OpenShift RBAC、LDAP、Microsoft AD 和 SAML 的 SSO 集成。注意:隔离意味着所有网络流量被阻止。 容器将保持运行 - 只是没有任何网络连接。 Kubernetes不会启动一个容器来替代被隔离的容器,因为api-server仍然能够访问该容器。

安全容器

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

SUSE® Security可以在虚拟机或单一操作系统的裸机系统上部署。

部署

控制器

控制器管理SUSE® Security执行者容器集群。它还为管理控制台提供REST API。尽管典型的测试部署只有一个控制器,但建议在高可用性配置中使用多个控制器。在Kubernetes生产部署示例yaml中,3个控制器是默认配置。

Enforcer

执行者是一个轻量级容器,执行安全策略。每个节点(主机)上应部署一个执行者,例如作为守护进程集。

对于Docker原生(非Kubernetes)部署,执行者容器和控制器不能部署在同一节点上(除非在下面的全合一情况下)。

经理

管理者是一个无状态容器,为用户提供一个Web UI(仅HTTPS)控制台,以管理SUSE® Security安全解决方案。可以根据需要部署多个管理器容器。

All-in-One

All-in-One 容器将控制器、执行者和管理器打包在一起。它便于在单节点或小规模部署中进行简单安装。

扫描程序

扫描器是一个容器,用于对镜像、容器和节点进行漏洞和合规性扫描。它通常作为副本集部署,可以根据需要扩展到多个并行扫描器,以提高扫描性能。控制器以轮询方式将扫描任务分配给每个可用的扫描器,直到所有扫描完成。扫描器还包含最新的CVE数据库,并由SUSE® Security定期更新。

更新器

更新器是一个容器,运行时会更新SUSE® Security的CVE数据库。SUSE® Security定期发布新的扫描器镜像,以包含最新的CVE进行漏洞扫描。更新器通过将部署缩减为零并重新扩展来重新部署所有扫描器Pod,强制拉取更新的扫描器镜像。

体系结构

以下是SUSE® Security的一般架构概述。未显示的是单独的扫描器容器,它也可以作为独立的管道扫描器运行。

体系结构

部署示例

有关常见部署模式和最佳实践,请参见入门/最佳实践部分

All-in-One 和执行者

此部署非常适合单节点或小规模环境,例如用于评估、测试和小规模部署。All-in-One 容器部署在一个节点上,该节点也可以是运行应用程序容器的节点。执行者可以部署在所有其他节点上,每个希望用SUSE® Security保护的节点上需要一个执行者。这对于本地 Docker 部署也很有用,其中控制器和执行器无法在同一主机上运行。

控制器、管理器和执行器容器

这是一个更通用的部署场景,包含一个或多个控制器、一个管理器和一组执行者。控制器和管理器可以部署在同一节点上,也可以部署在与执行器不同的节点上。

仅限 All-in-One

您可以仅部署 All-in-One 容器进行注册表扫描,使用 Jenkins 插件,或对 SUSE® Security 进行简单的单节点测试。

仅限控制器

可以部署单个控制器容器和/或扫描器,以管理集群外的漏洞扫描,例如与 Jenkins 插件一起使用。注册表扫描也可以通过控制器仅使用 REST API 执行,但通常还希望有一个管理器容器,以提供基于控制台的配置和注册表扫描结果查看。