This documentation is for a release that is no longer maintained.
You can select a different version or view all RHACS documentation.架构
系统架构
摘要
发现 Red Hat Advanced Cluster Security for Kubernetes 架构和概念。
Red Hat Advanced Cluster Security for Kubernetes (RHACS) 使用分布式架构,它支持大规模部署,并进行了优化,以最大程度降低对底层 OpenShift Container Platform 或 Kubernetes 节点的影响。
图 1.1. Red Hat Advanced Cluster Security for Kubernetes 架构
当您在 Kubernetes 和 OpenShift Container Platform 上安装 RHACS 时,架构略有不同。但是,底层组件及其之间的交互保持不变。
您可以将 RHACS 作为 OpenShift Container Platform 或 Kubernetes 集群中的一组容器安装。RHACS 包括:
- 您在一个集群中安装的核心服务。
- 在您要由 RHACS 保护的每个集群中安装的安全集群服务。
除了这些主要服务外,RHACS 也与其他外部组件交互,以增强集群的安全性。
1.2. 中央服务 复制链接链接已复制到粘贴板!
您可以在单个集群中安装 Central 服务。这些服务包括三个主要组件: Central、Central DB 和 Scanner。
- Central : Central 是 RHACS 应用程序管理界面和服务。它处理 API 交互和用户界面 (RHACS Portal) 访问。您可以使用同一中实例来保护多个 OpenShift Container Platform 或 Kubernetes 集群。
- Central DB : Central DB 是 RHACS 的数据库,并处理所有数据持久性。它目前基于 PostgreSQL 13。
扫描程序 :扫描程序是红帽开发的、经过认证的漏洞扫描程序,用于扫描容器镜像。扫描程序执行以下功能:
- 它分析所有镜像层,检查来自常见漏洞和暴露 (CVE) 列表中的已知漏洞。
- 它标识已安装软件包和用于多种编程语言的依赖关系中的漏洞。除了扫描容器镜像外,Scanner 会识别节点的操作系统和编排器中的漏洞。例如,它会扫描节点来识别 Kubernetes、OpenShift Container Platform 和 Istio 漏洞。
1.3. 安全的集群服务 复制链接链接已复制到粘贴板!
您可以使用 Red Hat Advanced Cluster Security for Kubernetes 在您要保护的每个集群中安装安全集群服务,包括安装中心的集群。安全的集群服务包括以下组件:
- Sensor :传感器是负责分析和监控集群的服务。Sensor 侦听 OpenShift Container Platform 或 Kubernetes API 和 Collector 事件来报告集群的当前状态。Sensor 还根据 RHACS 策略触发部署时间和运行时违反情况。另外,Sensor 负责所有集群交互,如应用网络策略、启动 RHACS 策略的重新处理以及与 Admission 控制器交互。
- 准入控制器 : Admission 控制器可防止用户创建在 RHACS 中违反安全策略的工作负载。
- Collector :收集器分析和监控集群节点上的容器活动。它收集容器运行时和网络活动信息,并将收集的数据发送到 Sensor。
- 扫描程序 :在 Kubernetes 中,安全集群服务包括 Scanner-slim 作为可选组件。但是,在 OpenShift Container Platform 上,RHACS 在每个安全集群中安装 Scanner-slim 版本,以便在 OpenShift Container Platform 集成 registry 和其他 registry 中扫描镜像。
1.4. 外部组件 复制链接链接已复制到粘贴板!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) 与以下外部组件交互:
- 第三方系统 :您可以将 RHACS 与其他系统(如 CI/CD 管道、事件管理(SIEM)系统、日志记录、电子邮件等)集成。
-
roxctl:roxctl是一个命令行界面 (CLI),用于在 RHACS 上运行命令。 - 镜像 registry :您可以将 RHACS 与各种镜像 registry 集成,并使用 RHACS 扫描和查看镜像。RHACS 使用安全集群中发现的镜像 pull secret 为活跃镜像自动配置 registry 集成。但是,要扫描不活跃的镜像,您必须手动配置 registry 集成。
-
definitions.stackrox.io:RHACS 聚合了来自definitions.stackrox.io端点中各种漏洞源的数据,并将这些信息传递给 Central。该源包括常规、国家漏洞数据库 (NVD) 数据和特定于分发的数据,如 Alpine、Debian 和 Ubuntu。 -
collector-modules.stackrox.io: Central 到达collector-modules.stackrox.io,以获取受支持的内核模块并将这些模块传递给 Collector。
在 OpenShift Container Platform 上安装 RHACS 时,只有两个架构区别:
- 当您使用 Operator 或 Helm 安装方法在 OpenShift Container Platform 上安装 RHACS 时,RHACS 会在每个安全集群中安装 RHACS 版本。轻量级扫描器启用扫描集成的 OpenShift Container Registry (OCR) 中的镜像。
- 在安装了 Central 的集群中,Sensor 与 Scanner 通信。此连接允许访问附加到集群的内部 registry。
图 1.2. Red Hat Advanced Cluster Security for Kubernetes 架构 for OpenShift Container Platform
1.6. 服务间的交互 复制链接链接已复制到粘贴板!
本节介绍 RHACS 服务如何相互交互。
| 组件 | 方向 | 相互交互 | 描述 |
|---|---|---|---|
| Central | ⮂ | 扫描程序 | Central 和 Scanner 之间有双向通信。中央从扫描器请求镜像扫描,Scanner 从 Central 请求对其 CVE 数据库的更新。 |
| Central | ➞ |
|
Central 连接到 |
| Central | ➞ |
|
Central 从 |
| Central | ➞ | 镜像 registry | 中央查询镜像 registry 以获取镜像元数据。例如,要在 RHACS 门户中显示 Dockerfile 指令。 |
| 扫描程序 | ➞ | 镜像 registry | 扫描程序从镜像 registry 拉取镜像以识别漏洞。 |
| Sensor | ⮂ | Central | Central 和 Sensor 之间有双向通信。Sensor 定期轮询 Central 以下载传感器捆绑包配置的更新。它还会为安全集群观察到的活动发送事件,并观察到的策略违反情况。Central. 与 Sensor 通信,以强制针对启用的策略对所有部署进行重新处理。 |
| Sensor | ⮂ | 扫描程序 |
仅在 OpenShift Container Platform 中,Sensor 与 Scanner 通信以访问附加到集群的本地 registry。扫描程序与 Sensor 通信,以从 |
| Collector | ⮂ | Sensor | 收集器与 Sensor 通信,并将所有事件发送到集群的对应 Sensor。在支持的 OpenShift Container Platform 集群中,Collector 会分析节点上安装的软件包并将其发送到 Sensor,以便扫描程序稍后可以扫描它们以了解漏洞。收集器也请求 Sensor 中缺少的驱动程序。Sensor 从 Collector 请求合规性扫描结果。另外,Sensor 接收来自 Central 的外部无类别域间路由信息,并将其推送到 Collector。 |
| 准入控制器 | ⮂ | Sensor | 传感器将安全策略列表发送到 Admission 控制器。准入控制器将安全策略违反警报发送到 Sensor。准入控制器也可以根据需要从 Sensor 请求镜像扫描。 |
| 准入控制器 | ➞ | Central | 它并不常见;但是,如果知道 Central 端点且 Sensor 不可用,Admission 控制器可以直接与 Central 进行通信。 |