Snortの特徴
ここまでIDSについて簡単に解説をしてきた。これからはこの連載で取り上げるSnortについて簡単に紹介をしていく。次回以降、詳細な解説をしていく予定である。
●フリーソフトである
SnortはGPL(GNU Public License)で配布されているため、当該ライセンスを順守している限り、自由に使用することができる。これはSnortが個人でも気軽に使用できるということを示している。
もし、GPLが悪影響を及ぼすような場合は、商用版のSnortを選択することも可能である(この連載では商用版についての解説は行わないので注意してほしい)。
●パケットスニファ/パケットロガーとしても使用できる
そもそもSnortはパケットスニファ/パケットロガーとして開発された。Snortをコマンドラインから適切なオプションを付けて実行すれば、すぐに高機能なパケットスニファ/パケットロガーとして使用可能である(ただし、パケットスニファ/パケットロガーとしての使用方法については、この連載では触れない)。
●豊富なプリプロセッサが用意されているため、柔軟な解析を行うことができる
Snortにはプリプロセッサという概念がある。このプリプロセッサは、パケットのデコードが行われた後に実行され、プリプロセッサが実行された後にSnortの侵入検知エンジンが実行される。
プリプロセッサには下記のようなものが用意されている。ここで紹介したものを含め、プリプロセッサについての詳細は、Tarball中に含まれる「snort_manual.pdf」を参照していただきたい(英文だが、設定方法を含め、詳しく書かれている)。
portscan:ポートスキャンの検出を行う
frag2:IPフラグメントの再構築を行う
stream4:TCPストリームの再構築とステートフルな解析を行う
telnet_decode:Telnetの制御文字を正規化する
●豊富なアウトプットプラグインが用意されているため、さまざまな形式でアラートを出力することができる
Snortには豊富なアウトプットプラグインが用意されており、それらを使うことでさまざまな形式でアラートを出力することができる。テキスト形式のほかにもバイナリ形式、XML、データベースなどにも出力できるため、アラートの利用目的や連携するツールに合わせた柔軟な運用を行うことができる。
この連載では、Snortをデータベース(MySQL)とACIDというツールと組み合わせた運用について解説していく予定であるが、このようなことが可能となるのもこのアウトプットプラグインのおかげなのである。
●さまざまなOS上で動作する
SnortはGNU/Linux、Windows(NT/2000/XP)、*BSD(FreeBSD、OpenBSD、 NetBSDなど)、UNIX(Solaris、SunOS、IRIXなど)で動作する。つまり、IDS管理者が最も得意とするOS上でSnortを運用することができる。
●さまざまなプロトコルに対応している
SnortはTCP、UDP、ICMP、IPの解析を行うことができる。通常の運用上はこれで十分なはずである。これ以外のプロトコルについては解析が行われない。記録のみが行われ、Snortは統計解析にのみこれらの情報を使用する。
Snortに関する情報源
最後にSnortに関する情報源を2つ紹介しておきたいと思う。
- ■Snort(http://www.snort.org/)
Snortのオフィシャルサイト。Snortに関する最新の情報はここにあると考えて間違いない。最新のルールファイルもここから入手できる。 - ■日本Snortユーザ会(http://www.snort.gr.jp/)
日本語でSnortに関する情報を交換するなら外せない。初心者から上級者まで、どんなレベルでも参加しやすい空気が漂っている。
もしSnortについての知識を深めたいのであれば、日本Snortユーザ会に入会することを強くお勧めする。上級者にとっては非常にコアな情報を日本語で交換できるという大きなメリットがあるだろう。初心者にとっては上級者からの有益な情報を得る貴重な場になるであろう(ただし、自助努力を怠った場合はこの限りではない)。
今回はIDSとSnortについて簡単に紹介した。次回は、実際にSnortをインストールする方法について解説していく。GNU/LinuxシステムとWindowsで、SnortとACIDを用いたIDS構築を行う予定だ。
関連記事
Copyright © ITmedia, Inc. All Rights Reserved.