クラウドアプリケーションのセキュリティとコンプライアンスチェックを自動化するChefのInSpec 2.0

データのリポジトリをAmazonでロックすることを忘れて、機密データを露出した、なんて話を何度聞いたことか。それは、稀(まれ)ではなく、びっくりするほど多い。そこでChefは、devやopsの人びとがそんな事件を防ごうとするときの、お手伝いをしたいと考えた。今日同社がリリースしたInSpec 2.0は、クラウド上でアプリケーションのセキュリティとコンプライアンスを自動化する作業を助ける。

InSpecは無料のオープンソースツールで、開発チームはこれを使ってセキュリティとコンプライアンスのルールをコードで表現できる。前の1.0は、アプリケーションの正しいセットアップに主眼を置いた。今度のバージョンは、その能力を企業がアプリケーションを動かしているクラウドに拡張し、クラウドのセキュリティポリシーに合ったコンプライアンスのルールを書いてテストできるようにした。AWSとAzureをサポートし、Docker, IIS, NGINX, PostgreSQLなどなど30種のよく使われる構成が最初からある。

今日の継続的開発の環境では、複数のアプリケーションを複数のクラウドで動かすことが容易ではない。コンプライアンスを人間が継続的にモニタするためには、データベースを露出したままにしておく方が楽だ。

Chefはこの問題の解決を、コンプライアンスを自動化するツールで助ける。何をロックするかなどについて最初に開発とオペレーションが協議しなければならないが、合意に達したらInSpecを使って、クラウドの構成の正しさをチェックするためのルールを書ける。それには、InSpecのスクリプト言語を使う。

Chefのマーケティング部長Julian Dunnによると、スクリプト言語を使い慣れている人ならとっつきやすいだろう、と言う。“InSpecの言語はクラウドに特有のルールをカスタマイズして書くのに適している。クラウドのデプロイのチェックもね”、と彼は語る。

スクリプト言語の例。コードサンプル提供: Chef

“この言語は、読みやすくて書きやすいことを心がけて設計した。プログラミングの経験はないがスクリプトは書いているセキュリティの技術者が、想定ユーザーだ”、とDunnは言う。スクリプトを書いたら、それを自分のコードに対してテストする。そしてコンプライアンス違反が見つかったら、直す。

InSpecは、VulcanoSecを買収した結果として作れた。このドイツのコンプライアンスとセキュリティ企業をChefが買収したのは、2015年だ。InSpec 2.0はオープンソースで、Githubからダウンロードできる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa