Sumo Logic で Sysmon のログをダッシュボード化してみる

2023.02.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Windows のプロセスの生成やネットワークの詳細なイベントを分析するために、Sysmon をインストールして、Sumo Logic でダッシュボード化していこうと思います。

Sysmon のインストール

こちらから最新のインストーラをダウンロードして、以下のコマンドでインストールします。

sysmon64.exe -accepteula -i

イベントビューアーを開いて、Applications and Services Logs > Microsoft > Windows > Sysmon > Operational にログが出力されだしますので、確認してみます。

ログ収集エージェント(Installed Collector)のインストール用トークンの取得

Sumo Logic の管理コンソールにアクセスします。
Installed Collector のインストールには、APIキー か Installation Tokens が必要になります。APIキーは Installed Collector のインストール時に設定する以外にも、その他のAPIも発行なので、Installed Collector の用途に限られた Installation Tokens で設定していきます。

管理コンソールの左ペーンから Administation > Security を選択します。

Installation Tokens の +Add Tokens で新しいトークンを取得します。

トークン名を入力して作成します。

トークンが作成されると、トークンの文字列が確認できるようになるので、こちらを後ほどインストールの際に使います。

Installed Collector のインストール

Sumo Logic のログ収集エージェントをインストールしていきます。
Sumo Logic のダウンロードページから JP Collector のところの該当OSをダウンロードします。

以下のコマンドでインストールしていきます。ここで先程確認したトークンを設定してあげます。

SumoCollector.exe -console -q "-Vsumo.token_and_url=<installationToken>"

正常にインストールができると、Sumo Logic の管理コンソールからコレクターが作成されていますので、確認してみます。

Manage Data > Collection に新しいコレクターが出来ていることを確認します。

Windows Event ソースの作成

Sysmon を取り込むためのソースの設定をしていきます。
先程作成したコレクターの横の「Add..」でソースの追加が可能なので、クリックします。

Windows Event Log を選択します。

ソースに任意の名前をつけます。_sourceCategory は Sumo Logic 上で検索する時のログの指定に利用したりします。Sysmonのログを検索する時に指定しやすい名前で登録します。

※_sourceCategory に関する詳細はこちらのブログも見てみてください。

Event Format は Collect using legacy format を選びます。Sysmon のApp(ダッシュボード)がこちらのログ形式に対応しているためです。デフォルトで選択されている Standard Event Channel を全て外して、Custom Event Channel で Sysmon が吐かれる Event Channel を指定します。

※チャネル名は、対象のシステムでPowershellを開いて Get-WinEvent -ListLog * などで確認することができます。

保存します。

Sysmon の App をインストールする

Sysmon の App は Sumo Logic のデフォルトの App で提供されていませんが、Sumo Logic コミュニティからインストールすることが可能です。
もし、Sumo Logic 管理コンソールにない App があれば、こちらからでも探してみてください。

ではこちらから、Sysmon の App を探して、JSONファイルをダウンロードします。

Github の Readme を読むと、インストールの方法について記載が書いてあります。

  1. Download microsoft-sysmon.json
  2. Using a text editor, search for the string TO_REPLACE and replace with the source category for Sysmon data (for > example: prod/windows/*).
  3. Before importing content, you need to create the IOC lookup by running the following command:
    | "127.0.0.1" as ioc
    // ioc_type: IP, DOMAIN, SHA256, MD5
    // DOMAIN entries should be in lowercase
    // SHA265 and MD5 can be in lowercase or uppercase (but not both)
    | "IP" as ioc_type
    | "Custom" as ioc_source
    | "This is a for testing only" as ioc_description
    | count ioc, ioc_type, ioc_source, ioc_description
    | fields -_count
    | save shared/threat_hunting/iocs
  4. Import content in Sumologic library
    Enjoy!

2.の前に3.を先にやっていきます。

Sumo Logic の管理コンソールの検索画面を開いて、指示されているクエリを実行します。

ポップアップが出るので、Run を選択します。

次に 2. のダウンロードしたファイルをテキストエディタで開いてみると、「TO_REPLACE」という箇所が、たくさんあります。
こちらに、ソースを設定した際に指定した _sourceCategory の名前に一斉置換します。

一斉置換後、全文をコピーして、Sumo Logic で App を展開していきます。
パーソナルフォルダの三点リーダーから Import を選択します。

ダッシュボードの名前と、先程コピーしていたJSONをそのまま貼り付けて、Import します。

一度ウェブブラウザをリロードなどすると、インストールした App のフォルダが現れますので、ダッシュボードを見ていきます。

無事に Sysmon の可視化することができました。

まとめ

いかがでしたでしょうか。Windows のエンドポイントのセキュリティ可視化を高めるために、Sysmon を利用することは非常に効果的です。またそれを Sumo Logic で可視化するとプロセスの生成やネットワーク通信の結果、ファイルのアクセスなど非常に多くのものが見やすく可視化することができました。ぜひ Sumo Logic を使って Threat Hunting を試してみてください。