問題 6★★☆

取引先ごとの業務システムを1台の物理サーバに集約する計画で、コンテナ型の仮想化を使う案が出た。 情報セキュリティ担当者は、取引先どうしの分離の強さに懸念を示した。 その根拠として、最も適切なものはどれか。

正解:イ

各選択肢の解説

  1. アコンテナごとにゲストOSを持つので、更新の漏れが取引先の数だけ生じうる。

    誤り。ゲストOSをそれぞれ持つのは仮想マシン(ハイパーバイザー型・ホスト型)のほうです。 コンテナはゲストOSを起動しないので軽いという特徴と、取り違えています。

  2. イコンテナはホストOSのカーネルを共有し、その脆弱性が他のコンテナにも及びうる。

    正解。コンテナは1つのホストOSのカーネルを全員で使います。そのカーネルに脆弱性があると、 1つのコンテナから同じサーバ上の他のコンテナへ影響が及ぶおそれがあります。

  3. ウコンテナはホスト型の仮想化より分離が弱く、ホスト型に変えれば最も強くなる。

    誤り。ホスト型は、ホストOSの上で仮想化ソフトを動かす方式です。仮想マシンごとに ゲストOSを持つので分離はコンテナより強いものの、ホストOSが共通の土台として残ります。 最も強いとは言えません。

  4. エ複数のサーバでクラスタを組まないと、コンテナどうしは分離されない。

    誤り。クラスタは、複数のサーバをまとめて1台のように動かし、可用性や性能を高める構成です。 止まりにくくする仕組みで、同じサーバ上の利用者どうしを分ける仕組みではありません。

理解を深めるために

コンテナは「台所を共有する個室」

コンテナ型の仮想化は、1つのOSの上で、アプリケーションの実行環境を区切って動かす方式です。 個室は分かれていても、台所(OSの中核であるカーネル)は全員で共有している状態に似ています。 共有している部分に穴があれば、隣の個室にも入られるおそれがあります。

なぜ共有が分離の弱さになるのか

  • コンテナ型: ゲストOSを起動せず、ホストOSのカーネルを共有する。軽くて速いが、 カーネルの脆弱性を突かれると、同じサーバ上の他のコンテナへ影響が及ぶおそれがある
  • ハイパーバイザー型: ハードウェアの上で直接ハイパーバイザーが動き、 仮想マシンごとにゲストOSを持つ。カーネルを共有しないので、分ける力は強い
  • ホスト型: ホストOSの上で仮想化ソフトを動かし、その上でゲストOSを動かす。 ゲストOSは分かれるが、ホストOSが土台として残る

取引先のように、互いに見えてはいけない利用者を同じサーバに載せるときは、 仮想マシンで分ける、物理サーバを分けるといった選択が検討されます。

混同しやすいものとの違い

方式・構成 何を共有するか/何のためか
コンテナ型 ホストOSのカーネルを共有する
ハイパーバイザー型 仮想マシンごとにゲストOSを持ち、カーネルを共有しない
ホスト型 ゲストOSは分かれるが、ホストOSの上で動く
クラスタ 複数台をまとめて可用性・性能を高める(分離とは別の目的)

コンテナの「軽い」と「分離が弱い」は、どちらもカーネルの共有から来ています。 同じ理由の表と裏として覚えます。

前の問題へ次の問題へ