キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
2291
閲覧回数
3
いいね!
0
コメント
taknakam
Cisco Employee
Cisco Employee

 

はじめに

本ドキュメントは Splunk 社の SIEM 製品である Splunk Enterprise と Secure Network Analytics (SNA) を連携してログやアラーム情報を送信する方法等について説明します。SNA のバージョンは 7.4.1、Splunk Enterprise は 9.0.3 を使用して動作を確認しました。以降では Splunk Enterprise を単に Splunk と記します。

 

Audit Log を Syslog over TLS で Splunk に送信する

Audit Log を外部へ送信するには Syslog over TLS を使います。7.4.1 以降では TLS セッション確立時に Syslogサーバが提示する証明書の検証を行っているため、検証に必要な証明書を事前に SNA の Trust Store にインポートしておく必要があります。設定の適用時に実際にサーバに接続して証明書の検証が行われるため、Syslog over TLS を設定する前に Trust Store に証明書をインポートする作業を先に実施します。

Audit Log の設定はアプライアンスごとに行うため、証明書もそれぞれの Trust Store  にインポートします。インポートする証明書の要件については、7.4.1 のリリースノートに以下のように記載されています。

  • Syslog over TLS の設定を入れる全てのアプライアンスにおいて、Syslog サーバで使用しているSSL証明書のルート証明書を Trust Store  にインポートすること。
  •  かつ、Syslog サーバの証明書内の Subject または Subject Alternative Name フィールドに Syslog サーバの IPアドレスが入っていない場合は、Syslog サーバの証明書も Trust Store にインポートすること。


弊社ラボ環境では、Splunk に含まれているスクリプトを使用して自己署名の証明書を発行しました。Trust Store には以下のように RootCA の証明書と Splunk用の証明書の2つをインポートしています。

image.png

Trust Store への証明書インポートが完了したら、"Audit Log Destination (Syslog over TLS)の設定を行います。この画面では Splunk の IPとポート番号を指定します。設定保存時に "Config Changes Failed" エラーとなった場合、正しい証明書が Trust Store にインポートされているか確認してください。

image.png

 

上記設定以外に Splunk 側で 6514/tcp で Syslog over TLS を受信する設定が必要です。設定方法の詳細は Splunk 社のサイトをご確認ください。

設定が完了すると Audit Log が Splunk に送信され、Splunk 上でログが確認できるようになります。

image.png

 

 

Alarm を Syslog で Splunk に送信する

Alarm 発生時の Syslog 送信は Response Management を使います。必要な作業は以下の通りです。

  • Syslog フォーマットの定義
  • Action の定義
  • Rule の定義

 

順に説明していきます。

 

Syslog フォーマットの定義

Splunk に送信する Syslog のフォーマットは以下の通りです。

 

Cisco|SNA|Notification:{alarm_type_id}|{alarm_type_name}|
{alarm_severity_id}| alarm_desc=”{alarm_type_description}” details=”{details}”
dst={target_ip} src={source_ip} start={start_active_time} end={end_active_time} cat={alarm_category_name}
Alarm_ID={alarm_id} Source_HG={source_host_group_names} Target_HG={target_host_group_names}
Source_HostSnapshot={source_url} Target_HostSnapshot={target_url} dpt={port} proto={protocol}
FC_Name={device_name} FC_IP={device_ip} Domain={domain_id}

 

Facility や Severity については Syslog サーバ側の設定に依存しますが、ここではデフォルトのまま、Facility は 16、Severity は 3 にしています。

image.png

 

Action の定義

設定する Action は Syslog 送信です。Splunk  を動かしているサーバの IP アドレスと Syslog サービスのポート番号を指定します。Syslog Format は先ほど作成した Splunk 用のフォーマットを指定します。
image.png

 

Rule の定義

トリガーとなるイベントについてはここでは重要ではないため、テスト用の設定を紹介します。イベントの種類としては System Alarm や Host Alarm などがありますが、ここでは Host Alarm を使います。Rule は「イベントの Severity が informational 以上」とし、Action はイベント発生時(active)と終了時(inactive)に Syslog を送信させます。
image.png

Splunk 側で 514/udp を受信する設定は本ドキュメントでは割愛します。

設定完了後、適当なイベントを発生させると、Syslog が Splunk に送信され、Splunk の WebUI 上で確認できるようになります。
image.png

 

 

Webhook で Alarm を Splunk に送信する

Webhook とは、イベント発生時にHTTP POST リクエストでメッセージを送信する仕組みのことです。Secure Network Analytics では 7.3.0 以降でResponse Management の Action の1つとして Webhook が利用できるようになっています。前述しました Alarm を Syslog で送信する設定において、Action を Webhook に置き換えることで Alarm が Webhook で Splunk に送られるようになります。以降では、Splunk における Webhook 受信側の設定と SNA における Webhook の設定方法について説明します。

 

Splunk で Webhook を受信する設定

本ドキュメントは Cisco Secure Network Analytics 向けですので、Splunk の設定に関してはあくまで参考情報としての位置付けとなります。実際に設定される際は Splunk 社より提供されているドキュメントをご参照ください。

Splunk で Webhook を受信するには、HTTP Event Collector (HEC) と呼ばれる機能を有効にします。"Settings" から "Data inputs" を開き、右上の "New Token" をクリックします。
image.png

image.png

"HTTP Event Collector" で "+Add new" をクリックします。
image.png

 

"Name"  だけ入力して "Next" をクリックします。
image.png

