2001年11月25日 更新

パケット解析方法


Log解析方法での侵入検知は比較的容易に導入が可能です。なぜならそれらのログは別段意識することなく、各種のサービスが出力しているので、それらのログを見ながら実際の攻撃に対する対応を考えていくことが可能です。
弱点としてはどうしてもログを基本情報にするため、リアルタイム性に弱くならざる終えません。
それに対してパケット解析(パケットキャプチャ)方式でのIDSでは、今まさに発生しているパケットをリアルタイムに解析することで、侵入や攻撃かを判断します。当然、これを構築する為には各種の攻撃パケットの特徴やTCP/IPに関する理解が必要になってきます。
ここで紹介するパケットキャプチャ方式のIDSはsnortと呼ばれるものです。
snortに関する情報は http://www.snort.org/ です。
snortはUNIX以外にWindowsプラットホームでも動作するので、比較的容易に導入することが可能です。またキャプチャルールに関しても多くのルールが公開されているいるので、初めてIDSを導入する方にはお勧めだと思います。(ただし正しく利用するにはそれなりの知識が必要なことには変わりありません)

■snortの入手

http://www.snort.org/ から最新版を入手できます。
2001年11月26日現在、
 snort本体・安定版: snort-1.8.2.tar.gz
 ルールファイル: snortrules.tar.gz
が最新です。
なおsnortを動作させる為には、libpcapが必要ですので、お使いのディストリビューションのホームページから最新のlibpcapをダウンロードしてインストールしておいてください。既にlibpcapがインストールされているか確認する場合には、
 # rpm -q libpcap (linuxの場合)
としてバージョンが表示されればOKです。

■snortのコンパイル

上記のサイトからソースを入手したら、解凍してコンパイルします。
 # tar zxvf snort-1.8.2.tar.gz
 # cd snort-1.8.2
 # ./configure
 # make
 # make install

次にルールファイルを/usr/local/etc/snortディレクトリに解凍します。
 # mkdir /usr/local./etc/snort
 # cd /usr/local/etc/snort
 # tar zxvf /tmp/snortrules.tar.gz

/usr/local/etc/snort/snort.confを修正します。

■snort.confの編集

取りあえず以下のパラメータだけ設定すれば動作します。
var HOME_NET xxx.xxx.xxx.xxx/zz

xxxにはIPアドレス、zzにはサブネットマスクにビット長として、自分自身(Snortがいるネットワーク)のネットワークアドレスを指定します。(例、var HOME_NET 192.168.1.0/24)

■snortのLogディレクトリ作成

Snortが起動されると、/var/log/snortディレクトリ下に、セキュリティログを残します。そこで、予めこのディレクトリを作成しておく必要があります。
 # mkdir /var/log/snort

■snortの起動

スーパーユーザモードから、
 # /usr/local/bin/snort -c /usr/local/etc/snort/snort.conf
で起動します。 オプションで-Dを指定することでデーモンとして起動することも可能です。