SnortCenterによるメンテナンス


IDSを効果的に運用するためには、絶えずルールセットをメンテナンスしなければならない。この点に関して Snort は非常に優れており、利用者が自在にルールを記述し Snort に与えることが可能である。しかしながらNIDSのルールセットは膨大な量のルールから構成されており。Snort の推奨ルールセットでも2000ルールを越える。1台の Snort センサーであれば、簡易的なツールを利用してメンテナンスを行なうことも可能だろうが、クラスタ構成や分散配置構成による多数の Snort センサーをメンテナンスする場合など、とても現実的な手法とはいえない。

SnortCenter ではそれらの問題を解決するべく、Snort センサーのルールセットメンテナンス作業の効率化を目的として構築されたソフトウェアシステムである。ここでは SnortCenter の取り扱い方法の一部について解説する。

1.センサーの管理
SnortCenterにログインした後の初期画面は以下のようになる。



この例では10台のSnortセンサー PC01〜PC10 までが表示されている。センサー名が緑背景で表示されている物は現在Snortプロセスが起動している状態を示したものである。

1台のセンサーについて、画面左側より、選択用チェックボックス、センサーの設定、センサー名、センサーの状態、センサーを起動・停止・再起動を行なうためのリンク、ルールセットのアップデート、表示、ダウンロードを行なうためのリンク、そしてセンサーのPC本体のシステム情報表示のためのリンクの順に並ぶ。

画面上のメニューバーには、センサー管理、ルールセットの割当て設定、ルールセット自体のメンテナンス、そして管理が並ぶ。

まず適当なセンサーの設定を行なってみる。センサー名の左に表示されたノートマークをクリックして、設定画面を表示させる。



この画面でSnortプロセスに与えるパラメータと、各センサーで起動しているSnortCenterAgentの設定を行なう。通常この画面でなんらかの作業を行なうことは稀であろう。

[SensorConsole]メニューから[View Sensors]を選んで元の画面に戻る。



各センサーのSnortプロセスを再起動したい場合、該当するセンサー列の[SnortControl]フィールドにある[Restart]をクリックする。数十秒程度で再起動が完了するはずである。同様にSnortプロセスを停止する場合は[Stop]をクリックする。
また新しいルールをセンサーに適用するのであれば、[SnortConfigurationFile]→[Push]をクリックしてから、[Restart]をクリックする。

しかしながら、この例のように10台もセンサーのある環境で、いちいち1台ずつ再起動することはあまり効率的でない。そこで各センサーの左端にあるチェックボックスを上手く利用する。チェックボックスをチェックして、画面下のセレクトボックスから[Push & Restat]を選択すれば良いのである。チェックボックスをいちいちチェックするのが面倒であれば、画面下の[Select]で総てのセンサーに一気にチェックを入れてもよい。

センサーに対する基本的な操作は以上のとおりである。

2.ルールセットの割当て
続いてルールセットの割当てについて解説する。

初期画面から[SensorConfig]→[RuleSelection]を選択すると以下の画面が表示される。

画面中央左側[SensorScope]のセレクトボックスで割当てを行なう対象のセンサーを選択し、左側のウィンドウでそれぞれのルールの虫ピンでこのセンサーに与えるか選択する。緑のチェックが入っているものは割当て済み、黒の×は未割当てである。

[CategoryScope]は目的とするルールを探すための補助となる。これによってルールのカテゴリを選択し絞り込むことにより、目的のルールまで素早くたどり着くことができるだろう。




この例では、別途ルールポリシに従ってルールセットを与えているので、この画面で直接ルールの割当てを行なうことは無いだろう。

画面左側下にあるノートマークをクリックする。



上記のようなルールポリシの設定画面が表示されているだろう。

ルールポリシは、複数台のSnortセンサーが存在する場合に、何台にまとめて同じルールセットの構成を与える際のグルーピング機能である。このポリシが適用されたSnortセンサー総てに、ルールポリシで作成されたルールセットが与えられる。

現在画面にはすべてのルールが表示されている。左上の[CategoryScope]のセレクトボックスで、目的とするルールのカテゴリを選択し、ルールを適用するなら×マークをクリックし、ルールを除外するのなら虫ピンマークをクリックする。こ
ここでもセンサーの管理と同様に、書くルールの左側にあるチェックボックスと画面下にあるセレクトボックスで、複数のルールに対して一括で適用・除外の操作が可能である。

この操作によってルールのメンテナンスを行い、センサー一覧から[Push&Restart]を行なえば、ルールがセンサーに転送されて、新しいルールでSnortに適用される。

3.ルールのメンテナンス


[Resources]→[Rules]→[ViewRules]と選択することにより上記の画面が表示される。

この画面ではそれぞれのルールに対してメンテナンスを行なうことができる。

適当なルールの[ ]ノートマークをクリックすることで、ルールの詳細が表示される。

もしも新たにルールを作成したい場合は[Resources]→[Rules]→[CreateRule]と選択することで、空のルールの詳細表示がされる。



この画面は Snort のルール記述法に従って構成されている。詳しい解説は Snort のマニュアルを参照すること。

Classificationの変更などはここから行なう。ここで修正された内容はすぐさまルールデータベースに反映されるので、修正後にセンサーに転送・再起動を行なうことで、Snortセンサーにも反映させることができる。

SnortCenterについては、いまのところまとまった操作ガイドが存在しない。他にもさまざまな機能を持っており、Snortのルールセットメンテナンスは総てSnortCenterを通して実施することができるので、必要に応じて各自で調査すること。

またSnortCenterはまだ不完全であり、各所に欠陥を認めることができる。しかしそれらはいづれも致命的ではないので、注意して操作すること。