Windows ServerのイベントログをAzure Monitorで監視

Azure,Log Analytics,Monitor,Windows

Log Analyticsワークスペースに収集したイベントログの監視設定手順です。
Azure Monitorを利用したWindows ServerへのRDP(リモートデスクトップ)接続時のログインのイベントログ監視を例に纏めました。

    • Azure Monitorを使ったイベントログの監視設定
    • アラート内容をAzure Portalやアラート通知メールで確認

※Windows Server 2022 Datacenter Azure Editionを利用しています。
※事前に準備済みのLog Analyticsワークスペース(log-test-01)や仮想マシン(Azure VM)(test-vm-01、02)を利用しています。
※ ご利用の環境に合わせて適時設定してください。

スポンサーリンク

Azure MonitorでWindows Serverのイベントログ監視

Log Analyticsワークスペースへ取り込んだWindows ServerのイベントログはAzure Monitorの監視にも利用出来ます。
今回は例としてWindows ServerへのRDP(リモートデスクトップ)接続のログインに関するイベントを検知してみます。
イベントログを利用して正常なログインやログインエラーを検知します。

イベントログをLog Analyticsワークスペースで収集

Windows ServerのイベントログをLog Analyticsワークスペースに収集する手順はこちらに纏めています。

ログインのイベントログについて

Windows Serverのログインに関するイベントログについてはこちらに纏めています。
本記事内にログインに関するイベントログについても記載しています。

Log Analyticsのログクエリ結果を使ってアラートルールを作成

Log Analyticsのログクエリ結果を利用してAzure Monitorのアラートルールを作成できます。

チュートリアル:Azure リソースのログ クエリ アラートを作成する

ログクエリが特定の結果を返す場合にアラートを発生させることが出来ます。

※今回はクエリを個別に設定する手順としています。

アラートルール設定内容

2つのアラートルールを作成します。

    • RDP接続のログインエラーを検知
    • RDP接続の正常なログインを検知

共に監視間隔は15分間隔(ログクエリの期間、評価の間隔共に15分)としています。
対象のログを1件以上検知した場合にアラートとしています。
監視間隔や評価期間についてはこちらを参照ください。

集約粒度と評価の頻度って何?

ログインエラーを検知する場合のアラートルール設定値です。

タブ名 項目名 設定値
スコープ リソース Log Analytics ワークスペース
(log-test-01)
条件 シグナル名 カスタムログ検索
クエリ内容 手順参照
測定 メジャー:テーブルの行
集計の種類:カウント
集計の頻度:15分
ディメンションで分割する Computer
(今後のすべての値を含める)
アラートロジック

演算子:次の値以上
しきい値:1
評価の頻度:15分

アクション アクショングループ名 ag-mail-01
(メール送信用)
詳細 重大度(重要度) 2-警告
アラート ルール名 Windowsログインエラー

正常なログインを通知する場合のアラートルール設定値です。

タブ名 項目名 設定値
条件 シグナル名 カスタムログ検索
クエリ内容 手順参照
詳細 重大度(重要度) 3-情報
アラート ルール名 Windowsログイン通知

※今回の確認時に利用した設定値です。環境や運用内容に併せて適時修正願います。
※※設定時は重大度と表示されますが、設定後は重要度と表示されます。

ログインエラーを検知するアラートルールを作成

アラートルールの検知対象はRDP(リモートデスクトップ)接続時のログインエラーです。
KQLでイベントID4625のイベントログを抽出します。
1件以上のログが抽出された場合にアラートを発生させます。

アラートルール作成手順
左側のメニューでアラートを選択します。
作成のアラートルールを選択します。

スコープはLog Analyticsワークスペースを指定します。

※ログクエリの実行結果を元にアラートを発生させるためスコープはLog Analyticsワークスペースになります。仮想マシン(Virtual Machines)ではありません。

条件設定です。
シグナルはカスタムログ検索を選択します。

