基本安全功能 Red Hat OpenShift Container Platform

IBM® Software Hub 基于 Red Hat® OpenShift® Container Platform 安全特性,通过强大的加密控制保护敏感客户数据,并在应用程序和平台范围内实施访问控制。

功能部件

Red Hat OpenShift Container Platform 通过添加多项功能,显著提升平台安全性,从而实现更优化的安全态势。

特性 了解更多
作为不可变的主机 Red HatCoreOS 操作系统使用。 参见文档 Red Hat OpenShift Container PlatformRed Hat Enterprise LinuxCoreOS 中的:
启用 Security Enhanced Linux® (SELinux) 作为 的必填项 Red Hat OpenShift Container Platform 参见文档 在集装箱上 Red Hat Enterprise Linux 加固 CoreOSRed Hat OpenShift Container Platform
通过符合 FIPS(联邦信息处理标准)的加密(第一级 FIPS 140-2),提供更强健的平台安全性。 请参阅文档 Red Hat OpenShift Container Platform 中关于FIPS加密的支持说明
使用 Node Tuning Operator,这提供了在安全上下文约束 (SCC) 中进一步减少特权需求的机会。 请参阅文档 Red Hat OpenShift Container Platform 中的使用 Node Tuning Operator 说明
提供合规操作员,该工具可执行合规性扫描并推荐补救策略,助您实现并维持合规状态。 合规操作员包含代表各种基准的配置文件,例如 CIS Benchmark 适用于 Red Hat OpenShift Container Platform 4的基准。 参见 Red Hat OpenShift Container Platform 文档中的 《理解合规性运算符 》:
支持对存储在 etcd 中的数据进行加密,这为存储在 etcd 数据库中的私钥提供额外保护。 参见文档 Red Hat OpenShift Container Platform 中的加密 etcd 数据部分
提供网络绑定磁盘加密 (NBDE) 功能部件,可用于自动远程启用 LUKS 加密卷,从而更好地防止针对主机存储器的物理窃取。 请参阅文档 Red Hat OpenShift Container Platform 中的网络绑定磁盘加密(NBDE)

服务帐户和角色

IBM Software Hub 在集群 OpenShift 上的专用命名空间或项目中运行。 在该项目 OpenShift 中, IBM Software Hub 为 pod 创建服务账户和 RBAC 角色绑定,供 pod 在该命名空间内使用。

角色

安装 IBM Software Hubcontrol plane 时,将创建两个角色: cpd-admin-rolecpd-viewer-role

这些角色确保 IBM Software Hub 即使在同一命名空间内,也能应用最小权限原则。

您安装的服务会引入额外的角色。

与实例关联的角色作用域限定于该实例 IBM Software Hub 的操作对象项目及其任何关联项目。 这些角色未被授予集群权限。

服务帐户

每个 OpenShift 项目中自动创建的默认服务账户:

  • restricted-v2restricted 安全上下文约束(SCC)相关联。
  • 用于用户工作负载,例如笔记本和 Python 作业。
  • 未授予任何基于角色的访问控制(RBAC)权限。 没有角色绑定到默认服务账户。
  • 不允许在命名空间内执行任何类型的操作。

安装 IBM Software Hubcontrol plane 时,将创建四个服务账户: zen-admin-sa, zen-editor-sa, zen-viewer-sa, 和 zen-norbac-sa

这些服务账户未显式绑定任何安全配置文件(SCC),因此默认采用 或 restricted-v2 安全 restricted 配置文件。

您安装的服务会引入额外的服务账户。 这些服务账户大多使用 restrictedrestricted-v2 SCC。 然而,某些服务需要自定义的SCC,例如用于支持进程间通信(IPC)。 有关需要自定义SCC的服务的更多信息,请阅《为服务创建自定义安全上下文约束》。

与实例关联的服务账户作用域限定于该 IBM Software Hub 实例的操作项目及其任何关联项目。 服务账户未被授予集群权限。

服务UID

服务使用基于其安装 Red Hat OpenShift Container Platform 项目的UID。

创建项目时, Red Hat OpenShift 系统会为该项目分配一组唯一的UID范围。 要确定与某个项目关联的UID,请运行以下命令:

oc describe project project-name

project-name 替换为安装 IBM Software Hub 了 的项目的名称。

此外,若服务使用自定义SCC,则会预留一个或多个UID:
  • Informix SCC保留UID 1000
  • 受限的 Db2 as a service SCC保留UID 500

有关哪些服务使用这些SCC的详细信息,请参阅 《为服务创建自定义安全上下文约束 》。

安全强化

