web-dev-qa-db-ja.com

ゲスト仮想マシンをブロックするファイアウォールはホストを保護できますか?

ホストがゲストから安全かどうかを調べましたが、一般に、ベンダーのセキュリティ上の欠陥は別として、感染したゲストは共有ネットワークを介してホストに感染する可能性があると言われています。

では、ゲストからホストへのすべてのトラフィックをブロックするようにファイアウォールが設定されている場合はどうでしょうか。私が知る限り、ゲストを制御するためにネットワーク上にいる必要はありません。ゲストはネットワーク経由でホストにアクセスできないので、ホストは安全ですか?

2
Will

破損した/悪意のあるゲストVMがホストを傷つける可能性がある主な方法は2つあります。

  1. ネットワークを介してホストと通信する。これは、悪意のあるマシンをホストと同じLANに配置するのと似ていますが、特定のVMでのネットワークの動作方法によっては、詳細が表示される場合があります。

  2. 仮想化レイヤーを「エスケープ」することにより、VMホスト上のプロセス、またはハイパーバイザーハイジャック、または同じレベルの任意のオブジェクト)への読み取り/書き込みアクセスを許可するエスケープが成功します。

2番目の方法は、「ベンダーのセキュリティの欠陥」についてです。 VM実装が安全であれば、そのような事態を防ぐ必要があります。

ファイアウォールは物事のネットワーク側で機能するため、これは最初の方法にのみ関連します。ただし、悪意のある可能性のあるVMを使用している場合は、実際にはネットワークベースの攻撃について何らかの対策を講じる必要があり、ファイアウォールが関与する場合があります。

通常のVMでは、ホストはゲストにネットワークサービスを提供します。これらのサービスは構成可能です。たとえば、 Virtualbox が提供するものを見ると、ゲストは次のことを実行できます。

  1. ネットワークがまったくない(VMエンジンはゲストに仮想ネットワークインターフェイスを提供しません));
  2. 同じエンジンの下で他のVM=とリンクされているが、実際のインターネットとは別のネットワークインターフェイスを持っている。
  3. 他のVM and the Hostにリンクされているが、それ以外はインターネットから分離されている。
  4. ホストが認識し、ホストがNATサービスを提供する)(ただし、これはホスト上の実際のイーサネットカードに対応していない)ネットワークインターフェイスを備えている.
  5. VMがLANに接続された別の物理マシンであるかのようにイーサネットフレームを送受信できるように、ブリッジネットワークインターフェイスを備えています。

最初の2つのケースでは、VMはホストと通信できず、それが最後です。ケース3および5では、VMはホストと通信できますホストがネットワークカードとして認識するもの(ケース3では新しいソフトウェアベースのカード、ケース5では実際の物理カード)。ケース4の場合、ホストOSはゲストからのパケットをパケットとして認識せず、アレイです。 VMエンジンプロセス内のバイト数。ただし、そのプロセスは、それらをホスト自体である可能性がある他のマシンへの接続として変換します。

ファイアウォールは、ケース1および2とは関係ありません。ファイアウォールmayは、別個のイーサネットインターフェイス上ではありますが、ケース3および5で機能します。それらの場合、敵意のあるゲストが任意のethernet framesを送信することに注意してください。これは、ゲストが使用する必要があると考えるIPアドレスに関連するリンクに表示されるとは限りません。これらの状況は、LANにリンクされた悪意のあるマシンと同じ方法で処理する必要があります。必要に応じて、ホストがファストフードレストランのオープンWiFiに接続していると想定します。ケース4の場合、ホストまたは他のマシンへの接続はホストOSからVMエンジンプロセス自体からのものであるように見えます。

上記はVirtualboxで何が起こるかについてです。詳細は他の仮想化ソリューションによって異なる場合があります。

2
Tom Leek