LoginSignup
8
10

More than 3 years have passed since last update.

Splunkと一緒に。簡易EDRツールとしてのsysmonの真価に迫る ~その2: 導入編~

Last updated at Posted at 2019-05-31

導入編(sysmonの展開 & Splunkへのデータ取込)

  • 前回の概要編はこちら
  • まずsysmonをwindows端末にインストール
    • Client: Windows 7 and higher.
    • Server: Windows Server 2008 R2 and higher
  • 次にSplunkのUniversal Forwarder(以下、UF)をインストール
  • 最後にDeployment Serverを使ってsysmonログ収集のためのappを配布

Overview

スクリーンショット 2019-05-31 10.42.58.png

  • 通信要件の確認
    • 管理系通信(8089番):
      • UFからDeployment Serverにpollingして新しいコンフィグレーション(app/add-on)があればDLする。
    • UF転送(9997番):
      • UFからSplunkのIDXに対してログを転送する際に使うポート。転送時の通信ボリュームを圧縮する方法もある。

まずsysmonをwindows端末にインストール

sysmonのダウンロード

余計なログ(ノイズ)を減らすためのsysmon-configもダウンロード

  • sysmon-configダウンロードリンク

  • 改めてsysmonが収集できる情報を整理してみました。イベントID1~3は監視を推奨しますので、今回の手順を進めると1~3が取れるようにしています。
    スクリーンショット 2019-05-31 11.11.18.png

  • xmlのコンフィグレーションの中身を見てみると、下記サンプルを見てもらうとわかると思うが、ロギングを除外するCommandLineやport番号が指定されていることがわかる。

sysmonconfig-export.xml(一部、抜粋)
(抜粋)
<ProcessCreate onmatch="exclude">
    <!--SECTION: Microsoft Windows-->
    <CommandLine condition="begin with">C:\Windows\system32\DllHost.exe /Processid</CommandLine> <!--Microsoft:Windows-->
    <CommandLine condition="is">C:\Windows\system32\SearchIndexer.exe /Embedding</CommandLine> <!--Microsoft:Windows: Search Indexer-->
    <Image condition="is">C:\Windows\system32\CompatTelRunner.exe</Image> 
(抜粋)
  • このconfigを適用しないでログを収集すると、1PCあたり50MB以上/日のログが記録されてしまうため、適用することを推奨します。結果、5MB〜10MB/日のログ容量に収まります。

  • 一点、注意が必要な点として、社内にProxyがない場合、80と443もNetworkConnectログとしてロギングしてもいいと思います。その場合以下3行をxml内の< NetworkConnect onmatch="include" >欄に追記してください。

sysmonconfig-export.xml(80,443ポート追記イメージ)
<!--Ports: No Proxy-->
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
  • 参考用としてswiftonsecurityのconfigを元に、以下を追加したconfigをおきました。configのschmaバージョンは4.22です。
    • Splunk関連のProcessCreationを除外
    • 80,443番 network connectionも監視

sysmonをインストール(コンフィグレーションと一緒に)

  • sysmonのインストールコマンド(-nがnetwokrconnection取るのに必要です)
Sysmon.exe -accepteula -i sysmonconfig-export.xml -l -n

  • command promptでインストールするとこんな感じのメッセージが出ればOK。 May-31-2019 12-04-53.gif

sysmonのロギングを確認

  • OS再起動なくロギングが行われます。
  • イベントビューアから[アプリケーション&サービス]-[Microsoft]-[Windows]-[sysmon]にて確認 スクリーンショット 2019-05-31 12.14.40.png
  • 次はsplunkにsysmonイベントを集めてみましょう。

次に、SplunkのUniversal Forwarderをインストール

Deployment Server(以下、DS)機能の準備

DSについて

  • Splunk Enterpriseの機能の1つ
  • SH/IDX兼用のSplunkサーバ上でも設定の有効化は可能なので、数台の試験時には別途DSサーバを立てる必要はない(本番で50台以上のUFを管理する場合は、独立したDSサーバを用意することを推奨)
  • UFに対して、Appを更新/配布する役割
  • UF自身の配布やバージョンアップはできない
  • そのため、別の3rd Party製品で配布してもらってもOKです。実際は、こなれたツールを利用しているケースのほうが多いと思います。

DSのセットアップ

  • DS機能は「設定-フォワーダー管理」メニューから利用します。
  • 事前設定なしでアクセスしても何も利用できません。 スクリーンショット 2019-05-31 13.14.02.png
CLI(Linuxサーバを想定)でsplunkサーバにログインして、sysmon取込用のappフォルダ(例:windows/local)を作成します。
# mkdir /opt/splunk/etc/deployment-apps/windows/local
local配下にinputs.confを作成
[WinEventLog://Microsoft-Windows-Sysmon/Operational]
disabled = false
renderXml = 1
  • 改めて「設定-フォワーダー管理」メニューから見てみると変化が現れますが、こちらの画面操作はもう少しあとで行います。 スクリーンショット 2019-05-31 13.17.16.png

UniversalForwarderのインストール(サイレント)

msiexec.exe /i (UFのファイル名) DEPLOYMENT_SERVER=“(DSサーバのIP/host名):8089" RECEIVING_INDEXER=“(IDXサーバのIP/host名):9997" AGREETOLICENSE=Yes /quiet
  • タスクマネージャーから下記プロセスが見えていれば、UFはインストールできていると判断。
    スクリーンショット 2019-05-31 12.55.22.png

  • サイレントインストールのため一見正常にインストールできたのかわかりにくいが、通常は2,3分以内にはDSに疎通が届き、DSのフォワーダ管理画面から対象のマシンのステータスが見えるはずです。(設定-フォワーダー管理)
    スクリーンショット 2019-05-31 12.56.02.png

DS(Splunk)の管理画面からApp(windows)の配布

  • ここまで来たらもうあとちょっと!あとはGUI操作でラクラクやりましょう。
  • サーバクラスの作成

    • 「windows」として作成(Appと混同して紛らわしい場合は、windows-classとかがいいかも)
    • 「Appの追加」にて作成したサーバクラスに対応するApp(windows)を選択May-31-2019 13-23-18.gif
  • 続いて「クライアントの追加」を選択し、対象マシン名を選んで、保存。

    • 対象マシンが複数になった場合には、ホワイトリスト・ブラックリストをうまく活用してフィルタします。 スクリーンショット 2019-05-31 13.26.41.png
  • App(windows)がUFのインストールされたwindowsに配布されます。タイミングはUFがDSに対してpollingしてきたときのため、展開までちょっと待つ必要があります。

(5分くらい待って)Splunkにログが届くことを確認

  • 下記コマンドでサーチをしてみましょう
sourcetype="xmlwineventlog:microsoft-windows-sysmon/operational" 

May-31-2019 14-00-59.gif

どうでしょう?みなさま無事ログ収集できましたか?

  • セットアップに詰まる部分があればコメントいただけますと幸いです。

How to Setup! (次回に続く)

というわけで導入編まで終わりましたので、次回は活用編に行きたいと思います。

- 概要編
- 導入編
- sysmonの展開
- Splunkへのデータ取込

  • 活用編
    • 検知ルールの設定
    • ダッシュボードの作成
  • おまけのTIPS集
    • 転送されるトラフィックやデータサイズは?
    • UFをwindowsPCに配るには?
    • sysmon以外にもwindowsから追加でログ収集したくなった
8
10
4

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
8
10