7.5. Docker での OpenSCAP の使用

oscap-docker コマンドラインのユーティリティーは、oscap プログラムを使用して、Docker フォーマットの coptisn コンテナーイメージとコンテナーをスキャンします。
以下のセクションは、次のことを行います。
  • oscap-docker のインストールを説明します。
  • 基本的な使用例を提供します。
サブコマンドの詳細は、oscap-docker コマンドまたは oscap コマンドに --help オプションを付けて使用します。

注記

コンテナーファイルシステムはマウントポイントの影響を受けるために、イメージをスキャンした結果は、そこから作成したコンテナーをスキャンした結果とは異なります。たとえば、カスタムパスのコンテナー内のプロセスに対してデータのみを提供するマウントポイントは、スキャンの結果に影響されません。ただし、/bin、/etc、/var などのパスに行ったコンテナーのマウントポイントは、新しいバイナリーまたは設定ファイルを提供するため、スキャンの結果が異なります。
イメージおよびコンテナーのスキャンを有効にするには、docker パッケージをインストールします。Docker のインストールに関する説明は、『『Getting Started with Containers』』 の 「Getting Docker in Red Hat Enterprise Linux 7」の章を参照してください。
以下のコマンドを実行して、oscap-docker をインストールします。
# yum install openscap-utils
次の例では、Red Hat Enterprise Linux 7のイメージを使用しています。
# docker pull registry.access.redhat.com/rhel7
# docker images
REPOSITORY                               TAG                 IMAGE ID
registry.access.redhat.com/rhel7         latest              c453594215e4

7.5.1. 脆弱性について、Docker 形式のイメージおよびコンテナーのスキャン

oscap-docker コマンドは、脆弱性のためにイメージまたはコンテナーをスキャンする 2 つの方法を提供します。
  • サブコマンド image-cve または container-cve でオペレーティングシステムのバージョンを特定し、そのシステムに適用可能な CVE ストリームをダウンロードし、脆弱性スキャンを実行します。
    # oscap-docker image-cve registry.access.redhat.com/rhel7
  • 別の、より柔軟な方法は、脆弱性を確認する際に OVAL 定義を指定できます。サブコマンドの image または container を、OVAL 評価の oscap 引数とともに使用します。たとえば、Red Hat OVAL repository からダウンロードした定義ファイルを使用するイメージをスキャンするには、以下のコマンドを実行します。
    # oscap-docker image registry.access.redhat.com/rhel7 oval eval com.redhat.rhsa-all.xml

7.5.2. Docker フォーマットのイメージおよびコンテナーの設定コンプライアンスのスキャン

設定コンプライアンスに対してスキャンするには、SSG (SCAP Security Guide) が提供する SCAP コンテンツを使用します。scap-security-guide パッケージがインストールされていることを確認します。
# yum install scap-security-guide
Red Hat Enterprise Linux 7 イメージのコンプライアンスを DISA STIG (Defense Information Systems Agency Security Technical Implementation Guide) ポリシーで確認するには、以下のコマンドを実行します。
# oscap-docker image registry.access.redhat.com/rhel7 xccdf eval --profile xccdf_org.ssgproject.content_profile_stig-rhel7-disa /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml
以下のコマンドは、コンテナーの実行環境を ID 5ef05eef4a01 でスキャンします。
# oscap-docker container 5ef05eef4a01 xccdf eval --profile xccdf_org.ssgproject.content_profile_stig-rhel7-disa /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml
結果が含まれる XML ファイルを取得するには、--results 引数を使用します。評価の HTML レポートを生成には、--report 引数を追加します。詳細は man ページの oscap(8) を参照してください