すべてのWindows環境で学ぶべき重要なスキルであるイベントログの管理。毎秒Windowsイベントログにアクティビティが記録され、セキュリティツールとしてだけでなく、トラブルシューティングの重要な手助けとなります。Windowsイベント転送(WEF)という機能により、WindowsはリモートマシンからイベントをWindowsイベントコレクタに送信することができます。
Windowsイベントログ転送の概要
WEFは、複数のWindowsサーバからイベントを転送し、1つの場所で収集するためのサービスです。このサービスには、転送装置とコレクタの2つの主要なコンポーネントがあります。コレクタは、イベントログ転送装置から送信されたすべてのイベントを収集するWindowsサーバ上で実行されるサービスです。
転送サーバとコレクタの「リンク」は、サブスクリプションとして知られています。
コレクタはサブスクリプションマネージャとして機能し、イベントを受け入れ、エンドポイントから収集するイベントログアラートを指定することができます。
WEFプロジェクト概要
この記事では、プロジェクトの構築方法やソリューションの実装方法について説明します。以下の各セクションでは、前のセクションで説明した手順を踏まえた累積的なステップが説明されます。
このプロジェクトでは、基本的なWEFの実装方法を学びます。コレクタの設定と、サブスクリプションでコレクタにイベントを転送する方法を学びます。
以下の方法を学びます:
- Windows Serverインスタンス上でイベントログコレクタを設定および構成する方法。これは、すべてのイベントログフォワーダーがイベントを送信するWindows Serverです。
- 適用されると、適用対象のWindows Serverインスタンスがコレクタにイベントを送信するようにするGPOの作成。
- コレクタに送信するイベントのタイプを構成する。
この記事の残りの手順を進める方法を学びます。
環境と知識の要件
進む前に、環境があなたと同じであることを確認しましょう。以下の項目が開始する前に整っていることを確認してください:
- (2) Windows Serverインスタンス – 2012 R2以降の任意のWindows Serverインスタンスを使用できます。この記事では、Windows Server 2016を使用します。
- Active Directory
- GPO – Group Policyオブジェクトについての理解が必要です。
- WinRM – WinRMはすべてのクライアントで実行されている必要があります。構成されていない場合でも実行されている必要があります。
Windowsイベントコレクタの構成
最初のタスクは、Windows Server インスタンスの1つをコレクターとして設定することです。コレクターは、フォワーダーからの入力イベントログを受信する役割を担います。
Windows イベント コレクターで WinRM を有効にする
イベントをコレクターに転送する Windows Server インスタンスは、PowerShell リモートまたは WinRM を使用して転送します。まず、コレクターで WinRM が使用可能かどうかを確認する必要があります。コレクターが Windows Server 2012 R2 以降を実行している場合、WinRM はデフォルトで有効になっていますが、Windows ファイアウォールの影響を受ける可能性があります。
コレクターで Enable-PSRemoting
PowerShell コマンドレットをパラメーターなしで実行します。もしPowerShell リモートが既に有効になっている場合でも、必要な手順はスキップされます。
確認のために、リモートコンピューターから Invoke-Command -ComputerName <COLLECTORHOSTNAME> -ScriptBlock {1}
を実行することもできます。エラーが表示されない場合は、PowerShell リモートが動作しています。
サブスクリプション コレクター サービスの開始
PowerShell リモートが有効になってリスニング状態になったので、サブスクリプション コレクター サービスを開始します。サブスクリプション コレクター サービスは、Windows Server の起動時にも自動的に開始する必要があります。
コレクターで、イベントビューアを開き、サブスクリプションをクリックします。最初にサブスクリプションオプションを開くと、WindowsはWindowsイベントログコレクターサービスを起動して自動的に設定するかどうかを尋ねます。受け入れるにははいをクリックしてください。
以下にメッセージの例が表示されます。

おめでとうございます!コレクターが設定されました。これで、Windows Serverインスタンスにイベントを転送するためのGPOの設定が完了しました。
フォワーダーのGPOの設定
次のステップは、1つまたは複数のWindowsサーバーを設定してイベントログをコレクターに転送することです。これを行う最も簡単な方法は、GPOを作成することです。このGPOは、イベントを送信するサーバーが含まれるOUに適用することができます。
このプロジェクト記事では、GPOで必要な設定の基本を学びます。ただし、すべての利用可能なオプションを含む完全な手順については、Microsoftのドキュメントを参照してください。
ネットワークサービスにイベントログの読み取り権限を許可する
WEFは、フォワーダーからコレクターにイベントを読み取り送信するためにネットワークサービスアカウントを使用します。デフォルトでは、ネットワークサービスアカウントにはこの権限がありません。これを許可するために、最初にACLを設定する必要があります。
注意:Windows Serverの多くのイベントログは、ネットワークサービスアカウントにApplicationやSystemといった一般的なイベントログへのアクセス権限を既に提供しています。ただし、このアカウントにはSecurityイベントログやその他のカスタムイベントログへのアクセス権限は与えられていません。
イベントログフォワーダー上でネットワークサービスアカウントにイベントログの読み取り権限を許可するには、GPOを使用します。この記事では、ネットワークサービスアカウントにSecurityイベントログへのアクセス権限を許可する方法について説明します。その他のイベントログについても同じ手順が適用されます。
1. コマンドプロンプトを開き、wevtutil gl security
を実行します。これにより、Securityイベントログに関するさまざまな情報が表示されます。注目すべきは、channelAccess SDDLです。
以下に、Securityイベントログに必要なSDDLの例を示します。 channelAccess行は、イベントログに設定されたアクセス許可を表しています。以下で強調表示されたSDDLをコピーし、後でGPOに追加するために保存しておいてください。