安全强化措施已在 IBM Software HubRed Hat OpenShift实施。 将会采取下列安全强化措施:

  • 通常情况下,只有非root进程在容器中运行。

    根据集群的配置方式,依赖于 的服务 Db2U 可能具有 allowPrivilegedContainer: true 设置,并以 sudo 权限运行。 若要使这些服务在 环境下运行,必须修改内核参数设置, allowPrivilegedContainer: false允许 Db2U 执行不安全的 sysctl 操作。

  • 通常,容器使用的进程用户标识符(UID)位于项目 OpenShift 定义的范围内,并 restricted 由安全上下文 restricted-v2 控制(SCC)强制执行,从而防止容器以root身份运行。

    需要固定UID的服务使用自定义SCC来预留所需的UID。 有关详细信息,请阅《为服务创建自定义安全上下文约束》。

  • 在运行时, IBM Software Hub 工作负载无需 cluster-admin 特权或主机访问权限。 服务 IBM Software Hub 使用的安全隔离容器(SCCs)阻止工作负载访问集群中的主机路径和网络。
    重要提示: 根据集群的配置方式,依赖于 的服务 Db2U 可能需要临时访问集群中的主机路径。 具体来说 init ,容器将主机的 /proc 目录挂载为 /host/proc。 容器 init 完成后,该 Db2U 容器不具备提升特权。 这仅在服务具有该 allowPrivilegedContainer: true 设置时发生。
  • 严格执行具有基于角色的访问控制(RBAC)权限的服务账户使用,并遵循最小权限原则。 IBM Software Hub 确保任何运行用户代码(如脚本或分析环境)的容器均不被授予任何基于角色的访问控制(RBAC)权限。
  • IBM Software Hub Pods 限制资源消耗。 每个容器都预先定义了对 CPU vCPU 和内存的请求与限制 这限制了消费。 这种方法有助于避免与繁忙的相邻 Pod 争用资源。
    提示: 安装 scheduling service 以减轻嘈杂邻居和恶意活动的影响。 有关更多信息,请参阅确定要安装的 IBM Software Hub 组件
  • IBM Software Hub Pod 包含活动检测和就绪检测,以确保 Pod 正常运行。
  • 在消耗监控方面,集群中的每个Pod都 IBM Software Hub 带有计量注释,用于唯一标识集群中的附加服务工作负载。 您可以使用集成的监控接口来了解如何 IBM Software Hub 使用资源。 有关更多信息,请参阅 《平台监控》
  • 通常情况下, IBM Software Hub 用户不会被授予 OpenShift 访问权限。

    您可选择授予用户 IBM Software Hub 作为实例管理员访问集群的权限,以便该用户能够安装或升级与其实例 IBM Software Hub相关的软件。 实例管理员仅能访问与某个实例关联 IBM Software Hub的项目

最佳安装实践

从客户端工作站运行安装程序
您可以通过以下命令行界面从客户端工作站安装和管理软件 IBM Software Hub
  • IBM Software Hub 命令行界面 (cpd-cli CLI)
  • Red Hat OpenShift Container Platform 命令行界面 (oc CLI)

您无需通过SSH登录集群。

将软件镜像存储在私有容器注册表中

IBM Software Hub 软件映像可从. IBM Entitled Registry访问。 在大多数情况下,强烈建议您将必要的软件镜像从 镜像源复制到 IBM Entitled Registry 私有容器注册表。

在以下情况下,您必须将 IBM Software Hub 软件镜像镜像到您私有的容器注册表:
  • 您的集群处于空气隔离状态(也称为离线或断开连接的集群)。
  • 您的集群使用白名单允许特定站点直接访问,而该白名单未包含 IBM Entitled Registry.
  • 您的集群使用阻止列表来阻止特定网站的直接访问,该阻止列表包含 IBM Entitled Registry.
即使这些情况不适用于您的环境,如果您希望实现以下目标,仍应考虑使用私有容器注册表:
  • 在将软件映像安装到集群之前,请对其运行安全扫描
  • 确保在多个部署环境(如开发环境、测试环境和生产环境)中使用相同的图像
在物理隔离的集群上 IBM Software Hub 安装

命令行 IBM Software Hub 界面(cpd-cli)使您能够在集群和私有容器注册表处于物理隔离状态时安装软件 IBM Software Hub

在将客户端工作站移至防火墙后方之前,可将镜像从 IBM Entitled Registry 镜像到客户端工作站上的中间容器注册表。 将镜像镜像到中间容器注册表后,您可以将中间容器注册表移至防火墙后方,以便将镜像镜像到私有容器注册表。 然后,您可以配置集群从私有容器注册表拉取软件 IBM Software Hub 镜像。 有关更多信息,请参阅 《从私有容器注册表准备运行 IBM Software Hub 安装程序 》。

操作员特权
IBM Software Hub 采用操作员模式来管理工作负载,从而实现关注点的分离。 每个实例都有 IBM Software Hub 其专属的操作符,这些操作符安装在该实例的操作符项目中。 操作员被明确授予访问权限,可控制该实例下操作数项目及任何关联项目的负载 IBM Software Hub 。 操作员同样仅限于在与实例关联的项目集范围内操作,不得管理集群中的非IBM Software Hub 项目。

例外情况是用于, License Service, IBM Certificate managerscheduling service的运算符,它们是集群作用域运算符。

安装角色与角色描述了完成各类安装任务所需的最低权限。