「Compliance As Code」とは――Ansible Playbookと組み合わせてみよう:OpenSCAPで脆弱性対策はどう変わる?(8)
本連載では、グローバルスタンダードになっている「SCAP」(セキュリティ設定共通化手順)およびそれを基にシステム構成や脆弱性の検査を行うためのOSSツール「OpenSCAP」や、その周辺の技術、用語などを紹介する。今回は、OpenSCAP/SCAP Security Guideプロジェクトの発展形である「Compliance As Code」の概要と、試し方について。
OSSセキュリティ技術の会の面和毅です。本連載「OpenSCAPで脆弱(ぜいじゃく)性対策はどう変わる?」では、実質的にグローバルスタンダードの「SCAP(Security Content Automation Protocol:セキュリティ設定共通化手順)」、およびそれを基にシステム構成や脆弱性の検査を行うためのOSS(オープンソースソフトウェア)ツール「OpenSCAP」や、その周辺の技術、用語などを紹介しています。
今回と次回で、コミュニティーベースでのOpenSCAP/SCAP Security Guideプロジェクトの発展形である「Compliance As Code」の状況を、実例とともに見ていきたいと思います。
Compliance As Codeとは
「SCAP Security Guide」(SSG)は、2011年から米国の政府系機関と商用のOSベンダーの間で開始されたプロジェクトです。SSGはもともと、おのおののOSが「(軍などの)政府系の規格を満たしているか」を確認するXCCDF(eXtensible Configuration Checklist Description Format:セキュリティ設定チェックリスト記述形式)ファイルを作ることが目的だったのです。この取り組みがさらに発展して、OSSとしてツールも開発され、扱われる規格も政府系のもののみならず、PCI DSSなどの商用系のものも含まれるようになりました。
さらに2017年ごろから、一般的な企業でも「Ansible」「Chef」「Puppet」などが構成管理/設定ツールとして使用されることになったため、SSGはより一般的なセキュリティコンテンツをターゲットとして、このような構成管理・設定ツールと連動して動くようなものに発展させることになりました。
結果として、2018年9月から、SSGプロジェクトは「Compliance As Code」というふうにプロジェクト名を変えることになりました。
Compliance As Codeと名前を変えてからは、「oscap」などの(低レベルで動く)ツールも使用しつつ、XCCDFなどが分からないユーザーでも、セキュリティコンテンツを簡単に理解して自サーバに適用できるように、GUIツールやAnsibleを経由して抽象化された形に取り組んでいます。
Compliance As Codeのプロジェクトと詳細は、こちらのGitHubから理解することができます。
Compliance As Codeを試してみる
まずはCompliance As Codeを理解するために、コンテンツをダウンロードして実行してみましょう。
主なディストリビューションでも「apt」「dnf」でインストールできますが、より最新のバージョンを使用したい場合にはプロジェクトの成果物を直接使用した方がいいでしょう(さらに多くのOS/環境に対応したバージョンが取得できます)。
コンテンツなどがビルド済みのZIPファイルか、ソースコード全てをダウンロードするかを選ぶ必要があります。
ソースコードとビルド済みコンテンツなどの関係は図1を参照してください。
次回、ソースコードをダウンロードして中を見るので、今回はZIPによるビルド済みのものを入手して使いましょう。
ビルド済みのZIPをダウンロードする
ビルド済みのZIPは、GitHubのこちらのページから入手できます。定期的にバージョンを付けてリリースされています(2020年7月10日現在の最新バージョンは0.1.50です)。
展開すると図2のように、oscapコマンドや「SCAP-Workbench」で使えるデータストリームのXMLファイルが直下にあります。それぞれSCAP 1.2用とSCAP 1.3用のバージョンごとのファイルが用意されています。
「guides」以下にはセキュリティプロファイルのガイド、「ansible/bash」ディレクトリにはそのセキュリティプロファイルガイドに従ってOSを設定するためのAnsible Playbookやシェルスクリプトが入っています(なお、bashはAnsibleが使えない環境で使用するものです。使用できる環境であればAnsible Playbookを使用するのがお勧めです)。
セキュリティガイドをSCAP Workbenchを用いて確認する
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 2017年の脆弱性報告件数は過去最高の約1万4700件、まだ隠れた脆弱性がある可能性も:ESET
ESETによると、2017年は脆弱性の報告件数が前年比で2倍以上に増えて過去最高となり、中でも重大な脆弱性が近年の傾向に沿って急激に増加した。 - 外注したシステムの脆弱性は誰のせい? 連日の「深刻な脆弱性」にどう向き合い、どう対応するか?
連日のように公開される脆弱性情報の中から自分たちに関係するものを見つけ、適切な優先順位で対応するのは容易ではない。この状況に、企業はどう向き合えばよいのだろうか? @ITは、2017年8月30日にセミナー『連日の「深刻な脆弱性」どう向き合い、どう対応するか』を東京で開催した。多数の専門家やセキュリティベンダーが登壇した同セミナーの模様をお届けしよう。 - 「脆弱性情報」をどう扱うか――見つける人、流通させる人、対処する人、それぞれの視点
連日公表されるソフトウェアなどの脆弱(ぜいじゃく)性情報。2016年12月1日に行われた「Internet Week 2016」では、「脆弱性情報と賢く付き合う〜発見から対策までの最前線〜」と題したプログラムが開催された。