連載
» 2020年07月30日 05時00分 公開

OpenSCAPで脆弱性対策はどう変わる?(8):「Compliance as Code」とは――Ansible Playbookと組み合わせてみよう

本連載では、グローバルスタンダードになっている「SCAP」(セキュリティ設定共通化手順)およびそれを基にシステム構成や脆弱性の検査を行うためのOSSツール「OpenSCAP」や、その周辺の技術、用語などを紹介する。今回は、OpenSCAP/SCAP Security Guideプロジェクトの発展形である「Compliance as Code」の概要と、試し方について。

[面和毅,OSSセキュリティ技術の会]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 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を参照してください。

図1

 次回、ソースコードをダウンロードして中を見るので、今回はZIPによるビルド済みのものを入手して使いましょう。

ビルド済みのZIPをダウンロードする

 ビルド済みのZIPは、GitHubのこちらのページから入手できます。定期的にバージョンを付けてリリースされています(2020年7月10日現在の最新バージョンは0.1.50です)。

 展開すると図2のように、oscapコマンドや「SCAP-Workbench」で使えるデータストリームのXMLファイルが直下にあります。それぞれSCAP 1.2用とSCAP 1.3用のバージョンごとのファイルが用意されています。

図2

 「guides」以下にはセキュリティプロファイルのガイド、「ansible/bash」ディレクトリにはそのセキュリティプロファイルガイドに従ってOSを設定するためのAnsible Playbookやシェルスクリプトが入っています(なお、bashはAnsibleが使えない環境で使用するものです。使用できる環境であればAnsible Playbookを使用するのがお勧めです)。

セキュリティガイドをSCAP Workbenchを用いて確認する

Copyright © ITmedia, Inc. All Rights Reserved.

編集部からのお知らせ

8月8日10時30分〜16時30分の間、システムメンテナンスのため記事の一部表示や資料のダウンロードができなくなります。ご理解のほどよろしくお願いいたします。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。