それではSnortのインストール方法について解説しよう。Snort自体のインストールもlibpcapと同様にconfigureスクリプトを使用することによって行う。libpcapのときは特にconfigureオプションを指定しなかったが、アラートをMySQLのデータベースに出力するようにしたいため、configureオプションを指定する必要がある。
まずはSnortの公式サイトより、最新版のSnortを入手する。公式サイトにアクセスし、ページの左側にある「>> Downloads」というリンクをクリックする。「Welcome to the Snort downloads center」と書かれたページが表示されたら、そのページの下の方を見てほしい。「snort-2.1.3.tar.gz」というリンクをクリックすることにより、最新版のSnortを入手することができる。
参考までに、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に出力されているメッセージも参考になるかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.