0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Splunk】クライアント側のログ転送設定(Splunk Universal Forwarder の利用)

Last updated at Posted at 2025-02-06

Splunk Universal Forwarder は、Linux や Windows など各種環境で稼働し、ログファイルやイベントデータを Splunk Enterprise / Splunk Cloud へ転送するエージェントです。Forwarder のインストール手順は、Splunk 公式のブログにも情報があるので、正確にはそちらを参照頂く方が良いです。この記事では、著者の作業メモ的な意味合いで、実際に Linux クライアント上で発生したテキストログを Splunk Enterpirise に転送する手順をまとめます。Splunk Enterprise 本体の導入は、こちらで簡単に手順をまとめています。また、具体的にログファイルは何でもよいのですが、サンプルログとしては、こちらの記事で筆者環境に導入したハニーポット(Cowrie)のログ(デフォルトで <インストールフォルダ>var/log/cowrie/ 配下に出力される)に対して、Splunk Forwarder を設定し、ログを監視・送信することで、Splunk 上でリアルタイムに解析することを目指します。

前提確認:取得対象のログの整理

今回は、ハニーポット Cowrie のログを収集対象とします。Cowrie では以下のように複数のログ形式を扱っています。

  • テキストログ (cowrie.log):通常のテキスト形式で、SSH/Telnet セッション情報やコマンド履歴などが記録されます。
  • JSON形式ログ (cowrie.json):Cowrie は JSON 形式のログも生成可能です(cowrie.cfg で設定)。

いずれのログを取り込んでも良いですが、JSON形式の方が解析などの取りましには扱いやすいかもしれません。本記事ではJSON形式のログを Forwarder で収集する手順例を紹介します。

事前準備:パッケージ用意

Splunk のサイトから、最新のインストールパッケージをダウンロードします。(要Splunkアカウント)
ここでは、debパッケージを利用し、wgetのURLを取得して進めます
image.png

$ wget -O splunkforwarder-<バージョン>-linux-amd64.deb "https://download.splunk.com/products/universalforwarder/releases/9.4.0/linux/splunkforwarder-<バージョン>-linux-amd64.deb"
$ ls -lh *.debls -lh *.deb
-rw-rw-r-- 1 piro piro 94M Dec 13 19:28 splunkforwarder-<バージョン>-linux-amd64.deb

Splunk Forwarder のインストールと初期設定

ダウンロードリンクや手順はバージョンによって多少異なる場合がありますが、以下のようなコマンド例で Debian/Ubuntu 用パッケージ (.deb ファイル) をインストールします

$ sudo dpkg -i splunkforwarder-<バージョン>-linux-amd64.deb
Selecting previously unselected package splunkforwarder.
(Reading database ... 76828 files and directories currently installed.)
Preparing to unpack splunkforwarder-<バージョン>-linux-amd64.deb ...
・・中略・・
complete

インストールが完了したら、以下のように初期設定を行います。ライセンス許諾への同意と、ユーザー設定を行います。

$ sudo /opt/splunkforwarder/bin/splunk start --accept-license
・・中略・・
Please enter an administrator username: admin
Password must contain at least: 
   * 8 total printable ASCII character(s).
Please enter a new password: <-適当に入力(但し、デフォルトパスワード"changeme"は変えたほうが良さそう)
Please confirm new password:
・・中略・・
Starting splunk server daemon (splunkd)...
Done

Forwarder がどのSplunkホスト にログを送るかを設定します。 例として、Splunk Enterprise のサーバーが 9997 番ポートで待ち受けている環境を想定します。

$ sudo /opt/splunkforwarder/bin/splunk add forward-server <SplunkサーバーIP or hostname>:9997
・・中略・・
Added forwarding to: <SplunkサーバーIP or hostname:9997.

設定ファイルは /opt/splunkforwarder/etc/system/local/outputs.conf に記述されるので、内容を一応確認しておきます。

$ sudo more /opt/splunkforwarder/etc/system/local/outputs.conf
[tcpout]
defaultGroup = default-autolb-group

[tcpout:default-autolb-group]
server = <SplunkサーバーIP or hostname:9997

[tcpout-server://<SplunkサーバーIP or hostname:9997]

再起動時などに Forwarder は自動で起動する様に設定します。

$ sudo /opt/splunkforwarder/bin/splunk enable boot-start
Important: splunk will start under systemd as user: splunkfwd
Systemd unit file installed by user at /etc/systemd/system/SplunkForwarder.service.
Configured as systemd managed service.

次に、Cowrie のログディレクトリを Forwarder が監視するように設定します。
inputs.conf を編集し、ログファイルのパス・sourcetype・index を記載します。

例として cowrie.json を監視し、Splunk 上のインデックスを cowrie、ソースタイプを cowrie:json とする設定例は以下のとおりです。

$ sudo vi /opt/splunkforwarder/etc/system/local/inputs.conf
[monitor:///opt/cowrie/var/log/cowrie/cowrie.json]
sourcetype = cowrie:json
index = cowrie

設定後、Forwarder を再起動します。

$ sudo /opt/splunkforwarder/bin/splunk restart

Forwarder で指定した index = cowrie を Splunk 上で利用する場合、あらかじめ Splunk Enterprise 上でインデックス cowrie を作成しておく必要があります。

Splunk Web に管理者権限でログインし、[設定] -> [インデックス] -> [新規インデックス] から名前を cowrie として新規作成
image.png

動作確認

Cowrie に対して、 SSH ないし Telnet アクセスを実行します。

$ ssh root@<cowrieのIP> -p 2222
root@<cowrieのIP>'s password: <- 適当な文字列を入力

root@xxx:~# exit

Splunkのサーチ画面で、index="cowrie" sourcetype="cowrie:json"と実行し、結果が出ればOKです。
image.png

まとめ

本記事では、Cowrie + Splunk Forwarder の組み合わせで、攻撃者が Cowrie にアクセスした際のログをリアルタイムに Splunk へ送信する方法を紹介しました。Cowrie の様なハニーポットのログ活用することで、より具体的なセキュリティの勉強や研究が可能になります。

  • 監視対象ログの選定:どんなログを収集分析したいのか、対象を選ぶ
  • Splunk Forwarder の導入:Forwarder を利用して、好きなログを Splunk に転送する
  • 攻撃状況の可視化:ハニーポットをログを分析して、アタック件数、攻撃元 IP、攻撃内容等の可視化を行う

ぜひ Cowrie と Splunk の連携を通じて、ハニーポットのログ収集・解析を行い、攻撃手法の分析に活用してみてください。

補足

Splukがハングしている場合などは、killコマンドでやり直しする。

$ ps -ef | grep splunk
$ kill <pid>

インストールをやり直したい場合など、アンインストールする場合は以下を実行した後で、/opt/splunkforwarderフォルダを退避ないし削除する。

$ sudo dpkg -r splunkforwarder

参考

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?