はじめに

Cisco Event Streamer(eStreamer とも称されます)により、外部のクライアント アプリケーションに Cisco Secure Firewall システム イベントをストリーミングできます。Management Center からのホストデータ、検出データ、相関データ、コンプライアンスのホワイトリストデータ、侵入データ、ユーザー アクティビティ データ、ファイルデータ、マルウェアデータ、接続データをストリーミングできます。

eStreamer は、NGIPSv、Firepower Services、Firepower Threat Defense Virtual、Firepower Threat Defense には対応していない点にご注意ください。これらのデバイスからのイベントをストリーミングするには、そのデバイスが報告する Management Center 上で eStreamer を設定できます。

eStreamer では、カスタム アプリケーション層プロトコルを使用して接続されたクライアント アプリケーションとの通信を行います。eStreamer の目的は、単にクライアントが要求されたデータを戻すことであるため、このガイドは、主に、リクエストされたデータの eStreamer 形式について記述しています。

eStreamer クライアントを作成し、Cisco Secure Firewall システム と統合するには 3 つの主要な手順があります:

1.blank.gif eStreamer アプリケーション プロトコルを使用してメッセージを Management Center または管理対象デバイスと交換するクライアント アプリケーションを作成します。eStreamer SDK には、参照クライアント アプリケーションが含まれます。

2.blank.gif クライアント アプリケーションに必要なイベントのタイプを送信するために Management Center またはデバイスを設定します。

3.blank.gif クライアント アプリケーションを Management Center またはデバイスに接続し、データの交換を開始します。

このガイドでは、eStreamer バージョン 7.2 クライアント アプリケーションを正常に作成し、実行するのに必要な情報を提供します。

eStreamer バージョン 7.2 の主要な変更点

完全修飾イベントを受信するためのサポートが追加されました。完全修飾イベントのリクエストを参照してください

新しい Python ベースの参照クライアントが SDK に追加されました。eStreamer Python 参照クライアントの実行を参照してください

このガイドの使用方法

eStreamer サービスは、最高レベルで Cisco Secure Firewall システム から要求元のクライアントにデータをストリーミングするメカニズムです。このサービスでは、次のデータ カテゴリをストリーミングできます:

  • 侵入イベント データおよび追加のイベント データ
  • 相関(コンプライアンス)イベント データ
  • 検出イベント データ
  • ユーザー イベント データ
  • イベントのメタデータ
  • ホスト情報
  • マルウェア イベント データ

本書では、主に、eStreamer から戻されるデータ構造について説明します。本書の各章は、次のとおりです:

  • eStreamer アプリケーション プロトコルについて。この章では、eStreamer 通信の概要、eStreamer クライアント アプリケーションの作成に関する要件の詳細を記述し、eStreamer サービスとのコマンドの送受信に使用される 4 種類のメッセージについて説明します。
  • 侵入および相関データ構造の概要。この章では、侵入検出コンポーネントと相関コンポーネントによって作成されたイベント データを戻すのに使用されるデータ形式および侵入イベントや関連付けイベントを表すのに使用されるデータ形式について説明します。
  • 検出と接続データ構造の概要。この章では、検出データ、ユーザー データ、接続イベント データを戻すために使用されるデータ形式について説明します。
  • ホスト データ構造の概要。この章では、ホスト情報要求メッセージを受信すると完全なホスト情報データを戻すために eStreamer が使用するデータ形式について説明します。
  • eStreamerの設定。この章では、Management Center または管理対象デバイスでの eStreamer の設定方法について説明します。この章では、eStreamer コマンド ライン スイッチについても説明し、手動で eStreamer サービスを開始し、停止する方法、および eStreamer を自動的に開始させるために Management Center または管理対象デバイスを設定する方法を提示します。
  • データ構造の例。この章では、2 進数形式の eStreamer メッセージ パケットの例を示します。
  • レガシー データ構造の概要。この章では、現在出荷されている製品では使用されていませんが、旧クライアントが使用する可能性があるレガシー データ構造の構造について説明します。

