ログ ファイルは、攻撃のトラブルシューティング、および侵害に関する情報の取得を行うための、重要なコンポーネントです。すべての ESXi ホストは Syslog サービスを実行し、VMkernel およびその他のシステム コンポーネントからのメッセージをローカル ファイルまたはリモート ホストに記録します。

ホストのセキュリティを強化するには、次の対策を講じてください。
  • データストアへの永続的なログ記録を構成します。デフォルトでは、ESXiホスト上のログはメモリ内のファイル システムに保存されます。そのため、ホストの再起動時にログが失われ、ログ データは 24 時間のみ保存されます。永続的なログ記録を有効にすると、ホストでアクティビティ専用のログが記録されます。
  • ログを中央ホストにリモートで記録し、中央にログ ファイルを収集することができます。そのホストから 1 つのツールを使用してホストを監視し、分析を集約し、ログ データを検索できます。この方法により、監視が容易になり、複数のホストに対する組織的攻撃の情報が明らかになります。
  • ESXiホストでセキュアなリモート Syslog を構成するには、ESXCLI や PowerCLI を使用するか、API クライアントを使用します。
  • Syslog 構成を照会し、Syslog サーバとポートが有効であることを確認します。

Syslog の設定および ESXiログ ファイルの詳細については、vSphere の監視とパフォーマンス のドキュメントを参照してください。

ESXi ホストでの Syslog の構成

vSphere ClientVMware Host Client、または esxcli system syslog コマンドを使用して syslog サービスを構成できます。

esxcli system syslog コマンドや他の ESXCLI コマンドの使用方法の詳細については、『ESXCLI スタート ガイド』を参照してください。各リモート ホストの仕様で指定されたポート向けに ESXi のファイアウォールを開く方法の詳細については、ESXi ファイアウォールの構成を参照してください。

手順

  1. vSphere Client インベントリで、ホストに移動して参照します。
  2. [構成] をクリックします。
  3. [システム] メニューの [システムの詳細設定] をクリックします。
  4. [編集] をクリックします。
  5. syslog でフィルタリングします。
  6. ログ作成をグローバルに設定し、さまざまな詳細設定を構成するには、ESXi Syslog のオプションを参照してください。
  7. (オプション) 任意のログで、デフォルトのログ サイズとログ ローテーションを上書きします。
    1. カスタマイズするログの名前をクリックします。
    2. ローテーション数とログ サイズを入力します。
  8. [OK] をクリックします。

結果

Syslog オプションの変更が有効になります。
注: vSphere Client または VMware Host Client を使用して定義された Syslog パラメータの設定は、すぐに有効になります。ただし、ESXCLI を使用して定義されたほとんどの設定を有効にするには、追加のコマンドを実行する必要があります。詳細については、 ESXi Syslog のオプションを参照してください。

ESXi Syslog のオプション

一連の Syslog オプションを使用して、ESXi Syslog ファイルと転送の動作を定義することができます。

ESXi 7.0 Update 1 以降では、Syslog.global.logHost などの基本設定とは別に、カスタマイズおよび NIAP コンプライアンス用の一連の詳細オプションを使用できます。

注: 監査レコード パラメータまたは Syslog.global.logDir パラメータのいずれかを設定する前には、常にパーシステント ストレージを構成してください。
注: Syslog.global.auditRecord 以降のすべての監査レコード設定がすぐに有効になります。ただし、ESXCLI を使用して定義された他の設定については、 esxcli system syslog reload コマンドを実行して変更を有効にするようにしてください。
表 1. レガシー Syslog オプション
オプション ESXCLI コマンド 説明
Syslog.global.logHost

esxcli system syslog config set --loghost=<str>