何も変更せず "Review" をクリックします。
image.png

"Submit" をクリックします。
image.png

"Token has been created successfully" と表示されましたら HEC が動作する状態となっています。

"Settings > Data Inputs" から HTTP Event Collector の画面に戻り、Global Settings をクリックします。

image.png

 

デフォルトのグローバル設定が表示されます。8088/tcp で LISTEN しており、SSL が有効になっていることが分かります。

image.png

HTTP Event Collector は HTTP と HTTPS のどちらでも動作させることができますが、SNA 側では HTTPS のみ使用できます。SNA では TLS セッション確立時に提示された証明書の検証を行うため、HTTP Event Collector で使用している証明書の検証に必要な証明書を SMC の Trust Store にインポートします。SNA における証明書の検証動作については少し複雑であるため、本ドキュメントでは詳細は割愛させていただき、動作に必要な設定方法のみ説明します。証明書に関して必要な作業は以下の通りです。

  • HTTP Event Collector で使用しているSSL証明書の RootCA 証明書を SMC の Trust Store にインポートする
  • SSL証明書の CN(Common Name) で Splunk の IPアドレスを引けるようにする

 

順に説明していきます。

まず、HTTP Event Collector で使用しているSSL証明書を探します。バージョンや OS に依存しますが、Windows 10 にインストールした Splunk 9.0.3 では、C:\Program Files\Splunk\etc\auth\server.pem に入っています(server.pem にはサーバ証明書、鍵、RootCA 証明書がまとめて入っています)。この server.pem に含まれる RootCA の証明書を SMC の Trust Store にインポートします。

SNA では、アクセス先のホスト名と提示されたSSL証明書の CN が一致するかどうかもチェックしています。HTTP Event Collector がデフォルトで使用している証明書の CN は SplunkServerDefaultCert であるため、この名前から IP アドレスを引けるように、Local Resolution の設定を入れます。正しい FQDN を CN に持つ証明書を使用していて、FQDN を DNS 登録していて正しく名前解決ができる状態になっている場合は、このような Local Resolution の設定は不要です。
image.png

 

SNA で Webhook を設定する

Splunk 側で Webhook を受信できる設定が整いましたので、次は SNA (SMC)で Webhook の設定を行います。Response Management の Actions にて、"Add New Action > Webhook" から Webhook Action を作成します。

ポイントは Webhook HTTPS URL と Basic Authentication の部分です。

image.png

Webhook HTTPS URL では HTTP Event Collector のホストを指定しますが、前述しましたようにSSL証明書の検証のため、ホスト名としてSSL証明書のCNを指定します。ここではデフォルトの証明書を使用しているため、"splunkserverdefaultcert" と指定しています。この名前から正しい IP アドレスに変換するためのSMCの設定(Local Resolution)は Splunk 側の作業の一環として実施済みです。ポート番号は HTTP Event Collector で使用しているポート番号を指定します。変更していなければデフォルトは 8088/tcp です。

Basic Authentication の設定は Splunk への接続時の認証のために必要となります。Username と Password を指定しますが、実際の認証は Password のところに入力する Token だけを使用するため、Username の部分は何でもよく、admin である必要はありません。

Password のところに入力する Token は、Splunk の HTTP Event Collector の画面で確認できます。
image.png

Webhook の入力が完了したら、右下の "Test Action"をクリックします。

ダイアログが表示されますので "Send"をクリックします。
image.png

正常に送信が完了すると Success と表示されます。
image.png

 

Cisco Secure Network Analytics App のインストール

Cisco Secure Network Analytics App とは、シスコから Splunk 向けに提供している Splunk 上で動作するアプリケーションです。ここまでは SNA から Splunk に情報を送る設定について説明しましたが、この App は Splunk が SNA の REST API を使用して SNA から情報を取得して Splunk の WebUI 上に表示する機能を提供します。

インストール手順について説明します。

(1) ダウンロード

アプリケーションは以下のURLからダウンロードできます。ダウンロードするには splunk.com のアカウントを作成してログインする必要があります。

https://splunkbase.splunk.com/app/6398

ログイン状態では下図のように Download ボタンが表示されていますので、クリックしてダウンロードします。
image.png

2023年1月時点でダウンロードできるファイルは cisco-secure-network-analytics-stealthwatch-app-for-splunk-enterprise_202.tgz です。

(2) インストール

Splunk の WebUI にて、左上の "splunk enterprise" のアイコンをクリックすると、左ペインにメニューが表示され、一番上に "Apps" と歯車アイコンが表示されますので、歯車アイコンをクリックします。

"Apps" 画面が表示されますので、"Install app from file" をクリックします。
image.png

"Choose File" をクリックしてファイルを選択し、"Upload" をクリックします。
image.png

(3) 設定

インストールが完了すると以下の画面になります。次に、"Set up now" をクリックして設定を開始します。

image.png

設定前に、SNA に関して以下の情報を確認します。

  • SMC の IP アドレス
  • SMC のドメインID
  • SMC のユーザ名
  • SMC のパスワード

ドメインID は、SMC の CLI にログインして、/lancope/var/smc/config の下を見ると分かります。下図の例では 301 がドメインID です。

image.png

ユーザ名は admin 権限のあるアカウントを指定します。

Splunk の WebUI に戻り、これらの情報を入力して "Submit" をクリックします。
image.png

 

Splunk と SNA が正常に連携できると Splunk の WebUI 上に SNA のダッシュボードに似た画面が表示されます。
image.png

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします