Cisco Service Control Application for Broadband ユーザ ガイド
Signature Editor の使用方法
Signature Editor の使用方法
発行日;2012/01/30 | 英語版ドキュメント(2011/12/19 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 18MB) | フィードバック

目次

Signature Editor の使用方法

はじめに

Signature Editor Console

DSS ファイルの管理

DSS ファイルのコンポーネント

DSS ファイル

DSS プロトコル リスト

DSS プロトコルについての情報

DSS シグニチャ

DSS 詳細検査句

DSS 詳細検査条件

DSS ファイルの作成

DSS ファイルの編集

DSS ファイルのインポート

Signature Editor の使用方法

はじめに

ここでは、Signature Editor ツールおよびこれを使用した Dynamic Signature Script(DSS)ファイルの作成と修正方法について説明します。

Signature Editor ツールでは、Cisco Service Control Application for Broadband(SCA BB)でまだサポートされていない新しいネットワーク プロトコルの知識に基づいて、SCA BB でプロトコルおよびプロトコル シグニチャの追加および修正ができる DSS ファイルの作成および修正ができます。

「Signature Editor Console」

「DSS ファイルの管理」

「DSS ファイルの作成」

「DSS ファイルの編集」

「DSS ファイルのインポート」

Signature Editor Console

Signature Editor は、適切な場合にログおよびエラー メッセージを Signature Editor Console(Console ビュー)に書き出します。

DSS ファイルの管理

アクティブ サービス コンフィギュレーションに新しいシグニチャをインストールする場合は、「プロトコル パックの処理」を参照してください。

Service Configuration Editor でシグニチャを操作する方法については、「プロトコル シグニチャの管理」を参照してください。

サービス コンフィギュレーション ユーティリティ servconf を使用してシグニチャを適用する方法については、「SCA BB サービス コンフィギュレーション ユーティリティ」を参照してください。

DSS ファイルのコンポーネント、および DSS ファイルの作成と編集については、次のセクションで説明します。

DSS ファイルのコンポーネント

DSS ファイルのコンポーネントは、Signature Editor の [Script] ペインにツリー構造で表示されます。DSS コンポーネント ツリーの適切なノードを選択すると、ノードに関連するプロパティを [Property] ペインで定義できるようになります。

以降のセクションでは DSS ファイルのコンポーネントについて説明します。

「DSS ファイル」

「DSS プロトコル リスト」

「DSS プロトコルについての情報」

「DSS シグニチャ」

「DSS 詳細検査句」

「DSS 詳細検査条件」

DSS ファイル

DSS ファイル名は、DSS ファイルのコンポーネント ツリーのルート ノードです。

ルート ノードを選択すると、DSS ファイルの次のプロパティを定義できるようになります。

[Script Name]:スクリプトのわかりやすい名前を入力します。

[Script Description]:スクリプトを作成した理由を入力し、その内容について説明します。

[Script Version (Major)]

[Script Version (Minor)]

[Script Build Number (Major)]

[Script Build Number (Minor)]

[Created for Application Version]:定義済みの値のリストから選択します。

図 12-1 は、DSS ファイル プロパティのデフォルト値を示しています。

図 12-1 DSS ファイル プロパティのデフォルト値

 

DSS ファイルには単一プロトコル リストが含まれます。

DSS プロトコル リスト

プロトコル リストには、定義するプロパティがありません。プロトコル リストには、追加、修正、拡張を行っているすべてのプロトコルが含まれます。

DSS プロトコルについての情報

DSS ファイルのコンポーネント ツリーからプロトコル ノードを選択すると、プロトコルの次のプロパティを定義できるようになります。

[Basic]

[Protocol Name]:「プロトコル名および ID の設定」を参照してください。

[Protocol Description]

[Protocol ID]:「プロトコル名および ID の設定」を参照してください。

[Protocol Category]

[Buddy Protocol]:「バディ プロトコル」を参照してください。

[Protocol Families]:1 つ以上のプロトコル ファミリにプロトコルを割り当てます。

[P2P]

[SIP]

[VOIP]

[Worm]