前提条件

本ガイドの情報を理解するには、一般に Cisco Secure Firewall システム の機能と名称、およびコンポーネントの機能、特に、これらのコンポーネントが生成するさまざまなタイプのイベント データに精通している必要があります。一般的ではない用語、および製品固有の用語の多くは、Cisco Secure Firewall eStreamer 統合ガイド に記載されています。

Cisco Secure Firewall システム リリース向け製品バージョン

本ガイドでは、バージョン番号を使用して Management Center および管理対象デバイスによって生成されるイベントのデータ形式を説明します。 Cisco Secure Firewall システム 製品バージョン 表には、主要なリリースごとの各製品バージョンを示します。

 

表 1-1 Cisco Secure Firewall システム 製品バージョン

リリース
Management Center バージョン
管理対象 デバイス のバージョン

3D システム 5.0

Management Center 5.0

5.0

3D システム 5.1

Management Center 5.1

5.1

3D システム 5.1.1

Management Center 5.1.1

5.1.1

3D システム 5.2

Management Center 5.2

5.2

3D システム 5.3

Management Center 5.3

5.3

Cisco Secure Firewall システム 5.3.1

Management Center 5.3.1

5.3.1

Cisco Secure Firewall システム 5.4

Management Center 5.4

5.4

Cisco Secure Firewall システム 6.0

Management Center 6.0

6.0

Cisco Secure Firewall システム 6.1

Management Center 6.1

6.1

Cisco Secure Firewall システム 6.2

Management Center 6.2

6.2

Cisco Secure Firewall システム 6.2.1

Management Center 6.2.1

6.2.1

Cisco Secure Firewall システム 6.2.2

Management Center 6.2.2

6.2.2

Cisco Secure Firewall システム 6.2.2

Management Center 6.2.3

6.2.3

Cisco Secure Firewall システム 6.3.0

Management Center 6.3.0

6.3.0

Cisco Secure Firewall システム 6.4.0

Management Center 6.4.0

6.4.0

Cisco Secure Firewall システム 6.5.0

Management Center 6.5.0

6.5.0

Cisco Secure Firewall システム 6.6.0

Management Center 6.6.0

6.6.0

Cisco Secure Firewall システム 6.7.0

Management Center 6.7.0

6.7.0

Cisco Secure Firewall システム 7.0

Management Center 7.0

7.0

Cisco Secure Firewall システム 7.1.0

Management Center 7.1.0

7.1.0

表記法

eStreamer メッセージ データ タイプの表記法 表には、eStreamer メッセージで使用されるさまざまなデータ フィールド形式を説明するために、本書で使用する名前を示します。eStreamer サービスで使用する数値定数は通常、符号なし整数値です。別途注記のない限り、ビット フィールドには下位ビットを使用します。たとえば、フラグ データの 5 ビットを含む 1 バイト フィールドでは、下位 5 ビットにデータが含まれています。

 

表 1-2 eStreamer メッセージ データ タイプの表記法

データタイプ
説明

nn-ビット フィールド

nn ビットのビット フィールド

バイト

任意の形式のデータを含む 8 ビット バイト

int8

符号付き 8 ビット バイト

uint8

符号なし 8 ビット バイト

int16

符号付き 16 ビット整数

uint16

符号なし 16 ビット整数

int32

符号付き 32 ビット整数

uint32

符号なし 32 ビット整数

uint64

符号なし 64 ビット整数

string

文字データを格納する可変長フィールド。

[n]

指定されたデータ タイプの n インスタンスを示す上記のデータ タイプに続く配列添字(たとえば、uint8 [4])

変数

さまざまなデータ タイプの収集

BLOB

パケットからキャプチャされるとき、指定されていないタイプ、通常、生データの 2 進数オブジェクト

IP アドレス

Cisco データベースは、2 進数形式の同じフィールドに IPv4 アドレスと IPv6 アドレスを保存します。IPv6 アドレスを取得するには、16 進表記に変換します。例: 20010db8000000000000000000004321 データベースでは、RFC に準拠して 80 ~ 95 ビットに 1 を取り込むことによって IPv4 アドレスを保存し、これによって無効な IPv6 アドレスが生成されます。たとえば IPv4 アドレス 10.5.15.1 は 00000000000000000000FFFF0A050F01 として保存されます。

ベストプラクティス

eStreamer を使用する際は、次に示す API の最善の使用方法を推奨します。

設計

  • クライアントには、Python で記述されたシスコの着脱可能な eStreamer クライアントを基盤として使用することを検討してください。これにより、SIEM のスキーマでデータをフォーマットする際にプラグインを構築するだけで済みます。
  • スキーマのあらゆる部分がカスタマー ベースのどこかしらで重要となるため、eStreamer クライアントは API で提供できるすべての内容をサポートするように構築してください。

blank.gif– メッセージの構造を理解する:『eStreamer Integration Guide』で理解を深めます。

blank.gif– メタデータ構造およびコード構造で定義されたレコードを取得する:ほとんどのレコードでメッセージを解析できます。

blank.gif– メタデータの一般的な仕組みについて理解する(メタデータ レコードの事前送信など)。

blank.gif– オブジェクト モデルについて理解する:レコードを相互に関連付ける方法と、レコードに関連付けられるメタデータの内容について理解を深めます。

  • 強力なエラー処理とロギングを実装します。これにより、問題が生じたときに、原因となったメッセージや状況を必ずしもエラーを再現することなく確認できるようになります。
  • 言語を慎重に選択します。解析にかかるコストは計算的には高くありませんが、1 秒あたりのイベント数が何千もある場合に、すべてがカウントされてしまいます。C や C++ などの言語をコンパイルします。Python や JavaScript より高速になります。このような方法の欠点は、移植性が低いことです。
  • マルチスレッディングやプロセスを実装する場合は、メタデータを扱う際に必ずメッセージを順番に処理していく必要があることを理解しておいてください。つまり、配信順序が正しくない場合は修正する必要があります。
  • 既存の eStreamer 実装で、他のユーザーがこれまでどのようにして目標を達成したかを確認してください。リソースの一部を以下に示します。

blank.gif https://splunkbase.splunk.com で eStreamer を検索します。

blank.gif https://software.cisco.com/download/home/ で、[製品の選択(Select a Product)] の横にある [すべてを参照(Browse All)] を選択してから、[ファイアウォール(Firewalls)]、[ファイアウォール管理(Firewall Management)]、[Firepower Management Center仮想アプライアンス(Firepower Management Center Virtual Appliance)]、[FirepowerシステムのツールとAPI(Firepower System Tools and APIs)] の順に選択します。

blank.gif https:/community.cisco.com で「eNcoreCLI」と検索します。

  • Cisco Security Technical Alliance チームと連携し、eStreamer および Cisco FirePOWER との統合に関するその他の側面に対する変更に常に迅速に対応します。不明な点は、ask-csta-pm@cisco.com までお問い合わせください。

テスト

  • シスコで Firepower の新しいバージョンが導入されたら、速やかにクライアントのテストを実行し、クライアントが収集したデータに変更がないことを確認します。
  • 便利なテスト ベッドをご用意していますので、簡単かつ頻繁にテストできます。
  • テスト ベッドを構築しない場合は、dcloud サンドボックスのテスト ベッドを使用します。Cisco Security Technical Alliance では、このテスト ベッドの設定および使用をサポートするリソースを提供しています。dcloud は包括的なテストを無料で実現します。ただし、お客様の用途に完全に対応しているわけではなく、イベントを 100% カバーできるとも限りません。また、インスタンスの使用可能期間も短くなります。dcloud の詳細については、 https://dcloud2-rtp.cisco.com にアクセスの上、ご確認ください。