OpenSCAP(オープンエスキャップ)は、システムの脆弱性や問題のある設定をチェックしてくれるオープンソースのツールです。アメリカ国立標準技術研究所(NIST)が維持管理している SCAP 1.2(情報セキュリティ対策の自動化と標準化を実現する技術仕様)の認定を取得しています。OpenSCAP を使えば、サーバーの脆弱性管理を自動化することもできるそうです。そこで今回は、CentOS7 に OpenSCAP をインストールして脆弱性スキャンをするまでの手順をメモしておきました。
参考資料:
第6章 コンプライアンスおよび OpenSCAP を使った脆弱性のスキャン:Red Hat Customer Portal
セキュリティ設定共通化手順SCAP概説:IPA
OpenSCAP のインストール
RPM パッケージが用意されていますので yum からインストールできます。
インストールされた oscap コマンドに -V オプションを付けて実行すると、サポートされているバージョンなどを確認することができます。
oscap -V ==== Supported specifications ==== XCCDF Version: 1.2 OVAL Version: 5.11.1 CPE Version: 2.3 CVSS Version: 2.0 CVE Version: 2.0 Asset Identification Version: 1.1 Asset Reporting Format Version: 1.1 CVRF Version: 1.1 ==== Capabilities added by auto-loaded plugins ==== No plugins have been auto-loaded... ==== Paths ==== Schema files: /usr/share/openscap/schemas Default CPE files: /usr/share/openscap/cpe Probes: /usr/libexec/openscap (略)
SCAP Security Guide (SSG) のインストール
Linux 向けのセキュリティポリシーコレクションをインストールします。このポリシーに則って OpenSCAP は脆弱性スキャンを行います。
各種ポリシーファイルは /usr/share/xml/scap/ssg/content/ 下にインストールされます。
-rw-r--r--. 1 root root 8557775 5月 3 23:00 ssg-centos6-ds.xml
-rw-r--r--. 1 root root 1766813 5月 3 23:00 ssg-centos6-xccdf.xml
-rw-r--r--. 1 root root 13934723 5月 3 23:00 ssg-centos7-ds.xml
-rw-r--r--. 1 root root 3333091 5月 3 23:00 ssg-centos7-xccdf.xml
-rw-r--r--. 1 root root 546 5月 3 23:00 ssg-firefox-cpe-dictionary.xml
(略)
ポリシーファイルの内容を確認するには oscap info コマンドを使います。今回は PCI-DSS v3 コントロールをベースラインにした脆弱性チェックを行いますのでプロファイルid の「pci-dss」をメモしておきます。
oscap info /usr/share/xml/scap/ssg/content/ssg-centos7-xccdf.xml Document type: XCCDF Checklist Checklist version: 1.1 Imported: 2018-05-03T23:00:41 Status: draft Generated: 2018-05-03 Resolved: true Profiles: Title: Standard System Security Profile Id: standard Title: PCI-DSS v3 Control Baseline for CentOS Linux 7 Id: pci-dss Title: C2S for CentOS Linux 7 Id: C2S Title: Red Hat Corporate Profile for Certified Cloud Providers (RH CCP) Id: rht-ccp (略)
脆弱性スキャンの実行
以下のコマンドを実行すると脆弱性スキャンが開始します。
eval \
--profile pci-dss \
--report ssg-centos7-xccdf-pci-dss.html \
/usr/share/xml/scap/ssg/content/ssg-centos7-xccdf.xml
oscap xccdf
xccdf もしくは oval(どちらも脆弱性やセキュリティ設定のチェックリストを記述するための言語です)を指定します。今回のポリシーファイルは XCCDF 形式なので xccdf を指定します。
eval
eval に続けてオプションを指定します。
--profile pci-dss
ポリシーのプロファイルid を指定します。
--report ssg-centos7-xccdf-pci-dss.html
スキャンの結果レポートの出力先を指定します。
/usr/share/xml/scap/ssg/content/ssg-centos7-xccdf.xml
ポリシーファイルを指定します。
2〜3分で下のような結果レポートが出力されます。
おわりに
脆弱性スキャンはポリシーの設定などが大変そうなイメージがありましたが、OpenSCAP + CentOS7(RHEL7)ならあらかじめポリシーが用意されているので、インストールからスキャンまで10分くらいで出来てしまいます。ぜひ試してみてはいかがでしょうか。
コメント