Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

8.9. 扫描容器和容器镜像中的漏洞

使用以下步骤查找容器或容器镜像中的安全漏洞。
您可以使用 oscap-docker 命令行工具或 atomic 扫描 命令行实用程序来查找容器或容器镜像中的安全漏洞。
使用 oscap-docker 时,您可以使用 oscap 程序扫描容器镜像和容器。
通过 原子扫描,您可以使用 OpenSCAP 扫描功能来扫描系统上的容器镜像和容器。您可以扫描已知 CVE 漏洞以及配置合规性。另外,您还可以将容器镜像修复到指定的策略。

8.9.1. 使用 oscap-docker扫描容器镜像和容器中的漏洞

您可以使用 oscap-docker 工具扫描容器和容器镜像。
注意
oscap-docker 命令需要 root 特权,容器的 ID 是第二个参数。

先决条件

  • 已安装 openscap-containers 软件包。

流程

  1. 查找容器或容器镜像的 ID,例如:
    ~]# docker images
    REPOSITORY                            TAG      IMAGE ID       CREATED       SIZE
    registry.access.redhat.com/ubi7/ubi   latest   096cae65a207   7 weeks ago   239 MB
    
  2. 扫描容器或容器镜像的漏洞,并将结果保存到 vulnerability.html 文件中:
    ~]# oscap-docker image-cve 096cae65a207 --report vulnerability.html
    重要
    要扫描容器,请将 image-cve 参数替换为 container-cve

验证

  1. 在您选择的浏览器中检查结果,例如:
    ~]$ firefox vulnerability.html &

其它资源

  • 如需更多信息,请参阅 oscap-docker (8)oscap (8) 手册页。

8.9.2. 使用 原子扫描扫描容器镜像和容器中的漏洞

使用 atomic 扫描 实用程序,您可以扫描容器和容器镜像,以了解红帽发布的 CVE OVAL 定义中所定义的已知安全漏洞atomic scan 命令的格式如下:
~]# atomic scan [OPTIONS] [ID]
其中 ID 是您要扫描的容器镜像或容器的 ID。
警告
atomic 扫描 功能已弃用,OpenSCAP 容器镜像不再针对新的漏洞更新。因此,首选 oscap-docker 工具进行漏洞扫描。

使用案例

  • 要扫描所有容器镜像,请使用 --images 指令。
  • 要扫描所有容器,请使用 --containers 指令。
  • 要扫描这两种类型,请使用 --all 指令。
  • 若要列出所有可用的命令行选项,可使用 atomic scan --help 命令。
atomic scan 命令的默认扫描类型是 CVE 扫描。使用它来检查 红帽发布的 CVE OVAL 定义 中定义的已知安全漏洞的目标。

先决条件

  • 您已使用 atomic install rhel7/openscap 命令,从 红帽容器目录(RHCC) 下载并安装 OpenSCAP 容器镜像。

流程

  1. 验证您是否具有最新的 OpenSCAP 容器镜像,以确保定义是最新的:
    ~]# atomic help registry.access.redhat.com/rhel7/openscap | grep version 
  2. 扫描带有几个已知的安全漏洞的 RHEL 7.2 容器镜像:
    ~]# atomic scan registry.access.redhat.com/rhel7:7.2 
    docker run -t --rm -v /etc/localtime:/etc/localtime -v /run/atomic/2017-11-01-14-49-36-614281:/scanin -v /var/lib/atomic/openscap/2017-11-01-14-49-36-614281:/scanout:rw,Z -v /etc/oscapd:/etc/oscapd:ro registry.access.redhat.com/rhel7/openscap oscapd-evaluate scan --no-standard-compliance --targets chroots-in-dir:///scanin --output /scanout
    
    registry.access.redhat.com/rhel7:7.2 (98a88a8b722a718)
    
    The following issues were found:
    
     RHSA-2017:2832: nss security update (Important)
     Severity: Important
    	 RHSA URL: https://access.redhat.com/errata/RHSA-2017:2832
    	 RHSA ID: RHSA-2017:2832-01
    	 Associated CVEs:
    			 CVE ID: CVE-2017-7805
    			 CVE URL: https://access.redhat.com/security/cve/CVE-2017-7805
    ...

其它资源