今回の記事ではAzure Sentinelを使ってログを解析してみます。ログを解析するための準備、Linuxサーバのログの収集方法を解説します。Sentinelのインストール、Linuxでエージェントのインストール、Log Analyticsでクエリの入力方法を解説します。
Azure Sentinelとは?
Microsoft Azure Sentinel は、スケーラブルでクラウドネイティブ型のセキュリティ情報イベント管理 (SIEM) およびセキュリティ オーケストレーション自動応答 (SOAR) ソリューションです。 Azure Sentinel は、高度なセキュリティ分析と脅威インテリジェンスを企業全体で実現し、アラートの検出、脅威の可視性、予防的な捜索、および脅威への対応のための 1 つのソリューションを提供します。
(Microsoft ドキュメントより)
SIEMは、今流行りのログを解析、検知するツールですね。
Azure SentinelはAIを活用してログを調査できるらしいです。
使いこなせるようになりたいですね。
Azure Sentinelの作成
では、早速Azure Sentinelを作成しましょう。
リソースの追加より、「Azure Sentinel」と検索して「作成」をクリックします。そして、「追加」をクリックします。


次に、Azure Sentinelが利用するワークスペースを作成します。
Log Analytics のワークスペースを作っていない場合はこのタイミングで作成します。Log Analyticsはログを収集するものだと思って下さい。

Log Analyticsを作成したら、「Azure Sentinel の追加」をクリックします。

これでAzure Sentinelの作成が完了です。

Linuxサーバを接続する
Linuxサーバのログを集めるために、先ほど作成したLog AnalyticsとLinuxサーバを接続します。
そうすることでLinuxサーバのログ(syslog)を集めて、Azure Sentinelで解析することができます。
では、設定していきます。
まず、Log Analyticsのワークスペースに移動し、「詳細設定」をクリックします。

「Connected Source」の中から「Linux Servers」を選択します。
Linuxに接続するためのエージェントをインストールするには、ワークスペースIDとキーが必要なのでメモしておきましょう。

エージェントはGit hubにあります。
Linuxにインストールするときは、セカンダリキーの下の項目に書いてある「wget https://~」のコマンドをコピーします。

そして、Linuxで実行します。wgetコマンドが無い場合はインストールしましょう。

エラーが出た場合は、そのエラーを読み、パッケージをインストールしましょう。今回検証した場合、pythonとgpgが足りないとエラーがでました。
なので、”apt-get install python”と”apt-get install gpg”をしてらかもう一度、エージェントをインストールしました。
エージェントのインストールが完了してしばらくすると、Azure側で”1台のLinuxが接続されています”と表示されます。

これで接続が完了です。
インストールが成功し、接続ができていない場合は、エージェントを再起動しましょう。
/etc/init.d/omsagent-[英文字] restart
LinuxのログをAzureで確認する
Linuxの接続が完了するとLog Analyticsにログが送られます。
Linuxから送られてきたログをLog Analyticsで確認してみましょう。
まず、先ほどの詳細設定画面の左上「Logs」をクリックします。
もしくは、Log Analyticsの「全般」→「ログ」でも大丈夫です。

ログのクエリを入力する画面に移動します。
そこの画面で、
search "*" もしくは search "Linuxのホスト名"
と入力します。そして、実行を押します。
するとLinuxのログがAzureで確認できます。

以上でLinuxサーバのログ収集方法の解説を終わります。
さいごに
今回の記事では、Sentinelのインストール、Linuxでエージェントのインストール、Log Analyticsでクエリの入力、この一連の動作を解説しました。
Log AnalyticsのクエリはKQLと呼ばれ、SQL文に似たようなものになっています。ログを調査するときに必要なので、使い方をマスターした方が便利です。
次回の記事では収集したログをSentinelで解析してみたいと思います。