プロトコル ファミリにプロトコルを関連付けると、ファミリに関するレポートに新しいプロトコルが組み込まれます。

図 12-2 は、プロトコル プロパティのデフォルト値を示しています。

図 12-2 プロトコル プロパティのデフォルト値

 

プロトコルにはシグニチャが含まれます。

プロトコル名および ID の設定

DSS には次の 2 種類のプロトコルを含めることができます。

SCA BB にとって新しいプロトコル:DSS でプロトコルを定義します。

SCA BB ですでにサポートされているプロトコル:プロトコルの識別の拡張または修正を DSS で行います。

名前および ID の選択方法は、この 2 つで次のように異なります。

SCA BB にとって新しいプロトコルの場合、SCA BB がすでにサポートしているプロトコル名に名前を一致させることはできません。サポートされているプロトコルの名前のリストを表示するには、Service Configuration Editor で [Protocol Settings] ダイアログボックスを開きます(「プロトコルの表示方法」を参照)。5000 ~ 9998 の範囲で一意の ID をプロトコルに割り当ててください。

既存プロトコルの場合、DSS のプロトコル名および ID は、サービス コンフィギュレーションのプロトコル名および ID と一致している必要があります。Service Configuration Editor の [Protocol Settings] ダイアログボックスで名前および ID を特定してください(「プロトコルの表示方法」を参照)。

バディ プロトコル

DSS で追加する新しいプロトコルの設定を簡単にするため、DSS では新しいプロトコルのバディ プロトコルを指定できます。アプリケーションは、サービス コンフィギュレーションに DSS をインポートするとき、バディ プロトコルを参照するサービス要素を検出すると、バディ プロトコルを使用する一連のサービス要素を自動的に複製し、バディ プロトコルのすべての参照を新しいプロトコルの参照で置き換えます。新しいプロトコルとサービスの関係は、バディ プロトコルとサービスの関係と一致します。

DSS シグニチャ

プロトコルには、必要な数のシグニチャを含めることができます。

プロトコルには、次の 4 種類のシグニチャを追加できます。

ストリング照合型シグニチャ

ペイロード長シグニチャ

Hypertext Transport Protocol(HTTP; ハイパーテキスト転送プロトコル)ユーザ エージェント シグニチャ

HTTP x ヘッダー シグニチャ

4 つそれぞれのシグニチャ タイプは、フローの先頭ペイロード パケットでさまざまな条件を検証します。

以降のサブセクションでは、このシグニチャ タイプと条件について説明します。

ストリング照合型シグニチャおよびペイロード長シグニチャには、詳細検査句を含めることができます。先頭のペイロード パケット条件が満たされるシグニチャは、詳細検査句の条件も満たされる場合、フローを受け入れます。

DSS ストリング照合型シグニチャ

DSS ファイルのコンポーネント ツリーからストリング照合型シグニチャを選択すると、シグニチャの次のプロパティを定義できるようになります。

[Signature Name]:一意の名前。

[Signature Description]

[Signature ID]:0xC010000 ~ 0xC0100FF(10 進数の 201392128 ~ 201392383)の範囲の値。

[First Payload Packet Conditions]

[Fixed Size Byte String]:(表示のみ)次の 4 つのフィールドによって形成される文字列が表示されます。

[0]:文字列の第 1 バイトの ASCII コードを入力します。すべての値が受け入れ可能であることを示すには、「*」を入力します。

[1]:文字列の第 2 バイトの ASCII コードを入力します。すべての値が受け入れ可能であることを示すには、「*」を入力します。

[2]:文字列の第 3 バイトの ASCII コードを入力します。すべての値が受け入れ可能であることを示すには、「*」を入力します。

[3]:文字列の第 4 バイトの ASCII コードを入力します。すべての値が受け入れ可能であることを示すには、「*」を入力します。

[String Position]:パケットにおける固定サイズ バイト文字列の位置。位置は、パケットの先頭バイトから数えた、文字列の先頭バイトの位置です。文字列をパケットの先頭と照合するには、この値をゼロにする必要があります。値は、4 で割り切れる整数にしてください。

