Splunkにはさまざまな製品・ベンダーのログが集まりますが、
同じ「送信元IPアドレス」でも、ある製品ではsrc_ip、別の製品ではclientipと、
フィールド名がバラバラになりがちです。
これでは、ソースごとに違うSPLを書かなければならず、横断的な分析が困難になります。
この問題を解決するのが共通情報モデル(CIM, Common Information Model)です。
1. CIMとは何か
CIMは、異なる製品・ベンダーのログでも同じフィールド名・スキーマで扱えるようにするための、
標準化されたデータモデルの集まりです。
Authentication(認証)、Web(Webアクセス)、Network Traffic(ネットワーク通信)など、
用途ごとに共通のデータモデルが定義されています。
たとえば認証ログであれば、どの製品由来でもuserやaction、srcといった
共通のフィールド名で扱えるように取り決められています。
これにより、ソースが違っても共通のSPLで横断的に分析できるようになります。
2. データをCIMに準拠させる
自分のデータをCIMで扱うには、ログをCIMのスキーマに合わせて正規化(Normalization)します。 正規化は、主に次のような設定を組み合わせて行います。
| 仕組み | 役割 |
|---|---|
| フィールドエイリアス(Field Alias) | clientipをsrcとして扱うなど、フィールド名を共通名に読み替える |
| タグ(Tag) | イベントにauthenticationなどの意味づけを付ける |
| イベントタイプ(Event Type) | 特定の条件に合うイベントをまとめ、分類しやすくする |
これらでデータをCIMに準拠させておくと、 ソースが違っても同じフィールド名・同じデータモデルで分析できるようになります。
3. CIM Add-onの導入
CIMのデータモデル定義は、Splunk Common Information Model Add-onとして提供されています。 これをSplunkbaseからダウンロードして導入することで、 CIMの各データモデルが利用できるようになります。
CIMへの準拠は、Splunk Enterprise Securityなどの Premium Appが正しく動作するための前提にもなっています。 これらのアプリは、データがCIMに正規化されていることを前提に集計・検知を行うためです。
Premium Appを活用する場合は、取り込むログを適切にCIMへ正規化しておくことが重要です。 正規化が不十分だと、アプリのダッシュボードや検知が期待どおりに動作しません。
4. まとめ
- CIMは異なる製品のログを共通のフィールド名・スキーマで扱う標準データモデルの集まり
- フィールドエイリアス・タグ・イベントタイプでデータをCIMに正規化する
- 正規化すればソースが違っても共通のSPLで横断分析できる
- CIM Add-onはSplunkbaseから導入し、Enterprise SecurityなどのPremium Appの前提になる