OpenSCAPを使用してみる

CIS Controls

現在CIS Controls 7.1の調査を行っていますが、そこのControl 3に「継続的な脆弱性管理」というものがあります。

それを調べていた際に「OpenSCAP」という面白そうなツールを見つけたのでそれについて記事にしていきます。

なお、あくまで個人的な範囲で使用しただけであり、組織に使用してみようとする場合はちゃんと自組織でまずは検証を行うことを推奨します。

また、記載内容に異なる点がございましたら、お手数ですがお問い合わせいただければ幸いです。

OpenSCAPの「SCAP」について

まずは「SCAP」という言葉を聞いたことが無い人も多いかと思いますので、こちらから解説します。(実際に勉強会で発表した際に聞いても知っている人はあまりいなかった・・・)

「Security Content Automation Protocol:セキュリティ設定共通化手順」の頭文字をとってSCAPという。
2001年のテロ以降、米国でセキュリティ対策が大きく変わる。⇒2002年12月に成立した「FISMA(Federal Information Security Management Act:連邦情報セキュリティ管理法)」が特に重要。
これによって連邦政府機関や連邦政府機関から業務委託を受けている民間の外部委託先が、情報セキュリティを強化することが義務付けられ、さらに、最低でも年に一度情報セキュリティの有効性についてのレビューを行い、OMB(Office of Management and Budget:米国合衆国行政管理予算局)に報告書を提出することも義務となった。
そのための規格作りについてはNIST(National Institute of Standards and Technology:米国国立標準技術研究所)が対応を行う。
結果、その対応に物凄い時間がかかるようになってしまった。
そこでNISTがセキュリティ対策の自動化と標準化を目指すSCAPを開発する。

NISTが定めたSCAPの検査をすることができるオープンソースのツールがOpenSCAPです。

CUIで操作することができますので、自動化には持ってこいですね。

なお、IPAからSCAPとFISMAの概要が紹介されているページがありますので、興味がある方はご覧ください。

・IPA SCAP:セキュリティ設定共通化手順SCAP概説

・IPA FISMA:情報セキュリティ向上のための米国の取り組み

OpenSCAPの準備

上記のSCAPについて、GitHubでソースコードが公開されていますので、興味がある方はこちらからどうぞ!

今回はOpenSCAPを自分のノートPC(Windows 10)に対して実施していきます。

まずはこちらのOpenSCAPのこのリンクにアクセスすると、以下のような画面が表示されます。

下の方に各OSでのインストール方法が記載されていますね。

Linuxは各コマンドでインストールすることができ、Windowsはインストーラが用意されています。

今回はWindowsを使用するので赤枠の個所を押下してダウンロードします。

ファイルについては「OpenSCAP-1.3.0-win32.msi」がダウンロードされるかと思います。(2019/11現在)

そしてそのインストーラでインストールを行います。(インストールについては普通なので割愛します。)

インストールが終わったら、コマンドプロンプトを立ち上げて「oscap -V」と入力しましょう。

以下のように表示されればOKです!ちなみに「-V」はバージョンを表示するオプションです。

これでコマンドが動くようになりました。

さてすぐにでも実行と行きたいところなんですが、まだ準備が必要です。

何が必要かというと、Windowsに対して定義されたSCAPのチェックリストが必要です。

早速NISTの「National Checklist Program Repository」のページに行きます。

ここで今回検査を行うOSのバージョンを指定して検索を行います。

なお、ダウンロードしたページに記載されているのですが、OpenSCAP自体がSCAP1.2以下のみの対応となります。(そもそもSCAP1.3は現在のところRHELしか公開されていませんが・・・)

なので、「Content Type」に「SCAP 1.2 Content」を指定し「Target:」にノートPCのOSの「Microsoft Windows 10」と指定して「Search」ボタンを押すと結果が以下のようになるかと思います。

「SCAP 1.2 Content – Microsoft Windows 10 STIG Benchmark – Ver 1, Rel 16」の個所をクリックするとダウンロード画面へ遷移します。

ダウンロード画面にて、「Click on the following link to download:」のリンク(赤枠の個所)をクリックすると外套のBenchmarkがダウンロードされます。(ダウンロードされるファイル名は「U_MS_Windows_10_V1R16_STIG_SCAP_1-2_Benchmark.zip」です。)

ダウンロードしたzipファイルを解凍すると「U_MS_Windows_10_V1R16_STIG_SCAP_1-2_Benchmark.xml」が入っているので、これを使用して実行します。

OpenSCAP実行

コマンドプロンプトを起動して、以下の入力します。(説明間すみません。。。違っていたら教えてくださいませ。)

oscap xccdf eval --results result.xml --oval-results --report report.html U_MS_Windows_10_V1R16_STIG_SCAP_1-2_Benchmark.xml
#xccdf:チェックリストの形式の指定、xmlファイルの記述がxccdf形式なので
#eval:外套のxmlファイルのOVALをチェックエンジンとして使用
#--results:xccdf形式で出力されるxmlファイル名を指定
#--report:htmlレポートのファイル名を指定

OVALについてはIPAから出ている以下を確認しましょう!

・IPA OVAL:セキュリティ検査言語OVAL概説

実行すると以下のような形で動き出します。(うまく動かない場合は権限の問題の可能性があるため、管理者でコマンドプロンプトを起動すると良いかもしれません。)

細かい設定状況を確認するので、終わるまで10分程度かかります。

結果についてはHTMLファイルで出力していますので、ブラウザで表示することができます。

ブラウザで表示すると以下のように出力されます。(かなりきれいに出るので感動!)

 

アドレス等は念のため伏せています。

さて、どのくらいSCAPに適合しているかですが、以下のとおりかなりひどい状況です。
※社内用ではなく自分のノートPCですし、色々動かしやすいようにしているのでしょうがない・・・

具体的な指摘はどんな感じかというと以下のように分かり易く記載してくれてます。(英語ですが)

参考として一つお見せすると一般ユーザに管理権限付けちゃダメですという感じの指摘ですね。
※使っているのは私のみで自PCなので、対応はしないですが・・・

こういった結果が出てくることで、どんな問題が現状あるのか?対応すべきか否かを判断するにも良いのではないかと考えています。

最後に

動作させるのにも四苦八苦しましたが、この記事を書くのはもっと大変でした。(言葉の意味を解釈するのに時間がかかった・・・)

現在、NISTのサイトにてSCAP2.0の計画も進んでいるということなので、今後も継続的に期待ができるかと思います。

セキュリティを考える時にちゃんと更新され続けているということは大事になります!

私自身もさらに調査、勉強を進めていきたいと思います。

今月はブログも頑張りたい(毎月思っている)と考えていたんですが、既に前半の半分くらいになってしまいましたね・・・

今後も更新は続けていきますので、興味がある方はたまに覗いてみてくださいませ。

不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。

コメント