アラート発生条件となるログクエリを設定します。
イベントID4625のログを抽出するクエリを設定します。
シグナルがカスタムログの条件が設定されます。

測定では検知の対象期間や方法を設定します。

測定ではログクエリ実行の時間の範囲やカウント方法設定します。
15分間分のログを対象にクエリ実行結果の行数をカウントしています。

ディメンションはComputer単位としています。

アラートロジックでは監視間隔やしきい値を設定します。
15分間隔でクエリを実行し1件以上のログを検知した場合にアラートという設定にしています。

 

Event
| where EventLog == “Security"
| where EventID == 4625

アクショングループではアラート通知方法を設定します。
事前に作成しておいたメール送信用のアクショングループを選択します。

アクション グループ

詳細ではアラートルール名や重大度を設定します。
確認および作成に進みアラートルールを作成します。

正常なログインを検知するアラートルールを作成

アラートルールの検知対象は正常なRDP(リモートデスクトップ)ログインです。
正常なログインを対象にしていますのでイベントID4624かつログオンタイプが10のイベントログを抽出します。
1件以上のログが抽出された場合にアラートを発生させます。

設定しているログクエリについてはこちらに纏めています。

アラートルール作成
ログクエリの設定画面でイベントID4624でかつログオンタイプが10のイベントログを抽出します。

Event
| where EventID == 4624
| extend EventData_xml = parse_xml(EventData)
| extend Data = EventData_xml.DataItem.EventData.Data
| extend TargetUserName = Data[5][“#text"]
| extend LogonType = Data[8][“#text"]
| extend WorkstationName = Data[11][“#text"]
| extend IpAddress = Data[18][“#text"]
| where LogonType == 10
| project TimeGenerated, Computer, WorkstationName, TargetUserName, IpAddress, LogonType

15分間分のログを対象にクエリ実行結果の行数をカウントしています。
ディメンションはComputer単位としています。
15分間隔でクエリを実行し1件以上のログを検知した場合にアラートという設定にしています。

アラートルール名はWindowsログイン通知としています。
重大度は3-情報としています。

—広告—

イベントログのアラート検知を確認

実際にアラートを発生させてアラート内容を確認します。
test-vm-01、02で正常なログインとログインエラーを1回発生させています。

アラートを確認

発生したアラートを確認します。

    • 実施したログイン操作
      • test-vm-01でログイン
      • test-vm-02でログイン
      • test-vm-01でログインエラー
      • test-vm-02でログインエラー

それぞれ個別に4件のアラート発生する想定です。

アラートを確認
4件のアラートが発生している事が確認出来ます。
発生したアラートを選択するとアラートの詳細が表示されます。
ディメンションに設定したComputer名も確認出来ます。
ログに結果を表示するを選択するとクエリの実行結果を確認出来ます。

受信したアラートメールを確認

通知されたアラートメールの内容を確認します。
test-vm-01へのログイン通知を確認してみます。

アラートメール

受信したアラートメールを見るとアラートの詳細画面やLog Analyticsでのクエリ実行結果へのリンクが確認出来ます。

※アラートメール本文にディメンションの値や発生したカウント数は表示されています。一方でログクエリの実行結果は表示されません。

View the alert in Azure Monitorのリンクを選択するとアラート詳細画面が表示されます。
View query resultsのリンクを選択するとログクエリの実行結果を確認出来ます。

最後に

今回はAzure MonitorでWindows Serverのイベントログを監視する手順をログインを例に纏めてみました。
将来のサーバーも対象にする事が出来るため設定を追加する事無く自動的に監視開始する事が出来ます。

今回実施したログインのイベントログの監視などはセキュリティ強化にも利用出来ます。
Azure Monitorに集約して監視出来るのも便利かと思います。

引き続き色々試してみたいと思います。

仮想マシン(Azure VM)の接続状況についてはこちらに纏めています。
ログを利用する方法、メトリックを利用する方法について纏めています。

スポンサーリンク