架构
系统架构
摘要
发现 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. 安全的集群服务 复制链接链接已复制到粘贴板!
您可以使用 RHACS Cloud Service 在您要保护的每个集群中安装安全集群服务。安全的集群服务包括以下组件:
- 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 进行通信。 |
第 2 章 Red Hat Advanced Cluster Security Cloud Service 架构 复制链接链接已复制到粘贴板!
发现 Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) 架构和概念。
Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) 是一个红帽管理的软件即服务(SaaS)平台,可让您在构建、部署和运行时生命周期中保护 Kubernetes 和 OpenShift Container Platform 集群和应用程序。
RHACS 云服务包括许多内置的 DevOps 实施控制和以安全为中心的最佳实践,具体取决于行业标准,如互联网安全中心(CIS)基准和国家标准技术(NIST)指南。您还可以将其与现有 DevOps 工具和工作流集成,以提高安全性和合规性。
图 2.1. RHACS 云服务架构
中央服务包括用户界面 (UI)、数据存储、RHACS 应用程序编程接口 (API) 和镜像扫描功能。您可以通过 Red Hat Hybrid Cloud Console 部署 Central 服务。当您创建新的 ACS 实例时,红帽会为 RHACS 创建单独的 control plane。
RHACS 云服务允许您保护与 Central 实例通信的自我管理集群。您安全(称为 Secured Clusters)的集群由您管理,而不是由红帽管理。安全的集群服务包括可选的漏洞扫描服务、准入控制服务以及用于运行时监控和合规性的数据收集服务。您可以在您要保护的任何 OpenShift 或 Kubernetes 集群上安装安全集群服务。
2.2. Central 复制链接链接已复制到粘贴板!
红帽管理 Central,即 RHACS 云服务的 control plane。它包括三个主要组件: Central、Central DB 和 Scanner。
- Central: Central 是 RHACS 云服务的应用程序管理界面和服务。它管理 API 交互和用户界面访问。您可以使用同一中实例来保护多个 OpenShift Container Platform 或 Kubernetes 集群。
- Central DB: Central DB 是 RHACS 云服务的数据库,并处理所有数据持久性。它目前基于 PostgreSQL 13。
扫描程序 :扫描程序是红帽开发的、经过认证的漏洞扫描程序,用于扫描容器镜像。扫描程序执行以下功能:
- 它分析所有镜像层,检查来自常见漏洞和暴露 (CVE) 列表中的已知漏洞。
- 它标识已安装软件包和用于多种编程语言的依赖关系中的漏洞。除了扫描容器镜像外,Scanner 还识别节点的操作系统和编排器中的漏洞。例如,它会扫描节点来识别 Kubernetes、OpenShift Container Platform 和 Istio 中的漏洞。
2.3. 安全的集群服务 复制链接链接已复制到粘贴板!
您可以使用 RHACS Cloud Service 在您要保护的每个集群中安装安全集群服务。安全的集群服务包括以下组件:
- 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 中扫描镜像。
2.4. 数据访问和权限 复制链接链接已复制到粘贴板!
红帽无法访问在其中安装了安全集群服务的集群。实际上,RHACS 云服务并不需要访问安全集群的权限。例如,您不需要创建一个新的 IAM 策略、访问角色或 API 令牌。
但是,RHACS 云服务会存储安全集群服务发送的数据。所有数据都在 RHACS 云服务中加密。在 RHACS 云服务平台中加密数据有助于确保数据的保密性和完整性。
当您在集群中安装安全集群服务时,它会生成数据并将其传送到 RHACS 云服务。此数据在 RHACS 云服务平台内保持安全,只有授权的 SRE 团队成员和系统才能访问这些数据。RHACS 云服务使用此数据来监控集群和应用程序的安全性和合规性,并提供有用的分析和分析,以帮助您优化部署。