企業内の様々なシステムがログを生成しますが、そのログファイルがCSV形式である事も多いと思います。
こういったログをMicrosoft Sentinel(以下、Sentinel)で統合管理したい場合、PowerShellを用いてCSVファイルを取り込むことが可能です。
本記事では、PowerShellを用いてCSV形式のログファイルをSentinelに取り込む方法をご紹介します。
Sentinel CSVファイル取込手順
CSV転送用スクリプトのインストール
まず、送信側のPowerShellを管理者として開き、スクリプト(upload-azmonitorlog.ps1)を端末にインストールします。CSVファイルをSentinelへ転送する際、このスクリプトを使用します。
以下、コマンドとなります。
Install-Script -Name Upload-AzMonitorLog
もしここで、インストールできなかった場合、原因の1つとしてPowerShellの実行ポリシーが関係してる可能性があります。
PowerShellにて、実行ポリシーをRemoteSignに変更してください。*1
以下、コマンドとなります。
Set-ExecutionPolicy RemoteSigned
転送するCSVファイルの編集
必要に応じて、資料内1行目に値を指定し、その列に入れたい情報を入れてください。1行目で指定した値がカラムとなり、テーブル内に作成されます。その配下の値は、各カラムに格納されます。
今回はテスト用に一から用意しました。
Log AnalyticsのワークスペースIDとキーの取得
転送先のLog AnalyticsのワークスペースIDとキーを取得します。
対象のLog Analyticsを開き、設定>エージェントを選択します。キーは主キーという項目に記載されてます。
CSVファイルの転送
最初に用意したスクリプト(upload-azmonitorlog.ps1)を使ってCSVファイルをSentinelに転送します。
転送コマンドは以下となります。
Import-Csv (パス情報) | Upload-AzMonitorLog.ps1 -WorkspaceId "(ワークスペースID)" -WorkspaceKey "(主キー)" -LogTypeName (テーブル名)
- パス情報
- 転送したいファイルの絶対パスを入れてください
- ワークスペースID
- 先ほど取得したIDを入れてください
- 主キー
- 先ほど取得した主キーを入れてください
- テーブル名
- 指定したテーブル名でLog Analytics上のテーブルに作成されます
- テーブル名には_CLが末尾に自動で付与されます。
以下に例を示します。
このコマンドを押下し、成功すれば、Log Analytics上にテーブルが作成され、対象ログファイルが取り込まれます。
他にもコマンドオプションがある為、興味がある方は調べてみてください。
転送ログの確認
最後にログが正常に取得できているか確認します。
Log Analyticsのクエリ画面にて、対象テーブル名を入力し、実行してください。反映に少し時間が掛かります。
まとめ
今回は、CSVファイルをPowerShellを利用してSnetinelへ転送する方法を説明しましたが、Textファイルも可能です。
また、他にも取り込み方法がありますので、各環境に合った方法で実施して下さい。
大事なことを以下にまとめておきます。
- CSVファイルやTextファイルをSentinelへ転送する方法はいくつかある
- 転送ファイルのカラム指定は忘れないように
この記事を通して、少しでも皆様のお役に立てると幸いです。
*1:PowerShell実行ポリシーの変更は、企業やシステムのセキュリティポリシーなどを確認の上で行ってください
森﨑 湧斗(日本ビジネスシステムズ株式会社)
セキュリティビジネスグループの森﨑です。 普段はネットワーク案件ベースで、今期よりセキュリティコンサル業務も対応しております。 今後は自身で学んだセキュリティ関連の内容を投稿していきたいと考えております。 趣味としては、2か月に1回旅行に行くことです。 行ったことない場所から選んで、事前計画を考え、いつもパートナーに提案してるのが、小さな楽しみです。
担当記事一覧