第 15 章 对 pod 进行安全漏洞扫描
Red Hat Quay Container Security Operator 已被弃用,计划在以后的 OpenShift Container Platform 发行版本中删除。Red Hat Quay Container Security Operator 的官方替换产品是 Red Hat Advanced Cluster Security for Kubernetes。
使用 Red Hat Quay Container Security Operator,您可以访问 OpenShift Container Platform Web 控制台中用于集群中活跃 pod 的容器镜像,访问 OpenShift Container Platform Web 控制台中的漏洞扫描结果。Red Hat Quay Container Security Operator:
- 监视与所有或指定命名空间中的 pod 关联的容器
- 查询容器来自漏洞信息的容器 registry,提供镜像的 registry 正在运行镜像扫描(如 Quay.io 或带有 Clair 扫描的 Red Hat Quay registry)
-
通过 Kubernetes API 中的
ImageManifestVuln对象公开漏洞
根据这里的说明,Red Hat Quay Container Security Operator 安装在 openshift-operators 命名空间中,因此 OpenShift Container Platform 集群中的所有命名空间都可以使用它。
15.1. 安装 Red Hat Quay Container Security Operator 复制链接链接已复制到粘贴板!
您可以从 OpenShift Container Platform Web 控制台 Operator Hub 或 CLI 安装 Red Hat Quay Container Security Operator。
先决条件
-
已安装
ocCLI。 - 具有 OpenShift Container Platform 集群的管理员特权。
- 您有来自集群中运行的 Red Hat Quay 或 Quay.io registry 的容器。
流程
您可以使用 OpenShift Container Platform Web 控制台安装 Red Hat Quay Container Security Operator:
-
在 Web 控制台中,进入到 Operators
OperatorHub 并选择 Security。 - 选择 Red Hat Quay Container Security Operator Operator,然后选择 Install。
-
在 Red Hat Quay Container Security Operator 页面中,选择 Install。Update channel, Installation mode, 和 Update approval 会自动选择。Installed Namespace 字段默认为
openshift-operators。您可以根据需要调整这些设置。 - 选择 Install。在 Installed Operators 页中几分钟后会出现 Red Hat Quay Container Security Operator。
可选: 您可以将自定义证书添加到 Red Hat Quay Container Security Operator。例如,在当前目录中创建一个名为
quay.crt的证书。然后,运行以下命令将自定义证书添加到 Red Hat Quay Container Security Operator 中:oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operators
$ oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 可选:如果您添加了自定义证书,请重启 Red Hat Quay Container Security Operator pod 以使新证书生效。
-
在 Web 控制台中,进入到 Operators
另外,您可以使用 CLI 安装 Red Hat Quay Container Security Operator:
输入以下命令来检索 Container Security Operator 及其频道的最新版本:
oc get packagemanifests container-security-operator \ -o jsonpath='{range .status.channels[*]}{@.currentCSV} {@.name}{"\n"}{end}' \ | awk '{print "STARTING_CSV=" $1 " CHANNEL=" $2 }' \ | sort -Vr \ | head -1$ oc get packagemanifests container-security-operator \ -o jsonpath='{range .status.channels[*]}{@.currentCSV} {@.name}{"\n"}{end}' \ | awk '{print "STARTING_CSV=" $1 " CHANNEL=" $2 }' \ | sort -Vr \ | head -1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
STARTING_CSV=container-security-operator.v3.8.9 CHANNEL=stable-3.8
STARTING_CSV=container-security-operator.v3.8.9 CHANNEL=stable-3.8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用上一命令的输出,为 Red Hat Quay Container Security Operator 创建一个
Subscription自定义资源,并将它保存为container-security-operator.yaml。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令应用配置:
oc apply -f container-security-operator.yaml
$ oc apply -f container-security-operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
subscription.operators.coreos.com/container-security-operator created
subscription.operators.coreos.com/container-security-operator createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow