6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Microsoft Security Advent Calendar 2022Advent Calendar 2022

Day 13

Log Analytics / Microsoft Sentinel のログを永年保存する!

Last updated at Posted at 2022-12-13

1、はじめに

企業ポリシーやコンプライアンスなどにより、ログの長期保存が要件になることがよくあります。今回は Log Analytics や Microsoft Sentinel に集約したログを Azure Data Explorer にエクスポートして永年保存する方法をご紹介します。

2、Log Analytics ワークスペース

Log Analytics ワークスペースでは、最長7年間のログ保持が可能です。しかし、KQL にて分析できる分析ログの保持期間は最長2年間 (730日) までとなっています。
image.png

Log Analytics ワークスペースは、分析ログとアーカイブログの合計で最大7年間のログ保持が可能です。2年以上ログを Log Analytics ワークスペースに保持したい場合は、アーカイブログを活用してログを保持します。
image.png

分析ログ、アーカイブログの設定方法はこちらのドキュメントを参照してください。

例えば、下記 Azure アクティビティログ の設定では、[対話型の保持] を 90日、[保持期間の合計] を 7 年とすることで、[分析ログ] が90日、[アーカイブログ] を2466 日保持することができるようになります。
image.png

しかし、7年以上ログを保持したい場合や、730日以降のログも KQL で分析したい場合、Log Analytics ワークスペースだけでは要件を満たすことができません。KQL で分析できるログを永年保持したい場合は Azure Data Explorer にログを保持することで、その要件を満たすことができます。

3、Azure Data Explorer とは

  • Azure Data Explorerとは
    Azure Data Explorer は、大量のデータをほぼリアルタイムで簡単に分析できるようにする、フルマネージドかつハイパフォーマンスなビッグデータ分析プラットフォームです。Log Analytics ワークスペースと同じように KQL によるログ分析が可能なため、Microsoft Sentinel で利用している Hunting クエリもそのまま実行することができます。

4、構成方法

Log Analytics のデータエクスポート機能を利用し、イベントハブ経由で Azure Data Explorer にログをエクスポートします。
image.png

Log Analytics のデータエクスポートは、ワークスペースへの書き込みと並列でストレージアカウントやイベントハブにデータをエクスポートする機能です。データはフィルターなしでエクスポートされるため、データ改ざんが起きる心配もありません。

5、セットアップ

それでは、Log Analytics ワークスペースのログを ADX (Azure Data Explorer) にエクスポートしてみましょう!
こちらがセットアップ全体の流れです。(Log Analytics ワークスペースは作成済み)

  1. ADX を作成
  2. Event Hubs の作成
  3. Log Analytics のデータエクスポート設定
  4. ADX でテーブル作成とテーブルマッピング
  5. ADX でデータ接続設定

5.1 ADX の作成

Azure Portal から ADX を作成してください。
コンピューティングのワークロードは、運用環境に応じてサイズを選択してください。仮想マシンのスペックにより KQL 実行のパフォーマンスに影響があります。要件に応じて可用性やスケールの設定をしてください。
今回は検証用途のため、[開発/テスト] を選択します。

image.png

image.png

次に ADX にデータベースを作成します。作成して ADX にアクセスし、データベースを追加します。
image.png

保持期間(日数)日数無期限の保持期間 を有効にすることで、KQL 分析可能なログを永年保管することが可能です。パラーメーターの詳細はドキュメントをご確認ください。

5.2 Event Hubs の作成

次に Event Hub を作成します。
Event Hubs の価格設定によりメッセージの保持期間などが異なりますので、要件に合わせて選択してください。
今回は検証用途のため、[Basic] 価格を選択します。
image.png
image.png

5.3 Log Analytics データエクスポートの設定

Log Analytics のデータエクスポートは、ストレージアカウントと Event Hub にログを転送することができる機能です。

Log Analytics ワークスペースのすべてのテーブルはサポートされておらず、こちらの一覧に記載のテーブルのみをエクスポートできる点にご注意ください。現時点ではサポートされていなくても、将来的にサポート対象になった時点で、テーブルのデータをエクスポートすることができるようになります。

作成済みの Log Analytics ワークスペースから、データエクスポート を選択して、新しいエクスポートルールを作成します。
image.png

image.png

ここでエクスポートするテーブルを選択します。
image.png

ここでエクスポート先として イベントハブ を選択してください。
image.png

すべてのパラメーターを設定したら、エクスポートルールを作成します。
image.png

5.4 ADX でテーブルの作成とテーブルマッピング

Log Analytics からデータをインポートするテーブルを ADX に作成します。ADX にテーブル作成とテーブルマッピングを実施するクエリを生成する Powershell スクリプトが提供されているため、そのスクリプトを利用します。

image.png

Raw データで表示し、右クリックから ps1 ファイルをダウンロードするのが簡単です。

image.png

このスクリプトでは、下記のパラメーターの入力が求められるので、事前に確認しておくとよいです。

  • テーブル名
  • Workspace ID

Workspace ID は Log Analytics ワークスペースのエージェント管理から確認できます。
image.png

準備ができらた Cloud Shell や ローカルPC でダウンロードしたファイルを実行します。
パラメーターを入力すると、緑色で表示された文字が ADX にテーブル作成、テーブルマッピングするクエリです。コピーしてください。
image.png

次に、ADX に作成したデータベースに移動します。
image.png

クエリを選択して、対象のデータベースをターゲットにコピーしたクエリを1つずつ実行します。
image.png

そうすることで、選択したデータベースに2つのテーブルが作成され、スキーマも構成されます。
image.png

image.png

エクスポートするテーブルごとにスクリプトを実行して、ADX にテーブルを作成してください。
image.png

5.5 ADX でデータ接続設定

最後に Event Hub から ADX にデータを取り込み設定をすれば完了です。

ADX のデータベースから データ接続 を選択し、データ接続の追加 をします。
image.png

データ接続のパラーメーターを下記のように入力して作成します。イベントハブはデータエクスポートルールを設定した際に作成されたものを利用します。本環境の例だと am-securityevent がデータエクスポートルール作成した際に作成されました。
image.png

これで設定は完了です。
image.png

複数のテーブルをエクスポートした場合は、同様に データ接続 を作成してください。
image.png

6、Azure Data Explorer からクエリの実行

ADX から先ほど作成したテーブルに対してクエリを実行することで、Log Analytics のテーブルを検索する方法と同様に同じクエリでログ分析を実施することができます。

  • ADX のテーブルを検索
    image.png

  • Log Analytics ワークスペースのテーブルを検索
    image.png

7、まとめ

Log Analytics にまとめたログを ADX にエクスポートすることで、永久的に KQL によるログ分析を実現することができます。
Sentinel 利用時に無償で保持できる90日までのログを保管し、ADX に KQL 分析できるログを永年保管することで、Sentinel のデータ保持料金を抑えつつ、永年保管したログを KQL で分析することができるようになります。
ご要件に合わせて、最適なログ保持環境を準備してください!

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?