コンテナは開発者コミュニティーに愛されている。コンテナを使えば、同じハードウェアで、仮想化されたマシンよりも多くのサーバアプリケーションを実行することができる。コンテナの唯一の(しかしあまり小さいとは言えない)問題は、セキュリティだ。CoreOSの「Clair」はコンテナに脆弱性がないかをチェックすることで、この懸念を払拭する。
提供:CoreOS
大規模サーバ群展開とコンテナ利用のためのLinuxを作っているCoreOSは、2015年11月、オープンソースのコンテナイメージセキュリティ分析ツールであるClairの初期バージョンを公開した。そして先週にはバージョン1.0をリリースし、本番環境で利用できるようにした。
CoreOSの主席セキュリティソフトウェアエンジニアであるMatthew Garrett氏は、電子メールの中で、「ソフトウェアに脆弱性が存在することは残念ながら避けらない。管理者ができる限り早く脆弱性についての情報を手に入れ、パッチを適用することが重要だ。コンテナはアプリケーションの間に境界を作るという点でセキュリティの強化に寄与するが、既存の運用ツールは多くの場合コンテナを前提としておらず、管理者に潜在的な問題を通知する能力を持っていない」と述べている。
CoreOSのソフトウェアエンジニアQentin Machu氏は、それがClairの役割だと述べ、「コンテナに存在する脆弱性に関する知見を提供する、APIによる分析サービス(Quay Security Scanning)」を提供することによってこれを実現すると説明している。これは、すべてのコンテナイメージをチェックし、「『共通脆弱性識別子』(CVE)のほか、Red Hat、Ubuntu、およびDebianによる類似の脆弱性データベースに基づいて、脅威となる可能性のある脆弱性についての通知を提供する」ことで行われるという。
Clairの恩恵を受けるのはDevOpsのチームだ。Machu氏は、Clairの機能をこう説明する。「コンテナの脅威となる脆弱性に関する、有益で、対処に役立つ情報を提供する。Clairの最新機能の多くは、コミュニティーからのフィードバックを反映したもので、これには、脆弱性が存在するかどうかを判別するだけでなく、脆弱性を修正するパッチやアップデートについても提供する機能が含まれる。さらに、バージョン1.0では、性能や拡張性も改善されており、開発者や運用のプロフェッショナルが、Clairの分析エンジンを中心に独自のサービスを実装しようとする際に役立つものになっている」
このバージョンでは、ユーザーがパッチや脆弱性の情報を追加することもできる。このことは重要で、Clairを使ってCoreOSのコンテナレジストリ「Quay」を分析およびインデックス化した調査で、次のようなことが明らかになっている。
- 検知された脆弱性の70%以上は、単にコンテナのイメージにインストールされているパッケージをアップデートするだけで修正できる。
- 高(High)または最高(Critical)と評価された脆弱性の80%以上は、イメージに含まれるパッケージに、簡単にアップデートを適用できる既知のパッチが存在するものだ。
つまり、とにかくパッチを適用すればいいという、単純な問題が大半を占めていたわけだ。