リモート ホストのカンマ区切りリストとメッセージ転送の仕様を定義します。loghost=<str> フィールドが空白の場合、ログは転送されません。Syslog メッセージを受信するリモート ホストの数にハード制限はありませんが、リモート ホストの数は 5 台以下にすることを推奨します。リモート ホストの仕様の形式は、protocol://hostname|ipv4|'['ipv6']'[:port] です。プロトコルは、TCP、UDP、または SSL のいずれかにする必要があります。ポートの値には、1 ~ 65,535 の任意の 10 進数を指定できます。ポートが指定されていない場合、SSL と TCP では 1514 が使用されます。UDP では 514 が使用されます。たとえば、ssl://hostName1:1514 です。
Syslog.global.defaultRotate esxcli system syslog config set --default-rotate=<long> 古いログ ファイルの最大保持数。この数字はグローバルに、また個別のサブロガーについて設定できます(Syslog.global.defaultSize を参照してください)。
Syslog.global.defaultSize esxcli system syslog config set --default-size=<long> ログ ファイルのデフォルト サイズ(KiB 単位)。ファイルがデフォルト サイズに達すると、Syslog サービスによって新しいファイルが作成されます。この数字はグローバルに、また個別のサブロガーについて設定できます。
Syslog.global.logDir esxcli system syslog config set --logdir=<str> ログが配置されたディレクトリ。ディレクトリは、マウントされた NFS または VMFS ボリュームに配置できます。リブート後も変わらないのは、ローカル ファイル システムの /scratch ディレクトリのみです。ディレクトリを [datastorename] path_to_file と指定します。ここで、パスはデータストアをバッキングするボリュームのルートへの相対パスです。例えば、パスの [storage1] /systemlogs はパスの /vmfs/volumes/storage1/systemlogs にマッピングします。
Syslog.global.logDirUnique esxcli system syslog config set --logdir-unique=<bool> Syslog.global.logDir の値に連結する ESXi ホスト名を指定します。複数の ESXi ホストのログが共有ファイル システムに記録される場合は、この設定を有効にすることが重要です。このオプションを選択すると、ESXi ホストの名前を持つサブディレクトリを [Syslog.global.LogDir] で指定されるディレクトリの下に作成します。同一の NFS ディレクトリが複数の ESXi ホストによって使用される場合、固有のディレクトリを作成しておくと便利です。
Syslog.global.certificate.checkSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> リモート ホストへのメッセージの転送時に SSL 証明書の確認を実施します。
表 2. ESXi 7.0 Update 1 以降で使用可能な Syslog オプション
オプション ESXCLI コマンド 説明
Syslog.global.auditRecord.storageCapacity esxcli system auditrecords local set --size=<long> ESXi ホストにある監査レコード ストレージ ディレクトリの容量を MiB 単位で指定します。監査レコード ストレージの容量を減らすことはできません。監査レコード ストレージが有効になる前または後に、ストレージの容量を増やすことが実行できます(Syslog.global.auditRecord.storageEnable 参照)。
Syslog.global.auditRecord.remoteEnable esxcli system auditrecords remote enable リモート ホストへの監査レコードの転送を有効にします。リモート ホストは、Syslog.global.logHost パラメータを使用して指定します。
Syslog.global.auditRecord.storageDirectory esxcli system auditrecords local set --directory=<dir> 監査レコード ストレージ ディレクトリを作成します。指定がなければ /scratch/auditLog がデフォルトの場所として設定されます。監査レコード ストレージ ディレクトリは手動で作成しないでください。また、監査レコード ストレージが有効になっている間は、監査レコード ストレージ ディレクトリを変更できません(Syslog.global.auditRecord.storageEnable を参照)。
Syslog.global.auditRecord.storageEnable esxcli system auditrecords local enable ESXi ホストで監査レコードのストレージを有効にします。監査レコード ストレージ ディレクトリが存在しない場合は、Syslog.global.auditRecord.storageCapacity で指定された容量で作成されます。
Syslog.global.certificate.checkCRL esxcli system syslog config set --crl-check=<bool> SSL 証明書チェーン内のすべての証明書の失効ステータスの確認を有効にします。

X.509 CRL の検証を有効にします。この CRL 検証は、業界の規則に従ってデフォルトでチェックされることはありません。NIAP で検証された構成の場合は、CRL チェックが必要です。実装上の制限により、CRL チェックが有効になっている場合は、証明書チェーン内のすべての証明書が CRL リンクを提供する必要があります。

CRL チェックを使用する環境を適切に構成するのは困難なため、証明に関連しないインストール環境の場合は、crl-check オプションを有効にしないでください。

Syslog.global.certificate.strictX509Compliance esxcli system syslog config set --x509-strict=<bool> X.509 への厳密なコンプライアンスを有効にします。検証中に CA ルート証明書に対して追加の妥当性チェックを実行します。これらのチェックは一般に実行されません。CA ルートは本来信頼されるものであり、構成に誤りのある既存の CA ルートとの互換性が失われる可能性があるためです。NIAP で検証された構成の場合は、CA ルートも検証に合格する必要があります。

CRL チェックを使用する環境を適切に構成するのは困難なため、証明に関連しないインストール環境の場合は、x509-strict オプションを有効にしないでください。

