1
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 - BOXの可視化をしてみた

Last updated at Posted at 2024-11-14

はじめに

BOX情報をSplunkで可視化する事になったので、@odorusatoshiさんの記事「Splunkを使ってBOXのファイル操作情報を可視化」をみて、この通りにやろうとしたけど、紹介されていた「Box App for Splunk」は既に無かったので自作してみた話です。

データ収集

Splunkbaseにある「Splunk Add-on for Box」を利用しました。このAdd-onはSplunk Supported addonなのでマニュアルが公開されています。

これを読めばデータ収集の方法は分かるかと思いますので、ここは割愛します。

可視化

Boxを可視化するにあたり何の情報をダッシュボード化するのかは企業や組織により様々だと思いますが、私は以下の内容を試してみました。

  • 認証情報(ログイン成功数、失敗数など)
  • ファイルのアップロード情報(回数、データサイズなど)
  • ファイルのダウンロード情報(回数、データサイズなど)
  • BOXのイベント情報(ファイル作成、編集、削除など)
  • アカウント情報(新規作成、編集、削除など)

[0] フィールドについて

今回利用するフィールドにevent_typeフィールドとeventtypeフィールドという似た名前のフィールドが出てきますが、それぞれ情報が異なるので注意ください。

[1] 認証情報(ログイン成功数、失敗数など)

認証情報はevent_typeフィールドが参考になりそうだったので、それを使う事にします。

[1-1] BOX認証のイベント統計

私の環境ではevent_typeフィールドのバリューとしてLOGIN ADMIN_LOGIN FAILED_LOGINがあるので、それぞれの統計を取得してみました。以下はログイン情報を取得するSPLのサンプルです。

SPLサンプル
index=<your_index> sourcetype="box:events" event_type="LOGIN"
| stats count 

[1-2] BOX認証のアクセス元統計

どこからBOXの接続があったのか確認する際にeventtype="box_events_authentication"で検索を行い、ip_addressフィールドから位置情報を算出しました。以下はどの国から何回、ログインが成功/失敗しているのかを取得するSPLのサンプルです。

SPLサンプル
index=<your_index> sourcetype="box:events" eventtype="box_events_authentication"
| iplocation ip_address 
| top Country event_type

私はCountryフィールドのみを対象としていますがRegionフィールドやCityフィールドを組み合わせる事でより細かい粒度にて可視化できます。私はtable情報として取得しましたが、Cluster MAPにて可視化したい場合はgeostatを利用する事で可視化できます。

[2] ファイルのアップロード情報(回数、データサイズなど)

[2-1] BOXアップロード回数の合計値

私の環境ではevent_typeフィールドのバリューとしてUPLOADがあるので、その統計を取得してみました。以下はアップロード回数を取得するSPLのサンプルです。

SPLサンプル
index=<your_index> sourcetype="box:events" event_type="UPLOAD"
| stats count 

[2-2] BOXアップロードサイズの合計値

先ほどのevent_type="UPLOAD"を活用して、additional_details_sizeフィールドのデータサイズの統計を取得してみました。以下はアップロード回数を取得するSPLのサンプルです。

SPLサンプル
index=<your_index> sourcetype="box:events" event_type="UPLOAD"
| stats sum(additional_details_size) 

これでも良いのですが、私の環境では見づらいので、アップロードサイズの合計値をバイトからギガバイトに変換しました。

SPLサンプル
index=<your_index> sourcetype="box:events" event_type="UPLOAD"
| eval A=additional_details_size/(1024*1024*1024) 
| stats sum(A) as B
| eval Upload_GB=round(B,2)
| fields - B

フィールドAとかBとかは任意で変更ください。

[3] ファイルのダウンロード情報(回数、データサイズなど)

[2]ファイルのアップロード情報で利用したevent_typeフィールドのバリューとしてDOWNLOADがあるので、それに置き換えるだけです。

[4] BOXのイベント情報(ファイル作成、編集、削除など)

ここまで読んでいる方は薄々気づくでしょうが、要はevent_typeフィールドを参照すればBOXのイベント情報を確認できるので、その統計を取得するSPLサンプルです。

SPLサンプル
index=<your_index> sourcetype="box:events" 
| stats count by event_type

[5] アカウント情報(新規作成、編集、削除など)

私の環境ではevent_typeフィールドのバリューとしてNEW_USER EDIT_USER DELETE_USERがあるので、それぞれの統計を取得してみました。以下は新規ユーザ作成に関する統計を取得するSPLのサンプルです。

SPLサンプル
index=<your_index> sourcetype="box:events" event_type="NEW_USER"
| stats count 

なお、eventtype=box_events_accountで検索を行うことでアカウントに関するイベントのみに絞れるので、その上でevent_typeフィールドからアカウントのイベント情報を時系列で抽出してみる方法も試してみました。

SPLサンプル
index=<your_index> sourcetype="box:events" eventtype="box_events_account"
| timechart count by event_type 

[6] その他

私は組織におけるBOXの利用状況を可視化したかったので、このようなSPLで書きましたが、BOXはいつ 誰が どのファイルを どうした まで取得可能です。例えば、特定の個人に関するアクティビティも取得可能なので、うまく使えば情報漏洩対策や内部脅威対策、時間外労働者の特定などに活用できるのでは無いかと感じました。

終わりに

今回はSplunkbaseからBOXを可視化するAppを見つける事ができなかったので、SPLを書いてBOXを可視化する方法を紹介しましたが、マクニカからSecurity Monitoring App for Boxといった、BOXに関する不正アクセスや設定ミスなどを検知・監視を実現するSplunk用の有償の独自App/サービスがあるようです。興味のある方はチェックしてみては如何でしょうか。なお、私はマクニカの該当App/サービスを試した事が無いので内容は知りません。

1
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
1
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?