CVE-2018-3646 の軽減プロセスは、次の 3 つのフェーズで構成されます。
- 更新フェーズ: vSphere の更新およびパッチの適用
シーケンシャルコンテキスト攻撃を軽減するには、VMware Security Advisory
VMSA-2018-0020 に記載されている製品バージョンに vSphere を更新します。 この軽減策では、Intel マイクロコードの更新(ほとんどの Intel ハードウェア プラットフォームでは独立した ESXi パッチに付属)を利用します。
VMSA-2018-0020 も参照してください。 この軽減策はデフォルトで有効になっていて、パフォーマンスに大きな影響を与えません。
注: 上記のワークフローに表示されているように、ESXi のパッチを適用する前に vCenter Server を更新する必要があります。前述のアップデートおよびパッチでは、CVE-2018-3646 の
同時コンテキスト攻撃ベクトルを緩和するには
ESXi サイドチャネル対応スケジューラを有効にする必要があることを説明する通知メッセージが追加されました。ESXi が vCenter Server よりも先にアップデートされた場合、これに関連する不可解な通知メッセージを受け取る可能性があります。vCenter がアップデートされた後、通知は正しく表示されるようになります。
- 計画フェーズ: 環境の評価
同時コンテキスト攻撃ベクトルを軽減するには、
VMSA-2018-0020 に示されている更新およびパッチに含まれている
ESXi サイドチャネル対応スケジューラを有効にします。 デフォルトでは、このスケジューラは有効ではありません。 このスケジュールを有効にすると、vSphere 環境で実行されているアプリケーションのパフォーマンスに大きな影響が及ぶ可能性があります。 計画フェーズの目標は、同時環境に、スケジューラを有効にしても動作に影響が生じないようにするために必要な CPU キャパシティがあるかどうかを把握することです。
次のリストに、
ESXi サイドチャネル対応スケジューラを有効にした後に生じる可能性のある問題領域の概要を示します。
- ESXi ホストで使用できる物理コアの処理能力を上回る vCPU が装備された仮想マシン
- カスタム アフィニティまたは NUMA が設定された仮想マシン
- 遅延の影響を受ける構成の仮想マシン
- 平均 CPU 使用率が 70% を超える ESXi ホスト
- カスタム CPU リソース管理オプションが有効になっているホスト
- ローリング アップグレードによって平均 CPU 使用率が 100% を超える HA クラスタ
重要: 上記のリストは、
ESXi サイドチャネル対応スケジューラの有効化に関連する問題領域の概要を示すためのものです。 VMware パフォーマンス チームは、
KB55767 で詳細なガイドおよびパフォーマンス データを公開しています。 スケジューラを有効にする前に、このドキュメントを詳細に確認することを強くお勧めします。
注:
ESXi サイドチャネル対応スケジューラを有効にする前に、追加のハードウェアを取得するか、既存のワークロードを再分散しなければならない可能性があります。 組織は、リスク評価を行って
同時コンテキスト攻撃ベクトルで発生するリスクを受け入れた後に、
ESXi サイドチャネル対応スケジューラを有効にしないように選択することができます。 この方法はお勧めしません。VMware が組織に代わってこの決定を行うことはできません。
- スケジューラ有効化フェーズ:
a.
ESXi 5.5, 6.0, 6.5, 6.7 (6.7u2 以前), 7.0 での ESXi サイドチャネル対応スケジューラの有効化計画フェーズで上記の問題領域を解決した後に、
CVE-2018-3646 の
同時コンテキスト攻撃ベクトルを軽減するには、
ESXi サイドチャネル対応スケジューラを有効にする必要があります。 このスケジューラは、詳細設定オプション
hyperthreadingMitigation を使用して個々の ESXi ホスト上で有効にできます。
注:
- このオプションを有効化すると、vSphere UI は物理コアごとに単一の論理プロセッサを報告するようになります。ハイパースレッディングが有効になっていた場合は論理プロセッサの数が半分になります。さらに、様々な設定タブでハイパースレッディングが [無効] と表示されます。
- 現在の ESXi サイドチャネル対応スケジューラ は CVE-2018-5407 にも対応できます。
vSphere Web Client または vSphere Client を使用した
ESXi サイドチャネル対応スケジューラの有効化
- vSphere Web Client または vSphere Client を使用して vCenter Server に接続します。
- インベントリで ESXi ホストを選択します。
- [管理] タブ (5.5/6.0) または [設定] タブ (6.5/6.7) をクリックします。
- [設定] サブタブをクリックします。
- [システム] 見出しで、[システムの詳細設定] をクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigation を検索します。
- 設定を名前で選択して、[編集](鉛筆アイコン)をクリックします。
- 設定オプションを true に変更します(デフォルトは false)。
- OK をクリックします。
- ESXi ホストを再起動して構成の変更を有効にします。
ESXi Embedded ホスト クライアントを使用した
ESXi サイドチャネル対応スケジューラの有効化
- Web ブラウザをで https://HOSTNAME を開いて、ESXi ホストに接続します。
- [管理] タブをクリックします。
- [詳細設定] サブタブをクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigation を検索します。
- 設定を名前で選択して、[編集](鉛筆アイコン)をクリックします。
- 設定オプションを true に変更します(デフォルトは false)。
- [保存] をクリックします。
- ESXi ホストを再起動して構成の変更を有効にします。
ESXCLI を使用した
ESXi サイドチャネル対応スケジューラの設定の有効化
- ESXi ホストに SSH で接続するか、リモート ESXCLI がインストールされているコンソールを開きます。 詳細については、http://www.vmware.com/support/developer/vcli/ を参照してください。
- esxcli system settings kernel list -o hyperthreadingMitigation を実行して、HT 対応軽減策設定の現在のランタイム値を確認します。
このコマンドの返り値は、次のようになります。
- HT 対応の軽減策を有効にするには、次のコマンドを実行します。
esxcli system settings kernel set -s hyperthreadingMitigation -v TRUE
- ESXi ホストを再起動して構成の変更を有効にします。
b.
ESXi 6.7u2 (13006603)以降での、 ESXi サイドチャネル対応スケジューラ (SCAv1) または ESXi サイドチャネル対応スケジューラv2 (SCAv2) の有効化
注:ESXi 6.7u2 (13006603) 以降のリリースには、
ESXi サイドチャネル対応スケジューラv2 が含まれています。6.5, 6.0, 5.5 などの以前のリリースラインでは、この新しいスケジューラは使用できません。
VMware は、SCAv1 と SCAv2 のパフォーマンスの違いについてより詳しく説明したホワイトペーパー「Performance of vSphere 6.7 Scheduling Options」を公開しました。続行する前に、このドキュメントを確認してください。
vSphere Web Client または vSphere Client を使用した
ESXi サイドチャネル対応スケジューラ (SCAv1) の有効化
- vSphere Web Client または vSphere Client を使用して vCenter Server に接続します。
- インベントリで ESXi ホストを選択します。
- [設定] または [構成] タブをクリックします。
- [システム] の見出しで、[システムの詳細設定] をクリックします。
- [編集] をクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigation を検索します。
- 設定の名前で選択します。
- 設定オプションを true に変更します(デフォルトは false)。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigationIntraVM を検索します。
- 設定オプションを true に変更します(デフォルトは true)。
- OK をクリックします。
- ESXi ホストを再起動して構成の変更を有効にします。
ESXi Embedded ホスト クライアントを使用した
ESXi サイドチャネル対応スケジューラ (SCAv1) の有効化
- Web ブラウザをで https://HOSTNAME を開いて、ESXi ホストに接続します。
- [管理] タブをクリックします。
- [詳細設定] サブタブをクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigation を検索します。
- 設定を名前で選択して、[オプションの編集] をクリックします。
- 設定オプションを true に変更します (デフォルトは false)。
- [保存] をクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigationIntraVM を検索します。
- 設定を名前で選択して、[オプションの編集] をクリックします。
- 設定オプションを true に変更します(デフォルトは true)。
- [保存] をクリックします。
- ESXi ホストを再起動して構成の変更を有効にします。
ESXCLI を使用した
ESXi サイドチャネル対応スケジューラ (SCAv1) の有効化
- ESXi ホストに SSH で接続するか、リモート ESXCLI がインストールされているコンソールを開きます。 詳細については、http://www.vmware.com/support/developer/vcli/ を参照してください。
- esxcli system settings kernel list -o hyperthreadingMitigation および esxcli system settings kernel list -o hyperthreadingMitigationIntraVM を実行して、現在の設定を確認します。
- ESXi サイドチャネル対応スケジューラ (SCAv1) を有効化するには、次のコマンドを実行します。
- esxcli system settings kernel set -s hyperthreadingMitigation -v TRUE
- esxcli system settings kernel set -s hyperthreadingMitigationIntraVM -v TRUE
- ESXi ホストを再起動して構成の変更を有効にします。
vSphere Web Client または vSphere Client を使用した
ESXi サイドチャネル対応スケジューラ (SCAv2) の有効化
- vSphere Web Client または vSphere Client を使用して vCenter Server に接続します。
- インベントリで ESXi ホストを選択します。
- [設定] または [構成] タブをクリックします。
- [システム] の見出しで、[システムの詳細設定] をクリックします。
- [編集] をクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigation を検索します。
- 設定の名前で選択します。
- 設定オプションを true に変更します(デフォルトは false)。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigationIntraVM を検索します。
- 設定オプションを false に変更します(デフォルトは true)。
- OK をクリックします。
- ESXi ホストを再起動して構成の変更を有効にします。
ESXi Embedded ホスト クライアントを使用した
ESXi サイドチャネル対応スケジューラ (SCAv2) の有効化
- Web ブラウザをで https://HOSTNAME を開いて、ESXi ホストに接続します。
- [管理] タブをクリックします。
- [詳細設定] サブタブをクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigation を検索します。
- 設定を名前で選択して、[オプションの編集] をクリックします。
- 設定オプションを true に変更します (デフォルトは false)。
- [保存] をクリックします。
- [フィルタ] ボックス内でクリックし、VMkernel.Boot.hyperthreadingMitigationIntraVM を検索します。
- 設定を名前で選択して、[オプションの編集] をクリックします。
- 設定オプションを false に変更します(デフォルトは true)。
- [保存] をクリックします。
- ESXi ホストを再起動して構成の変更を有効にします。
ESXCLI を使用した
ESXi サイドチャネル対応スケジューラ (SCAv2) の有効化
- ESXi ホストに SSH で接続するか、リモート ESXCLI がインストールされているコンソールを開きます。 詳細については、http://www.vmware.com/support/developer/vcli/ を参照してください。
- esxcli system settings kernel list -o hyperthreadingMitigation および esxcli system settings kernel list -o hyperthreadingMitigationIntraVM を実行して、現在の設定を確認します。
- ESXi サイドチャネル対応スケジューラ (SCAv2) を有効化するには、次のコマンドを実行します。
- esxcli system settings kernel set -s hyperthreadingMitigation -v TRUE
- esxcli system settings kernel set -s hyperthreadingMitigationIntraVM -v FALSE
- ESXi ホストを再起動して構成の変更を有効にします。
ESXi 6.7 U2 (またはそれ以降) でのスケジューラ設定の概要
hyperthreadingMitigation | hyperthreadingMitigationIntraVM | Scheduler Enabled |
FALSE | TRUE or FALSE | デフォルトのスケジューラ (緩和策なし) |
TRUE | TRUE | SCAv1 |
TRUE | FALSE | SCAv2 |
HT 対応軽減策のツールVMware は、
計画フェーズと
スケジューラ有効化フェーズの両方の実行を大規模に支援するツールを用意しました。 このツールは、使用法、機能、制限事項に関する詳細な説明と共に
KB56931 で提供されています。
表 1: 影響を受ける ESXi サポート対象の Intel プロセッサ
Intel のコード名 | FMS | Intel のブランド名 |
Nehalem-EP | 0x106a5 | Intel Xeon 35xx シリーズ、 Intel Xeon 55xx シリーズ |
Lynnfield | 0x106e5 | Intel Xeon 34xx Lynnfield シリーズ |
Clarkdale | 0x20652 | Intel i3/i5 Clarkdale シリーズ、 Intel Xeon 34xx Clarkdale シリーズ |
Arrandale | 0x20655 | Intel Core i7-620LE プロセッサ |
Sandy Bridge DT | 0x206a7 | Intel Xeon E3-1100 シリーズ、 Intel Xeon E3-1200 シリーズ、 Intel i7-2655-LE シリーズ、Intel i3-2100 シリーズ |
Westmere EP | 0x206c2 | Intel Xeon 56xx シリーズ、 Intel Xeon 36xx シリーズ |
Sandy Bridge EP | 0x206d7 | Intel Pentium 1400 シリーズ、 Intel Xeon E5-1400 シリーズ、 Intel Xeon E5-1600 シリーズ、 Intel Xeon E5-2400 シリーズ、 Intel Xeon E5-2600 シリーズ、 Intel Xeon E5-4600 シリーズ |
Nehalem EX | 0x206e6 | Intel Xeon 65xx シリーズ、 Intel Xeon 75xx シリーズ |
Westmere EX | 0x206f2 | Intel Xeon E7-8800 シリーズ、 Intel Xeon E7-4800 シリーズ、 Intel Xeon E7-2800 シリーズ、 |
Ivy Bridge DT | 0x306a9 | Intel i3-3200 シリーズ、Intel i7-3500-LE/UE、Intel i7-3600-QE、 Intel Xeon E3-1200-v2 シリーズ、 Intel Xeon E3-1100-C-v2 シリーズ、 Intel Pentium B925C |
Haswell DT | 0x306c3 | Intel Xeon E3-1200-v3 シリーズ |
Ivy Bridge EP | 0x306e4 | Intel Xeon E5-4600-v2 シリーズ、 Intel Xeon E5-2400-v2 シリーズ、 Intel Xeon E5-2600-v2 シリーズ、 Intel Xeon E5-1400-v2 シリーズ、 Intel Xeon E5-2600-v2 シリーズ |
Ivy Bridge EX | 0x306e7 | Intel Xeon E7-8800/4800/2800-v2 シリーズ |
Haswell EP | 0x306f2 | Intel Xeon E5-2400-v3 シリーズ、 Intel Xeon E5-1400-v3 シリーズ、 Intel Xeon E5-1600-v3 シリーズ、 Intel Xeon E5-2600-v3 シリーズ、 Intel Xeon E5-4600-v3 シリーズ |
Haswell EX | 0x306f4 | Intel Xeon E7-8800/4800-v3 シリーズ |
Broadwell H | 0x40671 | Intel Core i7-5700EQ、 Intel Xeon E3-1200-v4 シリーズ |
Avoton | 0x406d8 | Intel Atom C2300 シリーズ、 Intel Atom C2500 シリーズ、 Intel Atom C2700 シリーズ |
Broadwell EP/EX | 0x406f1 | Intel Xeon E7-8800/4800-v4 シリーズ、 Intel Xeon E5-4600-v4 シリーズ、 Intel Xeon E5-2600-v4 シリーズ、 Intel Xeon E5-1600-v4 シリーズ |
Skylake SP | 0x50654 | Intel Xeon Platinum 8100 (Skylake-SP) シリーズ、 Intel Xeon Gold 6100/5100 (Skylake-SP) シリーズ Intel Xeon Silver 4100、Bronze 3100 (Skylake-SP) シリーズ |
Broadwell DE | 0x50662 | Intel Xeon D-1500 シリーズ |
Broadwell DE | 0x50663 | Intel Xeon D-1500 シリーズ |
Broadwell DE | 0x50664 | Intel Xeon D-1500 シリーズ |
Broadwell NS | 0x50665 | Intel Xeon D-1500 シリーズ |
Skylake H/S | 0x506e3 | Intel Xeon E3-1500-v5 シリーズ、 Intel Xeon E3-1200-v5 シリーズ |
Kaby Lake H/S/X | 0x906e9 | Intel Xeon E3-1200-v6 |