セキュリティでメリットを得られることもある
「Docker」のセキュリティはどうか? 押さえておきたい脆弱性情報
「Docker」はアプリケーションの仮想化にプラスの影響をもたらすが、クラウドやセキュリティにはどうだろう。Dockerに詳しいエド・モイル氏が解説する。
仮想環境に携わっているアプリケーション開発者やシステム管理者であれば、ここ1年くらいの間にDockerについて少なからず聞いたことがあるだろう。Linuxアプリケーションのコンテナ型仮想化のプラットフォームであるDockerの人気はうなぎのぼりだ。Dockerが開発チームにもたらすアジリティ上のメリットとデータセンターにもたらすパフォーマンス上のメリットによって、情勢は大きく変わる可能性がある。
セキュリティの専門家にとって、Dockerはあまりなじみがないものかもしれない。多くのセキュリティの専門家はDockerについて認識していない可能性が高いのではないだろうか。知っていたとしても、Dockerのセキュリティについて手はずを整えるのに苦戦しているかもしれない。そして次のように自問自答しているのではないだろうか。「Dockerはセキュリティのプロファイルにどのような変化をもたらすのだろうか」「Dockerが広く普及したときには何を検討したらよいのだろうか」「既存のセキュリティメカニズムはDockerに対応した環境にどう適合するのだろうか」
本稿では、Dockerについて詳しく解説する。Dockerの概要、Dockerがこれほどまでに普及している理由、セキュリティに関する派生的な問題について取り上げたい。
セキュリティの専門家にとって、Dockerは認識しておくべきツールである。その最大の理由は、Dockerの人気から、近いうちにDockerを保護する方法について考える必要が生じることだ。また、Dockerへのアプローチ方法にもよるが、Dockerを使用することで、最終的にセキュリティ面でメリットを得られる可能性もある。本稿では、Dockerの概要とエンタープライズセキュリティへの影響を解説する。
Dockerとは
端的にいうと、Dockerは、Linuxをベースとしたオープンソースのアプリケーションコンテナを抽象化/仮想化するメカニズムだ。「Linuxベースのオープンソース」について説明する必要はないだろう。だが「アプリケーションコンテナの抽象化」については解説が必要かもしれない。最初は複雑に見えるかもしれないが、この概念自体はかなりシンプルなものである。基本的にDockerは自己完結型の仮想環境(コンテナ)を作成する方法だ。この環境では、アプリケーションに完全な自由が与えられる。この仮想コンテナは、基盤となるOSの分離された半プライベートなビューをアプリケーションに提供する。これには、ストレージ、ネットワーク、プロセスなどのリソースも含まれる。
多くの点において、コンテナはOSの仮想化の概念と似ている。だが、アプリケーションが気に掛けることはなく、厳密には使わない仮想OSイメージのオーバーヘッドについて考えてみてほしい。例えば、LAMPスタックを実行するWebアプリケーションが2つあるとしよう。この2つのアプリケーションの基盤となるスタックは、どの程度異なるのだろうか。OSインストール全体に対する割合で見ると大した違いはない。アプリケーションのみを仮想化することで、1つの仮想/物理OSのインスタンスでアプリケーションを相互に分離することが可能になる。例えば、このタスクには「Docker Engine」を使用することができる。その結果、アプリケーションのパッケージを作成できるようになる。このパッケージは非常に小さく軽量で、アプリケーションの実行に必要なもののみが含まれる。
この概念により、持ち運びやすくて簡単にカスタマイズできるアプリケーション用のコンテナを作成することが可能になる。OS環境のカスタマイズにかける時間が短くなり、アプリの機能を開発するために時間を使うことができる。そのため、開発者は、この概念を非常に強力だと感じている。データセンターのチームも、この概念を非常に強力だと考えている。その理由は、リソースをより効率的に使用できるからだ。データセンターでは高い割り当て密度を実現できる。例えば、少ないリソースでアプリをサポートできるため、さらに多くのアプリをサポートすることが可能になる。
Dockerのセキュリティについて
セキュリティの観点では、アプリケーションの仮想化は魅力的な選択肢として映るかもしれない。突き詰めると、「chroot」コマンドを使用してファイルシステムをサンドボックス化するアイデアの発展形と見なすセキュリティの専門家もいるだろう。また、「FreeBSD」の“jail”と類似する機能と見なす専門家もいるだろう(どちらも個々のアプリケーションによる侵害から基盤となるシステムを隔離するための方法だ)。この考え方にいくらかのメリットはあるが、把握しておくべき幾つかの違いがある。また、セキュリティの専門家がDockerのセキュリティを評価して制御を構築する上で把握しておくべき事項もある。
まず、Dockerの公式イメージの完全性を自動的に検証する方法が誕生したのは、ごく最近であることだ。公式イメージには、アプリケーションの実行に必要と思われる主要なユーティリティとソフトウェアが含まれている。これは、Linuxベースの公式なイメージ、ミドルウェアコンポーネント(米Oracleの「MySQL」や「postgreSQL」など)、フロントエンドコンポーネント(「Apache」や「WordPress」など)の場合もあるだろう。
2014年に10月にリリースされたバージョン1.3では、デジタル署名の検証が自動化できるようになった。この変更により、公式イメージをダウンロードする前に、イメージが改ざんされていないことをユーザーはある程度保証できる。長期的には公式イメージの改ざんに対する懸念は少なくなるだろう。だが、バージョン1.3以前のバージョンが運用されている可能性はある。そのため、短期的にはバージョン1.3以前の環境に関しては、インストールするイメージに対して追加の精査プロセスを実施する必要がある。
バージョン1.3以前のDockerに注意するのは言うまでもない。ソフトウェア全般についていえることだが、Dockerエンジン自体にも脆弱性が存在する可能性はある。例えば、最近行われたアップデート1.3.2では、コンテナ間のセグメンテーションの弱体化を招いていた幾つかの重大なセキュリティの問題が修正された。ある脆弱性によって特定のイメージのセキュリティ制限が緩和され、もう1つの脆弱性によって任意のファイルシステムの書き込み(コードの実行)が可能になっていた。これらの問題は、セキュリティウイルス対策を把握すべき理由を示す好例となるだろう。また、ソフトウェアに最新のパッチを適用して最新の状態に保つことが絶対条件であることを示す例にもなるだろう。
2つ目の考慮すべき事項は、アプリケーションコンテナが、必ずしもハイパーバイザーがスライス間で提供する分離と同じレベルの分離を提供するわけではないことだ。コンテナは、アプリケーションを確実に分離するために少なからぬ処理を行っているが、次のようなアドバイスをしている。「従来の仮想化の技法では、追加のレベルで分離が行われているため、コンテナよりも安全だと見なされている。例えば、Xen、米VMware、KVMなどが実装しているものだ。コンテナはホストのカーネルに対してシステムコールを発行できるが、完全なVMがホストのハイパーバイザーに対して発行できるのはハイパーコールのみだ。後者の場合、攻撃対象の範囲が大幅に狭まる」
このアドバイスは、あなたの組織の取り組みに影響を与えるものである。短期的には、分離メカニズムを信頼する度合いについて警戒すればよい。例えば、マルチテナントの状況を評価しているとしよう。マルチテナントの状況では、アプリと同時に実行されるものに対する制御が限られる(例えば、パブリッククラウドなどが、これに該当する)。このような環境に配置するアプリケーションは慎重に選ぶのがよいだろう。機密度の低いアプリに適しているが、人事関連のシステムや総勘定元帳システムを移行するのは控えるのが賢明だ。
セキュリティ上のメリットは
現実主義を掲げるセキュリティの専門家に伝えたいことがある。それは、アプリケーションコンテナは賢く使えばセキュリティ上のメリットを享受できることだ。まず、管理上のメリットは、複雑さの緩和に役立つことだ。複雑さが緩和されるだけで、堅牢なセキュリティウイルス対策の一歩前進につながる。例えば、セキュリティメカニズム、システムアップデート、硬化技術を適用することについて考えてみてほしい。これらを多数の個別の仮想OSインスタンスに適用する作業と比較すると、アプリケーションコンテナを使用する単一のプラットフォームに適用するのは、ずっと簡単な作業になるだろう。
また、現時点では、アプリケーションコンテナはハイパーバイザーと同じレベルの分離機能を提供していない可能性がある。だが、埋め込みのWebサーバに対する保護を比べてみてほしい。Webサーバでは、1つのアプリケーションが危険にさらされるとほぼ間違いなくシステム全体が危険にさらされる。
重要なのはメリットもあるということだ。使い方次第で、Dockerはセキュリティツールキットの便利なツールの仲間入りを果たすだろう。今後注目すべきツールであることは間違いない。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
2
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
3
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
4
Claude利用8割のGMO、AI人材の評価軸が「トークン管理」に変わった
-
5
AI導入が失敗する“真犯人”は現場のマニュアル 7割が陥る「標準化」のわな
-
6
被害額は過去最高額 それでも「サイバー犯罪者が捕まらない」3つの理由
-
7
「テザリング依存」に潜む落とし穴 “遅いVPN”を解消するネット構築術
-
8
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
9
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
10
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
8
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
9
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
10
「標的型攻撃メール」事例・サンプル集
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー