このオプションはシグネチャのIDを指定する。指定方法は「sid:<VALUE>」となり、<VALUE>の部分にはシグネチャのIDを指定する。なお、独自に作成したルールの場合は、1,000,000以上を指定するのが望ましい。
なぜそのようにする方がよいのか疑問に思われた方がいらっしゃるかもしれない。実は、sidについては下記のようなルールが存在しているのである。
〜99: 予約済み
100〜1,000,000: Snort.org 公式配布ルール用
1,000,000〜: カスタムルール用
このオプションは当該ルールのリビジョン番号を指定する。指定方法は「rev:<VALUE>」となり、<VALUE>の部分にはリビジョン番号を指定する。
このオプションはルールの優先順位を指定する。指定方法は「priority:<VALUE>」となり、<VALUE>の部分には優先順位を数値で指定する。
このオプションは当該ルールのクラスやカテゴリの分類を行う。指定方法は「classtype:<VALUE>」となり、<VALUE>の部分にはクラスを表す文字列を指定する。クラスを示す文字列についての詳細は既存のシグネチャを参照していただきたい。
このオプションは外部に存在する情報への参照を記載する。使用方法についての説明は割愛させていただく。必要な場合は、既存のシグネチャを参照していただきたい。
このオプションは当該シグネチャがマッチした場合に、アラートとして出力する文字列を指定するものである。指定方法は「msg:<VALUE>」となり、<VALUE>の部分には出力する文字列を指定する。
このオプションは当該シグネチャがマッチした場合、すべてのパケットをこのオプションで指定したファイルに出力する。指定方法は「logto:<VALUE>」となり、<VALUE>の部分には記録ファイルへのパスを指定する。
今回はシグネチャの構成について解説した。今回解説を行ったもの以外にもいくつかのオプションが存在しているが、通常は今回解説したオプションで事足りるだろう。興味のある方はご自身で調べていただければ、さらに幅が広がることであろう。
今回の解説と実際のシグネチャを見ることで、自分独自のシグネチャを作成できるようになると思う。最初はあまり凝ったものは作れないかもしれないが、簡単なものから始めて徐々に複雑なものにステップアップしていけばよいと思う。
もし、変わったシグネチャをお探しなら、日本Snortユーザ会のメーリングリストの過去ログをチェックしてみてほしい。
現在、日本Snortユーザ会のSigs-wgにて、シグネチャデータベースの日本語化プロジェクトが進行中である。このプロジェクトはまだ準備段階であるが、近日中に何らかの形で皆さまにお見せすることができると思う。
次回はいよいよ最終回となる。次回はWindows/Linuxを問わず、Snortと連携して使用可能なツールについて紹介していきたいと思う。
独自ルールファイルで細かなチューニング
Page1シグネチャの構成
ルールヘッダ:ルールアクション
ルールヘッダ:プロトコル
ルールヘッダ:ソース/ディスティネーションIPアドレス
ルールヘッダ:ポート番号
ルールヘッダ:方向指示子
ルールボディ:contentオプション
ルールボディ:uricontentオプション
ルールボディ:depthオプション
ルールボディ:offsetオプション
ルールボディ:nocaseオプション
ルールボディ:sessionオプション
ルールボディ:statelessオプション
ルールボディ:regexオプション
ルールボディ:flowオプション
ルールボディ:fragbitsオプション(IPオプション)
ルールボディ:sameipオプション(IPオプション)
ルールボディ:ipoptオプション(IPオプション)
ルールボディ:IDオプション(IPオプション)
ルールボディ:tosオプション(IPオプション)
ルールボディ:ttlオプション(IPオプション)
ルールボディ:seqオプション(TCPオプション)
ルールボディ:flagsオプション(TCPオプション)
ルールボディ:ackオプション(TCPオプション)
ルールボディ:icmp_idオプション(ICMPオプション)
ルールボディ:icmp_seqオプション(ICMPオプション)
ルールボディ:icodeオプション(ICMPオプション)
ルールボディ:itypeオプション(ICMPオプション)
Page4
ルールボディ:sidオプション
ルールボディ:revオプション
ルールボディ:priorityオプション
ルールボディ:classtypeオプション
ルールボディ:referenceオプション
ルールボディ:msgオプション
ルールボディ:logtoオプション
Copyright © ITmedia, Inc. All Rights Reserved.