第15章 カスタム デバイスの設定
ユーザ定義のログ パーサー テンプレートの追加
MARS では、ネットワーク トポロジーに任意の SYSLOG または SNMP(簡易ネットワーク管理プロトコル)デバイスを追加して、MARS にデータを報告したり、フリー形式クエリーを使用してデータを問い合わせるように設定したりすることができます。
ユーザは MARS が任意のログからセッション情報取得して解析できるように、着信データ フォーマットを指定する必要があります。
ユーザが定義したログ パーサー テンプレートを追加する手順は、次のとおりです。
ステップ 1
デバイスまたはアプリケーション タイプを追加します。
ステップ 2
ログ パーサー テンプレートを追加します。
ステップ 3
上記のカスタム デバイス タイプまたはアプリケーション タイプのデバイスを追加します。
カスタム デバイス/アプリケーション タイプの追加手順
ステップ 1
Admin >Custom Setup タブに移動します。
ステップ 2
User Defined Log Parser Templates をクリックします。
図 15-1 ユーザ定義のログ パーサー テンプレート

ステップ 3
次の画面で、Device/Application type リストの横にある Add ボタンをクリックします。
図 15-2 デバイス タイプの定義

ステップ 4
Type(Appliance または Software)を選択します。
・
Appliance - MARS アプライアンスにログを送信できるハードウェア デバイス
・
Software - ホストで稼働するアプリケーション。ホストは MARS アプライアンス にログを送信するように設定できます。
ステップ 5
Vendor、Model、および Version にデバイスまたはアプリケーションのベンダー、モデル、バージョンをそれぞれ入力します(Cisco PIX 7.0 など)。
ステップ 6
Submit をクリックします。
図 15-3 ユーザ定義のデバイス/アプリケーション タイプ

デバイス/アプリケーション用パーサー テンプレートの追加
ステップ 1
Admin > Custom Setup タブに移動します。
ステップ 2
User Defined Log Parser Templates をクリックします。
ステップ 3
ドロップダウンで、新規に作成された、または既存のデバイスまたはアプリケーションを選択します。
Step 4
ログ テンプレートを追加するには、Log Template 領域内の Add をクリックします。
ログ テンプレートは、解析する特定のメッセージに直接関連付けられます。ログ テンプレートは、メッセージの内容を示す 1 つまたは複数の Event Type で構成されます。MARS は Event Types を使用して、受信したメッセージを解析します。
ステップ 5
ログ メッセージを識別するタグとなる Log ID を入力します。
Log ID フィールドを使用すると、このメッセージ番号、またはデバイスで使用されている別の名前を、作成中のカスタム イベント タイプに対応付けることができます。この値を使用すると、カスタム イベント タイプを作成したデバイス メッセージを明確にすることができます。
ステップ 6
Description に、ログ メッセージの説明を入力します。
ステップ 7
Event Type にログを対応付けます。

注
MARS アプライアンスには、出荷時に複数の Event Type が定義されています。これらを表示するには、Event Type 選択ウィンドウの上にあるリストで、System(など)を選択して、Get をクリックします。
ステップ 8
Event Type リストの下にある Add をクリックして、新しい Event Type を追加します。
図 15-4 ログとイベント タイプのマッピング

図 15-5 イベント タイプの定義

ステップ 9
新しい Event Type および情報を追加して、Submit(任意)をクリックします。
ステップ 10
Apply をクリックします。Patterns リンクがイネーブルになります。
ステップ 11
Patterns リンクをクリックします。
図 15-6 イベント パターンの定義

ステップ 12
Add をクリックして、パターンを入力します。
上の例では、イベントで報告された次のような未処理メッセージと一致するように、解析パターンが指定されています。
Teardown TCP connection 1000 faddr 67.126.151.132/80 gaddr 198.133.219.28/43246 laddr 10.1.1.30/890 (sudha) duration 01:00:02 bytes 1000000 (TCP FINs)
ステップ 13
まず、解析してMARS イベントに格納する必要があるログ内の値を識別します。
ステップ 14
現在、MARS はイベント内で次の解析値フィールドをサポートしています。
・
送信元アドレス
・
宛先アドレス
・
送信元ポート
・
宛先ポート
・
プロトコル
・
NAT(ネットワーク アドレス変換)送信元アドレス
・
NAT 宛先アドレス
・
NAT 送信元ポート
・
NAT 宛先ポート
・
NAT プロトコル
・
デバイスのタイム スタンプ
・
セッションの期限
・
受信時のタイム スタンプ
・
交換されたバイト数
・
報告されたユーザ
ステップ 15
現在、解析フォーマットは複数の KEY パターンのあとに、VALUE パターンが続く構成になっています。KEY と VALUE の両方のパターンは、Perl 互換の正規表現のライブラリ PCRE に基づく正規表現です(構文の詳細については、付録 D「正規表現リファレンス」を参照)。KEY には空のストリングを指定できます。ログ フォーマットは複数の KEY-VALUE サブパターン ペアで構成されます。
図 15-7 ログのパターンの定義

ステップ 16
上記の例では、Position は各 KEY-VALUE サブパターン ペアの位置を表します。これらの KEY-VALUE サブパターン ペアは位置に従って順番に連結され、イベント内の未処理メッセージとの照合に使用されます。KEY と VALUE パターンの間、および KEY-VALUE サブパターン間には、任意の個数のスペース文字を挿入できます。
ステップ 17
上記の例の Key-Pattern 「Teardown」は、ワイルドカードまたは繰り返しを含まない単純な正規表現です。
ステップ 18
Parsed Field は、完全に解析された MARS イベントのフィールドの 1 つです。上記の例では、プロトコル フィールドが該当します。
ステップ 19
Value Type は、マッチング サブパターン ストリングに最適な解析アクションを適用できるように、予測値の種類についてパーサーに指示します。上記の値タイプとして「Protocol(String)を選択」して、プロトコル フィールドが UNIX システムのファイル /etc/protocols で定義されたストリング形式であることを指示します。たとえば、「TCP」は値パターンでキャプチャされるストリングです。Value Type は、TCP がプロトコル番号 6 に変換されることを示します。
ステップ 20
Pattern Name は、ログ フォーマットを指定するユーザが使用可能な、標準の正規表現パターンに指定されるニーモニックです。適切な名前が設定された、複数の一般的な定義済みパターンがあります。Pattern Name リストの真下にある編集ボックスで、ログで一般に使用される値パターンを識別する新しい値名を追加することができます。上図の値パターンは、文字「-」、「/」、および「+」も含めて、すべてのワード ストリングをキャプチャします。
図 15-8 サブパターンの定義

ステップ 21
ログ フォーマットの 2 番めの位置では、上記 KEY-VALUE サブパターンを定義します。キー パターンは単なるストリングでなく、すべての符号なし 10 進数と一致する正規表現 \d+ です。上記の値が格納される解析フィールドは、ドット付きの 4 つの数字列として指定された送信元アドレスです。正しい範囲の IP アドレス(0.0.0.0 〜 255.255.255.255)のみをキャプチャする、ある程度複雑な正規表現であることに注意してください。
図 15-9 パターン定義の 3 番めの位置

ステップ 22
上記の例は、送信元ポートに対するものです。PORT_NUMBER は Pattern Nameであり、上記の Value Pattern および上記の Description に対して提供されます。
ステップ 23
Pattern definition のすべての位置で、手順を繰り返します。
図 15-10 上記の例は、12 からなる KEY-VALUE サブパターンです。

図 15-11 デバイス タイプ「Vendor1 Model1 1.2」のログ テンプレート

図 15-12 Apache Webserver アプリケーションに基づく新規ソフトウェア

図 15-13 Apache Webserver 1.1 のサンプル定義

ステップ 24
HTTP Status OK ログ メッセージ用のログ テンプレートを定義して、システム定義のイベント タイプを対応付けます。イベント タイプを検出するには、検索ストリング「HTTP Status」を指定して、上記のように定義されたイベント タイプを検出します。
ステップ 25
イベントで報告される次の例のような未処理メッセージと照合するように、「HTTP Status OK」の解析パターンを指定します。
155.98.65.40 - - [21/Nov/2004:21:08:47 -0800] "GET /~shash/ HTTP/1.0" 200 1633 "-" "Lynx/2.8.2rel.1 libwww-FM/2.14"
図 15-14 HTTP Status OK のキー パターン

ステップ 26
上記の例では、ログ メッセージの先頭が値パターンであるため、キー パターンは空です。
図 15-15 HTTP Status OK の 2 番めのキー パターン

ステップ 27
上記の Parsed Field は Date/Time フィールドです。Date/Time フィールドはさまざまな方法で指定できるため、Value Pattern だけでなく、値フォーマットも必須です。値フォーマットの指定方法の詳細については、付録 F を参照してください。いくつかのパターン名、および一般に使用される日付/時刻フォーマットがいくつか定義されています。
図 15-16 HTTP Status OK の 3 番めのキー パターン

図 15-17 HTTP Status OK のパターン ログ

図 15-18 Apache Webserver 1.1 のユーザ定義ログ パーサー

新しいカスタム デバイスまたはアプリケーションを追加する手順は、定義済みデバイスまたはアプリケーションを追加する手順と同様です。次に、新規にユーザが作成した Apache Webserver 1.1 を追加する例を示します。
ステップ 1
Admin タブに移動します。
ステップ 2
Security and Monitor Devices をクリックします。
ステップ 3
Add をクリックして、新しいデバイスを追加します。
ステップ 4
Device Type リストで、Add SW security apps on a new host を選択します。
ステップ 5
名前およびその他のホストの詳細情報を入力して、Apply をクリックします。
ステップ 6
Reporting Applications. をクリックします。
ステップ 7
リストで Application を選択し(Apache Webserver.1.1 など)、Add をクリックします。
図 15-19 MARS へのカスタマ アプリケーションの追加

ステップ 8
結果ウィンドウで Reporting Method(SNMP TRAP または SYSLOG)を選択し、Submit をクリックします。
ステップ 9
Done をクリックします。
