標準コネクタを用いて、ロジックアプリを作成してみましょう
Defender XDR のハンティングクエリーを実行するロジックアプリを実践してみましょう 構成イメージは以下の通りです。
- 空のロジックアプリから作成します。Sentinel のオートメーション、もしくはロジックアプリから作成して下さい。
- ロジックアプリが作成されましたら、「繰り返し」を選択します(crond)
- 「繰り返し」の設定のパラメータを変更して、1 時間おきに実行するようにします
「詳細な検索」 = Advanced Hunting を実行する標準コネクタになります
クエリー欄に実際に KQL を入れて結果を得ることが出来るようになりました!
インシデントをトリガーにハンティングクエリーを実行します 定期的に Defender XDR Advanced Hunting Query を実行して通知します。
以下はサンプルなので、他に実行したいクエリーアイデアをお持ちであれば、そちらをご活用下さい!
- MDTM 脆弱性情報から、高危険度の脆弱性があり、セキュリティ更新プログラムがある情報を抽出する
DeviceTvmSoftwareVulnerabilities
テーブルを利用- 「セキュリティ更新プログラム」があるのだから、パッチ適用しようよ!をアピール
- CVE 情報ではなく、パッチ適用を推進するための情報を抽出するイメージ
DeviceTvmSoftwareVulnerabilities
| where DeviceName contains "(ホスト名)"
| where VulnerabilitySeverityLevel == @"High"
| where RecommendedSecurityUpdate != ""
| distinct RecommendedSecurityUpdate, RecommendedSecurityUpdateId, SoftwareVendor, SoftwareName, SoftwareVersion
- MDTM 脆弱性情報から、ソフトウェアインベントリ情報を抽出する
DeviceTvmSoftwareInventory
テーブルを利用- サーバーやクライアントを検出した際に、この端末(サーバー)はどのようなものかを判定させる
DeviceTvmSoftwareInventory
| where DeviceName contains "(ホスト名)"
| distinct SoftwareVendor,SoftwareName,SoftwareVersion
ロジックアプリのフローから Defender XDR Advanced Hunting Query を設定しましょう
- ロジックアプリのコネクタにクエリーを設定してみましょう
- Defender XDR に対して Advanced Hunting Query を実行し、正しく動作する(結果が得られる)クエリーを投入します
- 「繰り返し」の場合、ロジックアプリのテストは実行することでテストが容易に出来ます
- 成功すると、ロジックアプリの結果から Defender XDR のクエリー結果を得られます
ロジックアプリの結果を成型して見やすくする
- RESTAPI の処理によって得られた結果は JSON フォーマットで結果を得ることが出来ます
- クエリー結果を事後のアクションとしてメール通知、Teams 通知する場合、このままでは既読性が悪く運用に向きません
- 通知し易いように HTML 変換しちゃいましょう!
- ロジックアプリの追加フローボタンを押して、「ビルトイン」-> 「データ操作」から、「HTML テーブルの作成」を選択します
- 前のフローで実施したクエリー結果 Results を反映させて、保存します。
- 一度、ロジックアプリの履歴から実行してテストして下さい。
- クエリーは HTML テーブルに変換されましたか?
美的センスを高めてカスタマイズしましょう!
-
デフォルトの設定でも自動で HTML テーブルが作成されましたが、要らないフィールドが含まれていませんか?
-
表の項目名、せっかくなので日本語化してみましょう
-
ロジックアプリデザイナーに戻り、「HTML テーブルの作成」をカスタムに変更します
-
HTML テーブルの「カスタム」より、各表の項目名を書き換えて、必要な項目だけを抽出してみましょう
-
ロジックアプリの履歴から、イベントを再送信してテストして下さい。成型した表形式に書換られたら成功です!
最後に通知してみましょう
- Defender XDR に Advanced Hunting した結果を通知します
- メールコネクタ or Teams コネクタお好きな方法を選んでください。
- 標準コネクタから「Office 365 Outlook」を選択します
- 「メールの送信」を選択します - サインインはメール送信元ユーザーで Entra ID 認証を行って下さい
- 「メールの送信」から、送信先メールアドレス、メールタイトルなどを設定します
- メール本文に、前項目で設定した JSON2HTML の BODY を選択して下さい
- テストしてメール通知が行われることを確認して下さい
- 標準コネクタから「Microsoft Teams」を選択します
- 「チャットやチャネルにメッセージを投稿する」を選択 - Teams に投稿するユーザーで Entra ID 認証を行います
- 投稿先の Teams チャネル、メッセージ内容を編集します
- 本文に、前項目で設定した JSON2HTML の BODY を選択して下さい
- テストして Teams チャネル宛に通知が行われることを確認して下さい
お疲れさまでした!
- この演習では以下を実践しました。
- 標準コネクタを用いて、Defender XDR にクエリーを実施する
- クエリーの結果から JSON を HTML に成型する
- HTML をメール通知 / Team 通知する
次の演習 Sentinel インシデントトリガーからエンティティ属性を抽出して、Defender XDR のアドバンスドハンティングクエリーを実行するもやってみましょう!