一部の VMware Tools 設定によって、セキュリティ リスクにさらされるおそれがあります。たとえば、VMware Tools によって、シリアル ポートやパラレル ポートなどの仮想デバイスを仮想マシンに接続できます。接続されたデバイスが攻撃チャネルになる可能性があります。可能な限り仮想マシンを堅牢化してセキュリティ リスクを軽減するには、セキュリティの脅威に対する脆弱性となりそうな VMware Tools 機能を無効にします。
ホスト、仮想マシン、管理コンポーネント、およびネットワーク インフラストラクチャに関するセキュリティの推奨を含む、本番環境に安全に VMware vSphere をデプロイする詳細な手順については、『vSphere セキュリティ強化ガイド』を参照してください。VMware Tools 設定は、デプロイ環境内の仮想マシンにのみ関連します。
仮想マシンは、少数のファイルにカプセル化されます。これらのうち、構成ファイル(.vmx ファイル)で仮想ハードウェアのパフォーマンスやその他の設定を制御します。構成設定を表示および変更するには、次のようないくつかの方法を使用できます。
- vSphere Web Client を使用して仮想マシン設定を変更します。vSphere Web Client では、これらの構成パラメータは、仮想マシンの [設定の編集] ダイアログ ボックスの詳細オプションで編集します。
- vSphere Host Client を使用して仮想マシン設定を編集します。vSphere Host Client では、これらの構成パラメータは、仮想マシンの [設定の編集] ダイアログ ボックスの詳細オプションで編集します。
- Power CLI など、vSphere API ベースのツールを使用して、.vmx パラメータを表示および変更します。
設定の編集後、変更内容は、仮想マシンを再起動するまで有効になりません。
VMware Tools の対応するパラメータを仮想マシンの .vmx ファイルで適切に設定することで、複数の潜在的な脅威を排除できます。こうしたパラメータの多くは、これらの脅威から仮想マシンを保護するためにデフォルト値がすでに設定されています。
権限のないユーザー アカウントに伴う脅威
- コピー アンド ペースト
-
デフォルトでは、ファイルのドラッグ アンド ドロップ機能と同様に、テキスト、グラフィック、およびファイルのコピー アンド ペースト機能は無効になっています。このオプションを有効にすると、リッチ テキストだけでなく、VMware 製品によっては、グラフィックとファイルをクリップボードから仮想マシンのゲスト OS にコピー アンド ペーストできます。つまり、仮想マシンのコンソール ウィンドウにフォーカスが移ると、仮想マシンで操作中のユーザーや実行中のプロセスは権限の有無にかかわらず、コンソール ウィンドウが実行されているコンピュータのクリップボードにアクセスできます。この機能に伴うリスクを回避するには、次の
.vmx 設定を保存して、コピー アンド ペーストを無効にします。
isolation.tools.copy.disable = "TRUE" isolation.tools.paste.disable = "TRUE"
仮想デバイスに伴う脅威
- デバイスの接続と変更
-
デフォルトでは、デバイスの接続および切断機能は無効です。この機能を有効にすると、ルート権限および管理者権限のないユーザーやプロセスでも、ネットワーク アダプタや CD-ROM ドライブなどのデバイスへの接続や、デバイス設定の変更ができます。つまり、ユーザーは切断された CD-ROM ドライブに接続し、ドライブ内のメディアに含まれる機密情報にアクセスできます。ユーザーはまた、ネットワーク アダプタを切断して仮想マシンをネットワークから隔離し、サービス拒否状態にすることもできます。この機能に伴うリスクを回避するには、次の
.vmx 設定を保存して、デバイスの接続および切断機能またはデバイス設定の変更機能を無効にします。
isolation.device.connectable.disable = "TRUE" isolation.device.edit.disable = "TRUE"
仮想マシンの情報フローに伴う脅威
- VMX ファイル サイズ
-
デフォルトでは、構成ファイルのサイズは 1 MB に制限されています。これは、ファイルのサイズを制御しないと、データストアがディスク領域不足になった場合にサービス拒否が発生するおそれがあるためです。情報メッセージが仮想マシンから
.vmx ファイルに送信されることがあります。これらの setinfo メッセージでは、仮想マシンの特性または識別子をファイルに名前と値のペアを書き込むことで定義します。ファイルに大量のカスタム情報を格納する場合は、ファイルのサイズ拡張が必要になることがあります。プロパティ名は
tools.setInfo.sizeLimit で、値はキロバイト単位で指定します。次の
.vmx 設定を保存します。
tools.setInfo.sizeLimit = "1048576"
- パフォーマンス カウンタの PerfMon への送信
-
仮想マシンの CPU およびメモリ用パフォーマンス カウンタを Linux および Microsoft Windows ゲスト OS の PerfMon に統合できます。これによって、物理ホストに関する詳細情報をゲスト OS から使用できるようになります。悪意のあるユーザーはこの情報を使用し、ホストでさらなる攻撃を実行できます。デフォルトでは、この機能は無効です。ホスト情報を仮想マシンに送信されないようにするには、次の
.vmx 設定を保存します。
tools.guestlib.enableHostInfo = "FALSE"
この設定によって、一部のメトリックがブロックされます。このプロパティを
FALSE
に設定した場合、次のメトリックがブロックされます。- GUESTLIB_HOST_CPU_NUM_CORES
- GUESTLIB_HOST_CPU_USED_MS
- GUESTLIB_HOST_MEM_SWAPPED_MB
- GUESTLIB_HOST_MEM_SHARED_MB
- GUESTLIB_HOST_MEM_USED_MB
- GUESTLIB_HOST_MEM_PHYS_MB
- GUESTLIB_HOST_MEM_PHYS_FREE_MB
- GUESTLIB_HOST_MEM_KERN_OVHD_MB
- GUESTLIB_HOST_MEM_MAPPED_MB
- GUESTLIB_HOST_MEM_UNMAPPED_MB
- vSphere では公開されないが脆弱性の原因となる可能性がある機能
-
VMware 仮想マシンは、vSphere のほかにも多くの VMware 製品で稼動するため、仮想マシン パラメータには vSphere 環境に適用されないものもあります。これらの機能は vSphere ユーザー インターフェイスには表示されませんが、無効にするとゲスト OS がホストにアクセスするためのベクトル数が減少します。これらの機能を無効にするには、次の
.vmx 設定を使用します。
isolation.tools.unity.push.update.disable = "TRUE" isolation.tools.ghi.launchmenu.change = "TRUE" isolation.tools.ghi.autologon.disable = "TRUE" isolation.tools.hgfsServerSet.disable = "TRUE" isolation.tools.memSchedFakeSampleStats.disable = "TRUE" isolation.tools.getCreds.disable = "TRUE"