Snort
環境CentOS5.5 x86の最小限
Require
- Libcap パケットキャプチャー用API
- PCRE Perlの正規表現ライブラリ
- Libnet C言語用のネットワークAPI
- Barnyard Snortの出力で利用
Libcapは元々入っていた。libcap-1.10-26-i386
PCREは元々入っていた。pcre-6.6-2.el5_1.7-i386
DAGのリポジトリをインストール # rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # yum install libnet libnetfilter_conntrack libnetfilter_conntrack-devel Barnyardをダウンロードしてインストール # wget http://www.snort.org/downloads/74 # tar zxvf barnyard-0.2.0.tar.gz # cd barnyard-0.2.0 # ./configure # make # make install
これで環境は整った。
Snortをダウンロードするのだが、RPMパッケージが用意されているのでこれを利用する
Snortをダウンロードしてインストール # wget http://www.snort.org/downloads/112 # rpm -ihv snort-2.8.6.1-1.RH5.i386.rpm
- snortユーザとグループが作成される
- 設定ファイルは/etc/snort
- ログファイルは/var/log/snort
- ログローティションが/etc/logrotate.d/snortに作成される
- initスクリプトが/etc/rc.d/init.d/snortとして作成される
- 規定値が/etc/sysconfig/snortとして作成される
- バイナリは/usr/sbin/snort-plain
Snortにはルールセットが同梱されていないため、Sourcefire VRT Certified Rulesと呼ばれるルールセットをダウンロードしてインストールする。VTRとはSourcefire Vulnerability Research Teamのことでsnort.orgのオフィシャルルールセットとなる。ダウンロードするためには、Snort.orgに登録しなければいけない。 登録は無料で可能。有償ユーザとの違いはオフィシャルルールセットが更新されてから無料ユーザには数日後に反映される点。
登録後、ルールセットをダウンロードしてインストールする。
サイトからダウンロードしたルールセットをサーバに展開 # tar zxvf snortrules-snapshot-2861.tar.gz # cp rules/*.rules /etc/snort/rules # mkdir /etc/snort/so_rules # cp so_rules/precompiled/CentOS-5.0/i386/2.8.6.1/* /etc/snort/so_rules # mkdir /etc/snort/preproc_rules #cp preproc_rules/* /etc/snort/preproc_rules # vi /etc/snort/snort.conf var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules # service snortd restart
動作確認
# vi /etc/snort/snort.conf 最終行に以下追加 alert icmp $HOME_NET any -> $HOME_NET any # service snortd restart # tail -f /var/log/snort/alert
端末からpingを実行する
ちゃんと検知していたら
09/02-14:32:48.851826 [Priority: 0] {ICMP} 172.16.1.YYY -> 172.16.1.XXXが表示されているはず。
確認したらsnort.confを元に戻しておく
Oinlmaster
ルールセットの自動更新ツールOinkmasterを設定する。
Snort.orgにサインイン後、MyOinkcodeから「Generate code」でコードを生成する。
Oinkmasterはhttp://oinkmaster.sourceforge.net/download.shtml|ここからダウンロードしてインストールする
# wget http://downloads.sourceforge.net/project/oinkmaster/oinkmaster/2.0/oinkmaster-2.0.tar.gz?r=http%3A%2F%2Foinkmaster.sourceforge.net%2Fdownload.shtml&ts=1283405881&use_mirror=jaist # tar zxvf oinkmaster-2.0.tar.gz # chown snort: oinkmaster.pl # chown snort: oinkmaster.conf # cp oinkmaster.pl /usr/local/bin # cp oinkmaster.conf /usr/local/etc # vi /usr/local/etc/oinkmaster.conf url = http://www.snort.org/pub-bin/oinkmaster.cgi/<oinkcode>/snortrules-snapshot-2860.tar.gz
BASE
- BASEとは
Basic Analysis and Security Engineの事で、 Analysis Console for Intrusion Databases (ACID)から作成されている。Snort IDSのWEB Front-Endとして利用する。Snortから送られたAlertをDatabaseから読み取る。 ここ 日本語にも対応している。