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


通过使用 Container Security Operator,(CSO)可以扫描与活跃 pod 关联的容器镜像,在 OpenShift(4.2 或更高版本)和其他 Kubernetes 平台上运行,以了解已知漏洞。CSO:

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

根据这里的说明,CSO 安装在 marketplace-operators 命名空间中,因此 OpenShift 集群上的所有命名空间都可以使用它。

注意

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

8.1. 在 OpenShift 中运行 CSO

要在 OpenShift 中使用 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.