連載
» 2004年09月11日 10時00分 公開

Snortでつくる不正侵入検知システム(2):Snortのインストールと初期設定 (2/3)

[早川勇太,@IT]

Snortのインストールと設定

 それではSnortのインストール方法について解説しよう。Snort自体のインストールもlibpcapと同様にconfigureスクリプトを使用することによって行う。libpcapのときは特にconfigureオプションを指定しなかったが、アラートをMySQLのデータベースに出力するようにしたいため、configureオプションを指定する必要がある。

 まずはSnortの公式サイトより、最新版のSnortを入手する。公式サイトにアクセスし、ページの左側にある「>> Downloads」というリンクをクリックする。「Welcome to the Snort downloads center」と書かれたページが表示されたら、そのページの下の方を見てほしい。「snort-2.1.3.tar.gz」というリンクをクリックすることにより、最新版のSnortを入手することができる。

Snort

http://www.snort.org/


 参考までに、wgetを用いた入手方法も併せて説明しておく(URIは2004年8月1日現在のもの)。ちなみにSnortを入手した後、すぐにインストールを行うのは避けた方が望ましい。tarballと一緒にMD5/SHA1のチェックサムあるいはPGPのシグネチャを入手し、検査を行った方がよい。

$ wget -q http://www.snort.org/dl/snort-2.1.3.tar.gz
$ wget -q http://www.snort.org/dl/snort-2.1.3.tar.gz.md5
$ cat ./snort-2.1.3.tar.gz.md5
md5 : 76a538d27c23d51dbed43b04c06114e1 snort-2.1.3.tar.gz
sha1 : 34859591085607d964f063a404ea06e597ba6df6 snort-2.1.3.tar.gz
$ /usr/bin/md5sum ./snort-2.1.3.tar.gz
76a538d27c23d51dbed43b04c06114e1 snort-2.1.3.tar.gz
$ /usr/bin/sha1sum ./snort-2.1.3.tar.gz
34859591085607d964f063a404ea06e597ba6df6 snort-2.1.3.tar.gz

 md5sumを用いることでMD5のチェックサムを、sha1sumを用いることでSHA1のチェックサムを確認することができる。万が一、チェックサムの値が異なる場合は、絶対にインストールしてはならない。

 正常なtarballを入手できたら、configureスクリプトを実行する。先に述べたとおり、MySQLにアラートを出力できるようにするために、「--with-mysql」オプションを指定する。今回はMySQLを使用する場合について説明したが、PostgreSQLやOracleなどに出力する場合も、同様の方法でオプションを指定すればよい。

 なお、すでにMySQLがセットアップされており、「snort」というMySQLユーザーが作成されていることを前提としている。また、「snort」というデータベースが作成されており、MySQLユーザー「snort」にSELECT/INSERT/UPDATE/DELETE権限が付与されていることも前提としている。まだ準備ができていないなら、下記の手順を行う前に環境を整えておいてほしい。

$ ./configure --with-mysql=yes
(configureスクリプトによる出力が続く)
$ make
(makeによるコンパイル関連の出力が続く)
$ /bin/su
Password:(ここでrootのパスワードを入力)
# make install
(makeによるインストール関連の出力が続く)

 正常にインストールが終了したら、Snortの実行ユーザーとグループを作成しておく。ここでは「snort」というユーザーおよびグループを作成する。

# /usr/sbin/groupadd snort
# /usr/sbin/useradd -g snort -s /bin/false snort

 次にtarball中に含まれている「etc/」ディレクトリの中身と「rules/」の中身を任意の場所にコピーする。併せてログの出力ディレクトリも作成しておく。

# mkdir /etc/snort
# cp etc/* rules/* /etc/snort
# mkdir /var/log/snort
# chown snort:snort /var/log/snort

 続いて、アラート出力用のテーブルを作成する。tarball中に「contrib/」というディレクトリが存在していると思う。その中に、「create_mysql」というファイルが存在するので、それを実行すればよい。

$ mysql -D snort -u root -p < contrib/create_mysql

 さらに、設定ファイルを編集する。「/etc/snort」にコピーした「snort.conf」が設定ファイルである。これを任意のエディタで開き、下記の個所を編集する。

修正前:

var HOME_NET any

修正後:

var HOME_NET $eth0_ADDRESS(監視対象のNICを指定する場合)

または

var HOME_NET 192.168.0.0/24(ネットワークのアドレスを指定する場合)


修正前:

var RULE_PATH ../rules


修正後:

var RULE_PATH /etc/snort


修正前:

# output database: log, mysql, user=root password=test

dbname=db host=localhost


修正後:

output database: log, mysql, user=snort password=snort

dbname=snort host=localhost


 以上で最低限の設定は終了となる。起動するには、下記のようにコマンドを入力する。

$ /usr/local/bin/snort -c /etc/snort/snort.conf -i eth0 -u snort -g snort -l /var/log/snort -Dde -y

 これでデーモンとしてSnortが起動する。もし正常に起動しなかった場合は、設定ファイルに誤りがないかを確認してほしい。また/var/log/messagesに出力されているメッセージも参考になるかもしれない。

Index

Snortのインストールと初期設定

Page1

GNU/Linuxシステムでの導入方法

libpcapの入手とインストール

libpcreの入手とインストール


Page2

Snortのインストールと設定


Page3

Windowsでの導入方法


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。