Azure Sentinel

【Azure】Jupyter Notebook を使用してセキュリティの脅威を検出する:準備編

今回の記事では、前回の記事で接続したLinuxのログをJupyter Notebookを使って解析していきます。そのための環境の準備を解説します。

はじめに

今回の記事は、MicrosoftのドキュメントやGitHubを参考にした記事です。

詳しくは、こちらの記事をご覧下さい。

https://docs.microsoft.com/ja-jp/azure/sentinel/notebooks

https://github.com/Azure/Azure-Sentinel

Jupyter Notebookとは

JupterNotebookとは、対話形式でプログラムを実行し、データサイエンスの分野などで使われています。

1行ずつプログラムを実行できるので、エラーを見つけやすく、初心者でも簡単にプログラムを実行することができます。

詳しくは公式サイトをご確認ください。

今回はこのJupyterNotebookを使い、Azure Sentinelでログを解析していきます。

Jyupter Notebookの起動

では、早速Jyupter Notebookを起動しましょう。

Azure Sentinelのワークスペースの「脅威管理」の中から「ノートブック」を選び、「ノートブックに移動する」をクリックします。

すると、別のブラウザでMicrosoft Azure Notebookが起動するので、「Try it NOW>」をクリックします。

プロジェクトの作成

起動が完了したら、プロジェクトの作成をします。

画面上の「My Project」をクリックします。

Micosoftアカウントの連携が聞かれますが、OKを押して、続けて下さい。

そして、「New Project」でプロジェクトを作成します。

Git Hubからファイルをダウンロードする。

Git HubからAzure Sentinelのファイルをダウンロードします。

ここには環境を作るためのコードやサンプルコードなどがあります。

https://github.com/Azure/Azure-Sentinel

「clone or download」をクリックして、Azure Sentinelのファイルをダウンロードします。

Jupyter Notebookの環境設定

Azure SentinelをJupter Notebookで使うためには、必要なモジュールのインストールなど、環境の設定が必要です。

環境の設定が自動でできるようなコードがすでにGitHubの中にあるので、それを使って設定していきます。

先ほど、GitHubからダウンロードした中の「Notebooks」フォルダーに「ConfiguringNotebookEnvironment.ipynb」と「Get Started.ipynb」と「requirements.txt」のファイルがあるので、Notebookにアップロードします。

アップロードの方法は「↑Upload」から「from Computer」をクリックします。画像では「requirements.txt」をアップロードし忘れていましたが、のちのち使うので、この時一緒にアップロードしましょう。

アップロードが完了したら、「ConfiguringNotebookEnvironment.ipynb」を開きましょう。

ここに環境の条件が書かれています。

・python3.6以上

・仮想環境を作る

・requirements.txtを使う

など、、、

今回は、仮想環境は作らず、そのままの環境でやります。

ノートブック上で以下のコマンドを打ちます。

!pip install --upgrade pip
!pip install -r requirements.txt

「!pip install -r requirements.txt」はrequirements.txtに書かれたモジュールをインストールしてくれます。

最後に、ノートブックに書かれている↓の画像のプログラムを実行して、エラーが無いことを確認します。

環境が正しく構築されているか確認する。

次に、プロジェクトから「Get Started.ipynb」を開いてください。

基本的には、ノートブック内のプログラムを1行ずつ実行していけば、大丈夫です。

途中で「 Retrieve Log Analytics Information」というところがあり、

Log Analyticsの情報を入力するところがあるので、Log Analyticsの情報を入力します。「config.json」のファイルが無いとエラーがでたら、変数に値を直接入力します。

そして、kqlmagicでLog Aalyticsに接続できたら完了です。

その際、Microsoftの認証画面が表示されます。

接続できたら、ログを表示してみましょう。

%kql search * 

これで何かログが表示できたら完了です。

Notebookにも同じコマンドが書かれています。

さいごに

今回の記事では、LinuxのログをJupyter Notebookを使って解析するための準備を解説しました。

次回は実際にログを解析してみたいと思います。

About me
大手メーカのIT部門→上場ベンチャーでインフラエンジニアやってます。エンジニア歴は8年目。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!