Azure には Change Tacking & Inventory (変更履歴とインベントリ) という機能があります
マシンに格納されているファイルやレジストリの変更履歴を収集し、監視することができます
従来は Log Analytics エージェントで実行されていましたが、現在は Azure Monitor Agent で実行されるようになりました
今回は Azure Monitor Agent 版 Change Tracking & Inventory を試してみます
今後は FIM は Defender for Endpoint の機能を利用するようになります
執筆時点ではまだ MDE では提供されていなさそうです
ざっくり手順
- Change Tracking & Inventory を有効化
- データ収集ルールの確認
- 変更とインベントリ センターの確認
- 収集内容の確認
- Windows ファイルの変更追跡
- ファイル コンテンツの変更追跡
1. Change Tracking & Inventory を有効化
仮想マシンと Log Analytics ワークスペースは事前に作成しておきます
今回は 1台の仮想マシンのみを対象に有効化します
当該仮想マシンのメニューから [インベントリ] または [変更履歴] を選択し、有効化します
メニューは異なっていますが、片方が有効化されるともう片方も有効化されます
そのため どちらから有効化しても問題ありません
有効化するときは [AMA エージェントの使用を有効にする] を選択しておきます
(AMA エージェントって エージェント が被っとるやないかい)
しばらくすると有効化完了の通知が表示されたのでブラウザを更新します
インベントリと変更の追跡の両方の画面が表示されるようになりました
データがまだ収集しきれていないのか、データが表示されていませんでした
VM の拡張機能を確認すると AzureMonitorWindowsAgent
と ChangeTracking-Windows
が追加されていました
大規模に有効化する場合は Azure Policy を利用して一括で有効化することをおすすめします
今回は有効化のメニューに Automation Account が表示されていないので、不要になったのかもしれません
2. データ収集ルールの確認
Azure Monitor Agent が利用されるとのことなのでデータ収集ルールがどうなっているか確認します
ct-dcr から始まるデータ収集ルールが構成されていました
データソースには何が登録されているのかと見てみると何も登録されていません
リソース JSON を見てみると dataSource
の extensions
に ChangeTracking-Windowsing
が追加されていました
3. 変更とインベントリ センターの確認
[変更とインベントリ センターを開く] というボタンが表示されていたのでクリックしてみます
専用の画面が表示されましたが、内容としては仮想マシンごとの画面と大差ないように見えます
全体一括で見たいときに確認する画面でしょうか
Automation Account が不要になったぽいので、全体を確認する画面として Automation Account の代わりに提供されている気がします
4. 収集内容の確認
今度は [設定] をクリックして収集内容を確認します
収集されるデータの種類を確認できます
Windows Files は空ですが、Linux Files は1種類だけ構成されていました
5. Windows ファイルの変更追跡
監視対象のマシンにログインし “C:\Temp\test.txt” を作成してみました
このファイルに関して情報収集するように Change Tracking & Inventory を設定してみます
Azure Monitoring Agent を使用した Azure Automation Change 変更履歴とインベントリ の概要 | Microsoft Learn を見ると Windows ファイルのデータ収集頻度は 30-40分なのでしばらく放置します
しばらく待ってみましたが、データが収集されていませんでした
ファイルを更新してみます
これでしばらく放置してみると変更が収集されました
変更が行われたことは検知できましたが、具体的にどんな変更が行われたのかはわかりません
6. ファイル コンテンツの変更追跡
ファイル コンテンツの変更追跡を試してみます
Change Tracking の設定から [ファイル コンテンツ] を選択します
ファイルを変更してしばらく放置しておきましたが、データが収集されていませんでした
。。。仮想マシンのマネージド ID に対してストレージ アカウントへの書き込みアクセス権を付与するのを忘れていました
マネージド ID に [ストレージ BLOB データ共同作成者] を付与しておきます
再度ファイルを更新して放置します
最新の結果を選択します(色々と試行錯誤の痕跡
先ほどまでは存在していなかった[ファイル コンテンツの変更の表示] が表示されました
クリックしてみるとエラーが
内容を見てみるとファイルが見つからないとのこと
機能を有効化してから1回だけ、変更をしました。その変更後のファイルだけが保存されていて、変更前のファイルは保存されていないからのようです
実際に当該ストレージ アカウントを見に行くとファイルは1つしかありませんでした
ということで、もっかいファイルを変更して放置します
すると変更内容も含めて確認することができました!
ストレージ アカウントにはファイルが保存されていました
まとめ
Azure Monitor Agent 版 Change Tracking & Inventory を試してみました
変更履歴の収集は問題なくできましたが、ファイルコンテンツの収集はストレージ アカウントへのアクセス権が必要であることを忘れていました
Azure Monitor Agent での FIM は Defender for Endpoint に統合されたため、今後は Change Tracking & Inventory でのファイルコンテンツの収集は行われないかもしれません