ネットワーク不正侵入検知(NIDS)モードを有効にするには(これに よって、送信されるパケットを全部記録しなくて済みます)、 次のようにします:
./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf
ここでは snort.conf というのはルールファイルの名前です。snort.confファイルで 設定されたルールを各パケットに適用して、ファイル内のルールタイプに基づいて 動作を決定します。プログラム用の出力ディレクトリが特に指定されない場合、 標準の出力先ディレクトリとして/var/log/snortが設定されます。
最後のコマンドラインについて注意すべきことが一点あります。Snortを定常的に IDSとして運用する場合は、Snortの性能低下を避けるために、-vスイッチを コマンドラインから取り除くようにしてください。画面はデータ書き込みには 遅い場所なので、その間にパケットを取りこぼす可能性があります。
また、大部分のアプリケーションに対してデータリンクヘッダを記録する必要 もありませんので、-eスイッチを指定する必要もありません。
./snort -d -h 192.168.1.0/24 -l ./log -c snort.confこれで、Snortが最も基本的なNIDSモードで実行されるように設定され、ルール がSnortに伝えるパケットを平易なASCII形式でディレクトリ階層構造にログを 記録します。
SnortをNIDSモードで動作させる際、出力を設定する方法はたくさんあります。 デフォルトのログ取得およびアラートメカニズムは、デコード済みASCIIフォー マットで記録し、フルアラートを利用します。フルアラートメカニズムでは、 完全なパケットヘッダの他にアラートメッセージを出力します。2つのログ取得 機能に加えて、他にもいくつかコマンドラインで利用可能なアラート出力 モードがあります。
アラートモードはいくぶん複雑です。コマンドラインには6つのアラート モードが存在します。すなわち full, fast, socket, syslog, smb(WinPopup), noneの6つです。これらのモードのうち4つはコマンドラインの-Aスイッチで 指定できます。4つのオプションは次の通りです:
パケットの記録は標準ではASCII形式で行われますが、コマンドラインの-bスイッチを 用いてバイナリログファイルに記録するよう設定を変更できます。 パケットのログ取得をすべて無効にしたい場合は、コマンドラインで -Nスイッチを利用します。
設定ファイルを介して利用可能な出力モードについては、 第42節をご参照ください。なお、 コマンドラインのロギングオプションは設定ファイルに指定された あらゆるオプションより優先される点に留意してください。 これを活用すれば、コマンドラインから迅速に設定上の問題を デバッグできるようになります。
アラートをsyslogに送信するには、``-s''スイッチを利用します。syslogアラート メカニズム向けの標準のファシリティはLOG_AUTHPRIVとLOG_ALERTです。 syslog向けにその他のファシリティを設定したい場合は、rulesファイル内の 出力プラグイン・ディレクティブを利用してください。syslog出力の設定に ついて、詳しくは第2.5.1節をご参照ください。
最後に、SMBアラートメカニズムがあります。この機能を利用すると、Snortは Sambaに付属しているsmbclientを呼び出し、WindowsマシンにWinPopupアラート メッセージを送信できるようになります。このアラートモードを利用するには、 Snortをconfigureする際に--enable-smbalertsスイッチを有効に してください。
以下は、出力設定例の一部です。
./snort -c snort.conf -l ./log -h 192.168.1.0/24 -s
./snort -c snort.conf -A fast -h 192.168.1.0/24
./snort -c snort.conf -b -M WORKSTATIONS
Snortを(たとえば、100Mbps以上の帯域に対応するほどに)高速化したい場合、-bと-A fastスイッチまたは-s(syslog)オプションを利用します。これによって、パケットのログをtcpdump形式で取得し、アラート生成は最小限となります。例:
./snort -b -A fast -c snort.confこのような設定において、Snortは100Mbps LAN上でも最大約80Mbpsで、同時に 複数の探索および攻撃のログを取得できます。この設定では、ログはバイナリ 形式のtcpdump形式ファイルであるsnort.logファイルに書き込まれます。 このファイルを読み直し、そのデータをおなじみのSnort形式に変換するには、 -rオプションと普段利用するその他のオプションを併用し、データファイルに 対してSnortを再度実行するだけです。
例:
./snort -d -c snort.conf -l ./log -h 192.168.1.0/24 -r snort.logいったんこれを行えば、データはすべてデコードされた標準形式で ログ・ディレクトリに出力されます。すごいと思いませんか?
Snortがパケットにルールを適用するデフォルトの順序を好きになれない 利用者もいるはずです。デフォルトのルールの適用順序は、最初に Alertルール、次にPassルール、最後にLogルールという順序です。 この順序はいくぶん分かりにかもしれませんが、これはユーザが 百種類のalertルールを書いた後、わずか1つの誤ったpassルールで それらをすべて無効してしまうようなことを防止する安全設計なのです。 ルールタイプについて詳しくは、第2.2.1 節をご参照ください。
上級ユーザ向けに、デフォルトのルール適用順序をPassルール、Alertルール、 Logルールの順序に変更するために-oオプションが提供されています。
./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf -o