コンテナのセキュリティは万全か? コードと追加コンポーネントのセキュリテ ィを確保せよ

avatar

 2018.10.15  Japanブログ編集部

企業は、コンテナ環境に関する数々の重要な脅威とセキュリティ上の問題に直面しています。このような問題は、コンテナのビルド環境にまで波及しています。コンテナインフラストラクチャーにおいて、ビルド環境は通常最もセキュリティが手薄になるため、保護する必要があります。さらに、問題はコンテナ自体など、別の領域にも拡大しています。

企業はリスクを認識したうえで、コンテナ内で実行されるコードや追加のコンポーネントをテストする必要があります。2017年からは、ソフトウェアサプライチェーンを対象とした、さまざまなセキュリティ保護機能が登場しています。サードパーティベンダーも、デプロイメントの前後に、コンテナの中身を検証することを支援し始めました。このようなサードパーティ製ツールは、ベースとなるコンテナ管理プラットフォームが提供するプロセスコントロールやデジタル署名サービスに、静的コード解析や既知のマルウェアシグネチャのチェックなどのさまざまな機能を提供して補完しています。

企業がコンテナのセキュリティテストや検証プロセスに組み込むべき「6つのメソッド」を以下に紹介します。

コンテナの検証とセキュリティテスト

コンテナプロセスをroot権限で実行すると、攻撃者はいとも簡単に配下のカーネルにアクセスできるようになります。企業はこのようなことを回避しなければなりません。攻撃者は、そのアクセスを直接的なパスとして悪用し、他のコンテナやDockerエンジン自体を標的とします。このような攻撃を阻止するために、企業は各コンテナクラスに対して、制限付きのアクセス権を持たせた特定のIDマッピングを使用する必要があります。ロールやアクセス権は、経時的に変化するため、これは継続的なプロセスとなります。

セキュリティの単体テスト

単体テストは、コンテナのセキュリティにとって有益なツールです。特定のコードのモジュールに対して単体テストを実行すれば、各テストケースのために製品全体をビルドする必要がなくなります。特に、ビルドプロセス中にこのようなテストが実行されれば、脆弱性がコンテナのコードに入り込むことを回避できます。

コード解析

コンテナ内のコードが安全であることを確認するために、企業は何らかの形のコードスキャンを実行する必要があります。自動化されたバイナリテストおよびホワイトボックステストを実行するサードパーティ製品を使用することで、これを実現できます。もしくは、統合開発環境(IDE)のプラグインとして機能する新しいツールを使用することもできます。

コンポジション解析

ライブラリやサポートするコードを、共通脆弱性識別子(CVE)データベースに照らして、脆弱なコードが使用されていないかをチェックすることが重要です。Dockerやその他のサードパーティベンダーは、このようなチェックを簡単にするツールを提供しています。理想的には、このようなユーティリティはビルドパイプラインに統合されるべきです。

ハードニング

一般に、アプリケーションを実行するために必要なものを最小限に抑えた「リーンベースイメージ」アプローチを採用することが企業に推奨されています。その目的のために、組織はコンテナ内に未使用のアイテムがないかチェックする必要があります。また、ハードコードされたパスワード、キーなどの機密データにも注意を払わなければなりません。そのようなチェックは、手動でのスキャンやセキュリティツールを使用して実行できます。何か気になるものを発見した場合は、開発部門と協力して検証し、削除します。

コンテナの署名とChain of Custody(トレーサビリティ)

「Image to container drift」と呼ばれる状態(つまり不要あるいは許可されていないアイテムが追加されること)に陥ることは、コンテナのセキュリティを確保するうえで企業が最も避けたいと考える状況です。そのため企業は、開発者がテストが行われていないコードを使用してプロセスを台無しにしていないかを確認する必要があります。それには、すべてのイメージの中身の暗号化されたダイジェストを作成し、それを追跡して未承認の変更を許可しないようにすることができます。これは、組織が各段階で特定のキーを作成し、テスト完了時にコードスニペットに署名して、キーを安全に保管するプロセスであるビルド時には特に重要です。

パズルの1ピース

コンテナの中身に脆弱性や未使用のアイテム、あるいは他の欠点がないかをスキャンすることは、コンテナのセキュリティ戦略における重要な一部分です。しかし、重要なことは他にもあります。コンテナの安全を保つために、企業ができることは他にもたくさんあります。それらの側面についてより深く知るには、The Complete Guide to Container Security(コンテナセキュリティ完全ガイド)をすぐにダウンロードしてください。

SANS:基本への回帰

RECOMMEND関連記事


この記事が気に入ったらいいねしよう!