2. グループポリシー管理コンソールを使用して、GPOを作成します。GPO内で、コンピュータの構成 → ポリシー → 管理用テンプレート → Windowsコンポーネント → イベントの転送 → ターゲットのサブスクリプションマネージャの構成に移動します。
3. ターゲットのサブスクリプションマネージャーの値を、コレクター上のWinRMエンドポイントに設定します。サーバーは以下の形式に設定します:
Server=http://<コレクターのFQDN>:5985/wsman/SubscriptionManager/WEC,Refresh=60
コレクターエンドポイントの末尾にリフレッシュ間隔があることに注意してください。リフレッシュ間隔は、クライアントが新しいサブスクリプションを利用可能かどうかを確認する頻度を示します。
4. 次に、wevtutil gl security
を実行してコピーしたSDDLを、設定コンピューターの構成→ポリシー→管理用テンプレート→Windowsコンポーネント→イベントログサービス→セキュリティ→ログアクセスの構成に貼り付けます。
このSDDLは、イベントログの設定に構成された他のすべてのアクセス許可よりも優先されることに注意してください。
以下に、セキュリティイベントログのGPOの例を示します。

5. GPOが作成されたら、このGPOをイベントログを送信するWindowsサーバーが含まれる既存のOUにリンクするか、新しいOUを作成してGPOにリンクします。このOUに追加されたすべてのADコンピューターアカウントは、コレクターへのサブスクリプションが設定されます。
サブスクリプションの設定
Active Directoryドメイン内のすべてのWindowsサーバーのすべてのイベントを収集するWEFの設定は、良いアイデアのように思えますが、実際はそうではありません。重要なイベントのみを転送するために選択的に設定する必要があります。重要なデータ以外のノイズを取り除くことで、WEFの真の価値が発揮されます。
セキュリティイベントログの定期購読の設定を行いましょう。
すでにGPOを作成し、Windowsサーバーを含むActive Directory OUにリンクさせたので、イベントソースはすでに設定されています。
- コレクターでWindowsイベントビューアを開き、サブスクリプションを右クリックし、サブスクリプションを作成します。

2. 以下のように、ソースコンピューターが起点オプションを選択し、コンピューターグループの選択をクリックします。ここで、イベントを転送したいコンピューターを選択します。

プロのヒント: ADグループの選択。 例:「ドメインコントローラー」は、グループ内のすべてのコンピューターを自動的に表示します。新しいサーバーを追加するたびに個々のコンピューターを選択する必要はありません。
3. 次に、転送するイベントを選択します。クエリフィルターを開き、以下のようにセキュリティを選択し、セキュリティイベントログからイベントを転送します。

4. セキュリティログが選択されたら、以下のようにイベントID、キーワード、ユーザー、コンピューターを入力してさらにフィルタリングできます。

5. クエリフィルターから出るために、OKをクリックします。
6. サブスクリプションプロパティウィンドウで、詳細をクリックします。次に、レイテンシを最小限にするを選択します。この設定は、コレクターができるだけ早くイベントを受け取ることを保証し、遅れが生じた場合には追いつくのに役立ちます。

WEFの構成の確認
WEFが設定されたら、メインのサブスクリプションページでソースコンピューターカラムをチェックして、実際に転送が確認できるようにします。

クライアントの「Applications and Services」の下にあるイベント転送プラグインの操作ログもチェックすることで、すべてが正常に動作しているか確認することができます。ここでは、Kerberosやファイアウォールに何か問題があった場合に、詳細なエラーが表示されます。

残りの作業は、低価値のクライアントを見つけ、セキュリティログをクリアしてアラートが表示されるかどうか確認することです。
学んだこと
このプロジェクトでは、基本的なWEFサブスクリプションの設定方法を学びました。以下の作業を行いました:
- イベント収集器の設定
- さまざまなWindows Serverフォワーダーにサブスクリプションを作成するためのGPOの作成
- 特定のイベントのみを送信するようにWEFサブスクリプションを設定
- WEFサブスクリプションができるだけ高速にイベントを送信するように設定
WEFの設定は最初は少し手間がかかりますが、一度設定が完了すれば、ほとんど問題やメンテナンスのヘッドアチェが発生しないはずです。
Source:
https://adamtheautomator.com/windows-event-collector/