[Packet Direction]:ペイロードを含むフローの先頭パケットの開始側。このフィールドは、次の 3 つのうちいずれかの値になります。

[From Server]

[From Client]

[Don't Care](両側)

[Port Range]:(表示のみ)次の 2 つのフィールドから形成されるポート範囲。デフォルト値は、ポート範囲全体(0 ~ 65535)です。

[From Port]:ポート範囲の下限(この値を含む)。

[To Port]:ポート範囲の上限(この値を含む)。

[Check before PL]:値 true false を切り替えます。

このフィールドは、SCA BB の組み込み Protocol Library(PL; プロトコル ライブラリ)分類の前にシグニチャをテストするか、そのあとでシグニチャをテストするかを示します。組み込み分類の実行前にシグニチャをテストすると、フローがこのシグニチャと一致した場合、PL 分類はスキップされます。このフィールドを「false」に設定すると、PL 分類でサポート対象プロトコル シグニチャを識別できない場合に限り、このシグニチャはテストされます。

[Asymmetric Routing Classification Mode]:シグニチャを非対称ルーティング分類モードの状態に従ってテストするかどうかを示します。次の 3 つの値のいずれかになります。

[Don't Care]:このシグニチャを非対称ルーティング分類モードが有効か無効かどうかテストすることを示します。

[Disabled]

[Enabled]

[Flow Type]:(表示のみ)このフィールドには条件を適用するフロー タイプが示されます(複数のタイプに条件を適用可能)。非対称ルーティング分類モードが有効でないと無視されます。

フロー タイプは次の 4 つのフィールドで指定されます。

[Bidirectional]:値 true false を切り替えます。

[Unidirectional Client Side]:値 true false を切り替えます。クライアント側からのパケットだけが検出された TCP フローに適用されます。

[Unidirectional Server Side]:値 true false を切り替えます。サーバ側からのパケットだけが検出された TCP フローに適用されます。

[Unknown (UDP)]:値 true false を切り替えます。一方向からのパケットだけが検出された UDP フローに適用されます。


注意 シグニチャが先頭ペイロード パケットだけに従ってプロトコルを識別する場合に限り、[Check before PL] を true に設定してください。シグニチャが詳細検査条件も使用してあとのパケットを調べて、シグニチャがフローと一致しない場合、PL 分類は適切に実行されません。

図 12-3 は、ストリング照合型シグニチャのプロパティのデフォルト値を示しています。

図 12-3 ストリング照合型シグニチャのプロパティのデフォルト値

 

ストリング照合型シグニチャの先頭ペイロード パケット条件と一致するフローは、シグニチャの詳細検査条件と比較されます(「DSS 詳細検査条件」を参照)。

DSS ペイロード長シグニチャ

DSS ファイルのコンポーネント ツリーからペイロード長シグニチャを選択すると、シグニチャの次のプロパティを定義できるようになります。

[Signature Name]:一意の名前。

[Signature Description]

[Signature ID]:0xC010000 ~ 0xC0100FF(10 進数の 201392128 ~ 201392383)の範囲の値。

[First Payload Packet Conditions]

[Packet Direction]:ペイロードを含むフローの先頭パケットの開始側。このフィールドは、次の 3 つのうちいずれかの値になります。

[From Server]

[From Client]

[Don't Care](両側)

[Payload Length]:ペイロード パケットのバイト数。

[Port Range]:(表示のみ)次の 2 つのフィールドから形成されるポート範囲。デフォルト値は、ポート範囲全体(0 ~ 65535)です。

[From Port]:ポート範囲の下限(この値を含む)

[To Port]:ポート範囲の上限(この値を含む)

[Check before PL]:値 true false を切り替えます。

このフィールドは、SCA BB の組み込みプロトコル ライブラリ(PL)分類の前にシグニチャをテストするか、そのあとでシグニチャをテストするかを示します。組み込み分類の実行前にシグニチャをテストすると、フローがこのシグニチャと一致した場合、PL 分類はスキップされます。このフィールドを「false」に設定すると、PL 分類でサポート対象プロトコル シグニチャを識別できない場合に限り、このシグニチャはテストされます。

[Asymmetric Routing Classification Mode]:シグニチャを非対称ルーティング分類モードの状態に従ってテストするかどうかを示します。次の 3 つの値のいずれかになります。

[Don't Care]:このシグニチャを非対称ルーティング分類モードが有効か無効かどうかテストすることを示します。

[Disabled]

[Enabled]

[Flow Type]:(表示のみ)このフィールドには条件を適用するフロー タイプが示されます(複数のタイプに条件を適用可能)。非対称ルーティング分類モードが有効でないと無視されます。

フロー タイプは次の 4 つのフィールドで指定されます。

[Bidirectional]:値 true false を切り替えます。

[Unidirectional Client Side]:値 true false を切り替えます。クライアント側からのパケットだけが検出された TCP フローに適用されます。

[Unidirectional Server Side]:値 true false を切り替えます。サーバ側からのパケットだけが検出された TCP フローに適用されます。

[Unknown (UDP)]:値 true false を切り替えます。一方向からのパケットだけが検出された UDP フローに適用されます。


注意 シグニチャが先頭ペイロード パケットだけに従ってプロトコルを識別する場合に限り、[Check before PL] を true に設定してください。シグニチャが詳細検査条件も使用してあとのパケットを調べて、シグニチャがフローと一致しない場合、PL 分類は適切に実行されません。

図 12-4 は、ペイロード長シグニチャのプロパティのデフォルト値を示しています。

図 12-4 ペイロード長シグニチャのプロパティのデフォルト値

 

ペイロード長シグニチャの先頭ペイロード パケット条件と一致するフローは、シグニチャの詳細検査条件と比較されます(「DSS 詳細検査条件」を参照)。

DSS HTTP ユーザ エージェント シグニチャ

DSS ファイルのコンポーネント ツリーから HTTP ユーザ エージェント シグニチャを選択すると、シグニチャの次のプロパティを定義できるようになります。

[Signature Name]:一意の名前

[Signature Description]

[Signature ID]:0xC010000 ~ 0xC0100FF(10 進数の 201392128 ~ 201392383)の範囲の値

[Conditions]

[User Agent]:HTTP ヘッダーの [User Agent] フィールドの値

図 12-5 は、HTTP ユーザ エージェント シグニチャ プロパティのデフォルト値を示しています。

図 12-5 HTTP ユーザ エージェント シグニチャ プロパティのデフォルト値

 

DSS HTTP x ヘッダー シグニチャ

DSS ファイルのコンポーネント ツリーから HTTP x ヘッダー シグニチャを選択すると、シグニチャの次のプロパティを定義できるようになります。

[Signature Name]:一意の名前

[Signature Description]

[Signature ID]:0xC010000 ~ 0xC0100FF(10 進数の 201392128 ~ 201392383)の範囲の値

[Conditions]

[x-Header Field Name]:HTTP ヘッダーの x ヘッダーにあるフィールドの名前

図 12-6 は、DSS ファイル プロパティのデフォルト値を示しています。

図 12-6 DSS ファイル プロパティのデフォルト値

 

DSS 詳細検査句

詳細検査句は、詳細検査条件の接続句です。シグニチャは、この句のすべての条件が満たされる場合に 限って フローを受け入れます。


) シグニチャに複数の詳細検査句がある場合、句およびそれぞれの句を構成する詳細検査条件は、詳細検査条件の Packet Number プロパティの値に基づいてテストされます。

最初のペイロード パケットが最初のペイロード パケット条件によって受け入れられたあとで、Packet Number が最も小さい条件を含む句がテストされます。この句のその他の条件は、Packet Number の昇順で確認されます。このため、句の条件の Packet Number を、それを継承する句の最大 Packet Number より小さくすることはできません。


DSS 詳細検査条件

詳細検査条件は、ストリング照合型シグニチャまたはペイロード長シグニチャの先頭ペイロード パケット条件選別を通過したフローに対してチェックする、一連の条件です。

DSS ファイルのコンポーネント ツリーから詳細検査条件ノードを選択すると、詳細検査条件の次のプロパティを定義できるようになります。

[Packet Direction]:ペイロードを含むフローの先頭パケットの開始側。このフィールドは、次の 3 つのうちいずれかの値になります。

[From Server]

[From Client]

[Don't Care](両側)

[Packet Number]:フローのパケット番号。ペイロード パケットの番号はゼロから始まり、パケットは両方向でカウントされます。

[Payload Length]:バイト単位のパケットの長さ。あらゆる値が受け入れ可能であることを示すには、ゼロを入力します。

[Printable Characters]:検査パケットに印刷可能文字だけが含まれるかどうかをテストします。このフィールドは、次の 3 つのうちいずれかの値になります。

[Printable Characters Only]

[At Least One Non-Printable]

[Don't Care]

[Substring Search]:検索文字列をパケットの特定の位置と照合します。この条件が関係ない場合は、[Search String] フィールドを空にします。

[Position Offset]:パケットの検索文字列の検索を開始する位置。オフセットは、[Start Search From] フィールドに指定した位置を基準とした位置です。

[Start Search From]:次の 2 つのうちいずれかの値を含めることができます。

[Packet beginning]

[Last match]

[Last match] は、前回の検索で一致した文字列が終わる場所から検索文字列の検索が始まることを表します。最終一致は、前回のサブストリング検索から、または最終文字列ベース先頭ペイロード パケット条件からになります。

[Searchable Range]:検索文字列のこのバイト数で検索が実行されます。

[Search Packets]:次の 2 つのうちいずれかの値を含めることができます。

[This packet only]

[Multiple packets]

[Multiple Packets] は、[Searchable Range] フィールドに指定したバイト数より合計バイト数が小さい場合、複数のパケットにわたって検索が行われることを示します。

[Search String]:次の 3 つのうちいずれかのフィールドに検索文字列を入力します(その他 2 つのフィールドは自動的に更新されます)。

[ASCII Codes]:検索文字列の文字の ASCII コードを入力します。各コードはカンマで区切ります。

[Byte String]:実際の検索文字列を入力します。

[Hex Values]:検索文字列の文字の ASCII コードの 16 進値を入力します。各コードはカンマで区切ります。

[Transport Protocol]:このフィールドは、次の 3 つのうちいずれかの値になります。

[TCP]

[UDP]

[Don't Care](TCP または UDP)

図 12-7 は、詳細検査条件プロパティのデフォルト値を示しています。

図 12-7 詳細検査条件プロパティのデフォルト値

 

詳細検査条件の構造は、文字列照合型シグニチャおよびペイロード長シグニチャと同じです。

DSS ファイルの作成

Signature Editor で DSS ファイルを開いている場合は、そのファイルを保存してから新しい DSS ファイルを作成してください。保存していないすべての変更内容は失われます。


ステップ 1 ツールバーの ([Create a New DSS File])をクリックします。

DSS ファイル ノード、プロトコル リスト ノード、プロトコル ノードを含む DSS コンポーネント ツリーが、Script ビューに表示されます。

新しい DSS ファイルのデフォルト プロパティが Properties ビューに表示されます(図 12-8)。

図 12-8 [Properties] タブ

 

ステップ 2 DSS ファイル プロパティを編集します。

プロパティの説明については、「DSS ファイル」を参照してください。

ステップ 3 プロトコル ノードをクリックします。

プロトコル プロパティが Properties ビューに表示されます(図 12-9)。

ステップ 4 プロトコル プロパティを編集します。

プロパティの説明については、「DSS プロトコルについての情報」を参照してください。

ステップ 5 ボタンの横のドロップダウン矢印をクリックします。

図 12-9 プロトコル プロパティ

 

ステップ 6 表示されるドロップダウン メニューからシグニチャ タイプを選択します。

シグニチャ ノードがプロトコル ノードの下に追加されます。

ストリング照合型シグニチャまたはペイロード長シグニチャを選択した場合は、詳細検査句ノードおよび詳細検査条件ノードも追加されます(図 12-10)。

図 12-10 プロトコル リスト情報

 

ステップ 7 シグニチャ ノードをクリックします。

シグニチャ プロパティが Properties ビューに表示されます。

ステップ 8 シグニチャ プロパティを編集します。

プロパティの説明については、「DSS シグニチャ」を参照してください。

ステップ 9 ストリング照合型シグニチャまたはペイロード長シグニチャを選択した場合は、詳細検査条件ノードをクリックして詳細検査条件プロパティを編集します。

詳細検査条件プロパティが Properties ビューに表示されます。

プロパティの説明については、「DSS 詳細検査条件」を参照してください。

ステップ 10 詳細検査条件、詳細検査句、シグニチャ、プロトコルを必要に応じてさらに追加します。

ステップ 11 ツールバーの ([Save])をクリックします。

プロトコル名またはプロトコル ID が重複している場合は、[Validation Error] メッセージが表示されます(図 12-11)。

図 12-11 [Validation Error]

 

[OK] をクリックして重複を解決してから、 ([Save])を再びクリックします。

[Save As] ダイアログボックスが表示されます。

ステップ 12 新しい DSS ファイルを保存するフォルダを選択します。

ステップ 13 DSS ファイルの適切な名前を [File name] フィールドに入力します。

ステップ 14 [Save] をクリックします。

[Save As] ダイアログボックスが閉じます。

DSS ファイルが保存されます。


 

DSS ファイルの編集

既存の DSS ファイルを編集して新しいプロトコルを追加したり、既存プロトコルの修正または削除を行ったりすることができます。


注意 Signature Editor で DSS ファイルを開いている場合は、そのファイルを保存してから別の DSS ファイルを開いてください。保存していないすべての変更内容は失われます。


ステップ 1 ツールバーの ([Open a DSS File])をクリックします。

[Open] ダイアログボックスが表示されます。

ステップ 2 編集する DSS ファイルを選択します。

ステップ 3 [Open] をクリックします。

[Open] ダイアログボックスが閉じます。

選択したファイルの DSS コンポーネント ツリーが Script ビューに表示されます。

DSS ファイル ノードが選択され、DSS ファイルのプロパティが Properties ビューに表示されます。

ステップ 4 DSS ファイル コンポーネントの追加、編集、削除を行います。

さまざまなコンポーネントのプロパティの説明については、「DSS ファイルのコンポーネント」のサブセクションを参照してください。

ステップ 5 修正した DSS ファイルを保存します。

変更内容で現在の DSS ファイルを上書きするには、次のように操作します。

ツールバーの ([Save])をクリックします。

DSS ファイルの変更が保存されます。

修正した DSS ファイルを新しい名前で保存するには、次のように操作します。

1. [File] > [Save As] の順に選択します。

[Save As] ダイアログボックスが表示されます。

2. 新しい DSS ファイルを保存するフォルダを選択します。

3. DSS ファイルの適切な名前を [File name] フィールドに入力します。

4. [Save] をクリックします。

[Save As] ダイアログボックスが閉じます。

修正した DSS ファイルが新しい名前で保存されます。


 

DSS ファイルのインポート

現在編集しているファイルに DSS ファイルをインポートできます。


) シグニチャをインポートすると、プロトコル名またはプロトコル ID が重複することがあります。



ステップ 1 Console のメイン メニューで、[File] > [Import] の順に選択します。

[Import] ダイアログボックスが表示されます(図 12-12)。

図 12-12 [Import]

 

ステップ 2 インポート元リストから [Import protocols from one DSS file to another DSS] を選択します。

ステップ 3 [Next] をクリックします。

[Import] ダイアログボックスの第 2 画面が表示されます(図 12-13)。

図 12-13 [Import Protocols from One DSS File to Another]

 

ステップ 4 [Choose File] をクリックします。

[Open] ダイアログボックスが表示されます。

ステップ 5 インポートする DSS ファイルを選択します。

ステップ 6 [Open] をクリックします。

[Open] ダイアログボックスが閉じます。

選択した DSS ファイルに関する情報が、[DSS File Information] 領域に表示されます(図 12-14)。

図 12-14 [Import Protocols from One DSS File to Another]

 

ステップ 7 [Finish] をクリックします。

[Import] ダイアログボックスが閉じます。

選択した DSS ファイルの内容が Signature Editor にインポートされます。