Syslog.global.droppedMsgs.fileRotate esxcli system syslog config set --drop-log-rotate=<long> ドロップされた古いメッセージ ログ ファイルの保持数を指定します。
Syslog.global.droppedMsgs.fileSize esxcli system syslog config set --drop-log-size=<long> ドロップされた各メッセージ ログ ファイルが新しいログ ファイルに切り替わるサイズ(KiB 単位)を指定します。
Syslog.global.logCheckSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> リモート ホストへのメッセージの転送時に SSL 証明書の確認を実施します。
注: 廃止されました。ESXi 7.0 Update 1 以降では Syslog.global.certificate.checkSSLCerts を使用します。
Syslog.global.logFilters esxcli system syslog config logfilter [add | remove | set] ... 1 つ以上のログ フィルタリング仕様を指定します。各ログ フィルタは、二重の縦棒「||」で区切る必要があります。ログ フィルタの形式は、numLogs | ident | logRegexp です。numLogs では、指定したログ メッセージの最大ログ エントリ数を設定します。この数に達すると、指定したログ メッセージがフィルタリングされて無視されます。ident では、1 つ以上のシステム コンポーネントを指定し、これらのコンポーネントで生成されるログ メッセージにフィルタを適用します。logRegexp では、Python 正規表現構文を使用して大文字と小文字を区別する語句を指定し、ログ メッセージを内容でフィルタリングします。
Syslog.global.logFiltersEnable ログ フィルタの使用を有効にします。
Syslog.global.logLevel esxcli system syslog config set --log-level=<str> ログ フィルタリング レベルを指定します。このパラメータを変更する必要があるのは、Syslog デーモンの問題をトラブルシューティングする場合のみです。debug 値は最も詳細なレベル、info 値はデフォルトの詳細レベル、warning 値は警告またはエラーの場合のみ、error 値はエラーの場合のみ使用できます。
Syslog.global.msgQueueDropMark esxcli system syslog config --queue-drop-mark=<long>) メッセージのドロップが開始されるメッセージ キューの容量の割合を指定します。
Syslog.global.remoteHost.connectRetryDelay esxcli system syslog config set --default-timeout=<long> 接続の試行が失敗してからリモート ホストへの接続を再試行するまでの遅延時間を秒単位で指定します。
Syslog.global.remoteHost.maxMsgLen esxcli system syslog config set --remote-host-max-msg-len=<long> TCP および SSL プロトコルの場合、このパラメータは、切り詰める前の Syslog 転送の最大長をバイト単位で指定します。リモート ホスト メッセージのデフォルトの最大長は 1 KiB です。メッセージの最大長を最大 16 KiB まで増やすことができます。ただし、この値を 1 KiB より大きい値にしても、長い転送が切り詰められないで Syslog コレクタに到着するとは限りません。たとえば、メッセージを発行する Syslog インフラストラクチャが ESXi の外部にある場合などです。

この設定は、UDP プロトコルには影響しません。RFC 5426 は、UDP プロトコルの最大メッセージ転送長を、IPV4 の場合は 480 バイト、IPV6 の場合は 1,180 バイトに設定します。この制限のため、また、UDP パケットはネットワーク インフラストラクチャによって予期せずドロップされる可能性があるため、重要な Syslog メッセージの転送に UDP を使用することは推奨されません。

Syslog.global.vsanBacking esxcli system syslog config set --vsan-backing=<bool> ログ ファイルと監査レコード ストレージ ディレクトリを vSAN クラスタに配置できるようにします。ただし、このパラメータを有効にすると、ESXi ホストが応答しなくなる可能性があります。

ESXi ログ ファイルの場所

ESXi は、syslog 機能を使用してログ ファイルにホスト アクティビティを記録します。

表 3. ESXi ログ ファイルの場所
コンポーネント 場所 目的
認証 /var/log/auth.log ローカル システムの認証に関するすべてのイベントが含まれます。
ESXi ホスト エージェント ログ /var/log/hostd.log ESXi ホストとその仮想マシンを管理および構成するエージェントの情報が含まれます。
シェル ログ /var/log/shell.log ESXi シェルに入力されたすべてのコマンドおよびシェル イベント(シェルが有効になった日時など)の記録が含まれます。
システム メッセージ /var/log/syslog.log すべての一般的なログ メッセージが含まれ、トラブルシューティングに使用できます。この情報は、以前はメッセージ ログ ファイルに記録されていました。
vCenter Server エージェント ログ /var/log/vpxa.log vCenter Server と通信するエージェントに関する情報が含まれます(ホストが vCenter Server によって管理されている場合)。
仮想マシン 影響を受ける仮想マシンの構成ファイルと同じディレクトリにある vmware.log および vmware*.log。例:/vmfs/volumes/datastore/virtual machine/vmware.log 仮想マシンの電源イベント、システム障害情報、ツールのステータスとアクティビティ、時間の同期、仮想ハードウェアの変更、vMotion の移行、マシンのクローンなどが含まれます。
VMkernel /var/log/vmkernel.log 仮想マシンおよび ESXi に関するアクティビティを記録します。
VMkernel サマリ /var/log/vmksummary.log ESXi のアップタイムおよび可用性の統計を確認するために使用します (コンマ区切り)。
VMkernel 警告 /var/log/vmkwarning.log 仮想マシンに関するアクティビティを記録します。
Quick Boot /var/log/loadESX.log Quick Boot を使用した ESXi ホストの再起動に関連するすべてのイベントが含まれます。
信頼済みのインフラストラクチャ エージェント /var/run/log/kmxa.log ESXi 信頼済みホスト上のクライアント サービスに関連するアクティビティが記録されます。
キー プロバイダ サービス /var/run/log/kmxd.log vSphere 信頼機関 キー プロバイダ サービスに関連するアクティビティが記録されます。
証明サービス /var/run/log/attestd.log vSphere 信頼機関 の証明サービスに関連するアクティビティが記録されます。
ESX Token Service /var/run/log/esxtokend.log vSphere 信頼機関 ESX Token Service に関連するアクティビティが記録されます。
ESX API フォワーダ /var/run/log/esxapiadapter.log vSphere 信頼機関 API フォワーダに関連するアクティビティが記録されます。