第 8 章 使用 Container Security Operator 扫描 pod 镜像


Container Security Operator (CSO)是 OpenShift Container Platform 和其他 Kubernetes 平台上的 Clair 安全扫描程序的附加组件。使用 CSO,用户可以扫描与活跃 pod 关联的容器镜像以了解已知的漏洞。

注意

在没有 Red Hat Quay 和 Clair 的情况下,CSO 无法工作。

Container Security Operator (CSO)执行以下功能:

  • 监视与指定或所有命名空间中的 pod 关联的容器。
  • 查询容器来自漏洞信息的容器 registry (提供镜像 registry 支持镜像扫描,如带有 Clair 扫描的 Red Hat Quay registry)。
  • 通过 Kubernetes API 中的 ImageManifestVuln 对象公开漏洞。
注意

要参阅在 Kubernetes 上安装 CSO 的说明,请在 Container Security OperatorHub.io 页面中选择 Install 按钮。

8.1. 在 OpenShift Container Platform 中下载并运行 Container Security Operator

使用以下步骤下载 Container Security Operator。

注意

在以下步骤中,CSO 安装在 marketplace-operators 命名空间中。这允许在 OpenShift Container Platform 集群的所有命名空间中使用 CSO。

  1. 进入 Operators OperatorHub(选择安全性)来查看可用的 Container Security Operator。
  2. 选择 Container Security Operator,然后选择 Install 进入 Create Operator Subscription 页面。
  3. 检查设置(所有命名空间和自动批准策略),然后选择 Subscribe。在 Installed Operators 屏幕中几分钟后会出现 Container Security
  4. 另外,您可以选择在 CSO 中添加自定义证书。在本例中,在当前目录中创建一个名为 quay.crt 的证书。然后,运行以下命令将证书添加到 CSO(重启 Operator pod 以使新证书生效):

    $ oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operators
  5. 打开 OpenShift Dashboard(Home Dashboards)。指向镜像安全性的链接会出现在 status 部分,其中列出了目前发现的漏洞数量。选择该链接以查看安全分类,如下图所示:

    Access SCO scanning data from OpenShift dashboard

  6. 对于任何检测到的安全漏洞,您可以在此时进行两个操作之一:

    • 选择到这个漏洞的链接。您会进入容器来自的容器 registry、Red Hat Quay 或其他 registry,从中可查看与漏洞相关的信息。下图显示了从 Quay.io registry 中检测到的漏洞示例:

      The CSO points you to a registry containing the vulnerable image

    • 选择 namespaces 链接以进入 ImageManifestVuln 屏幕,您可以在其中查看所选镜像的名称以及该镜像正在运行的所有命名空间。下图表示某个存在安全漏洞的镜像在两个命名空间中运行:

      View namespaces a vulnerable image is running in

此时,您知道哪些镜像存在这个安全漏洞,需要做什么来修复这些漏洞,以及镜像在中运行的每个命名空间。您可以:

  • 警告运行镜像的用户需要修正这个漏洞
  • 停止镜像运行(通过删除启动镜像所在部署或其他对象)

请注意,如果您删除 pod,可能需要几分钟时间才能在仪表板上重置漏洞。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.