RHCOS 的创建和调整是为了在 OpenShift Container Platform 中部署,几乎不需要对 RHCOS 节点进行任何更改。每个采用 OpenShift Container Platform 的组织对系统加固都有其自身的要求。作为具有 OpenShift 特定修改和新增功能(例如 Ignition、ostree 和只读 `/usr` 以提供有限的不可变性)的 RHEL 系统,您可以像加固任何 RHEL 系统一样加固 RHCOS。区别在于您管理加固的方式。
OpenShift Container Platform 及其 Kubernetes 引擎的一个关键特性是能够根据需要快速扩展和缩减应用程序和基础设施。除非不可避免,否则您不希望通过登录主机并添加软件或更改设置来直接更改 RHCOS。您希望 OpenShift Container Platform 安装程序和控制平面管理对 RHCOS 的更改,以便无需人工干预即可启动新的节点。
因此,如果您要加固 OpenShift Container Platform 中的 RHCOS 节点以满足您的安全需求,则应同时考虑要加固的内容以及如何进行加固。
RHEL 9 安全加固指南描述了您应该如何处理任何 RHEL 系统的安全问题。
使用本指南了解如何处理密码学、评估漏洞以及评估对各种服务的威胁。同样,您可以了解如何扫描合规性标准、检查文件完整性、执行审核以及加密存储设备。
了解要加固的功能后,您可以决定如何在 RHCOS 中加固它们。
不建议直接修改 OpenShift Container Platform 中的 RHCOS 系统。相反,您应该考虑修改节点池中的系统,例如工作节点和控制平面节点。当需要新节点时,在非裸机安装中,您可以请求所需类型的新节点,它将从 RHCOS 镜像加上您之前创建的修改中创建。
在安装前、安装期间和集群运行后,都有机会修改 RHCOS。
对于裸机安装,您可以在开始 OpenShift Container Platform 安装之前向 RHCOS 添加加固功能。例如,您可以在启动 RHCOS 安装程序时添加内核选项以打开或关闭安全功能,例如各种 SELinux 布尔值或低级设置,例如对称多线程。
不支持在 RHCOS 节点上禁用 SELinux。 |
尽管裸机 RHCOS 安装更困难,但它们提供了在启动 OpenShift Container Platform 安装之前实施操作系统更改的机会。当您需要确保在最早的时间设置某些功能(例如磁盘加密或特殊网络设置)时,这可能非常重要。
您可以中断 OpenShift Container Platform 安装过程并更改 Ignition 配置。通过 Ignition 配置,您可以将您自己的文件和 systemd 服务添加到 RHCOS 节点。您还可以对用于安装的 `install-config.yaml` 文件进行一些基本的与安全相关的更改。以这种方式添加的内容在每个节点的第一次启动时都可用。
OpenShift Container Platform 集群运行后,有几种方法可以将加固功能应用于 RHCOS。
守护进程集:如果您需要在每个节点上运行一项服务,您可以使用Kubernetes DaemonSet
对象添加该服务。
机器配置:MachineConfig
对象包含相同格式的 Ignition 配置的子集。通过将机器配置应用于所有工作节点或控制平面节点,您可以确保添加到集群的相同类型的下一个节点应用相同的更改。
此处列出的所有功能都在 OpenShift Container Platform 产品文档中进行了描述。