がらくたネット

アフィリエイト広告を利用しています


Snort

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.orgのダウンロードはamazonを利用しているのでダウンロードファイル名に長い文字列が付与されることが多い。その時はmvコマンドでリネームしておく

これで環境は整った。
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

  1. BASEとは

Basic Analysis and Security Engineの事で、 Analysis Console for Intrusion Databases (ACID)から作成されている。Snort IDSのWEB Front-Endとして利用する。Snortから送られたAlertをDatabaseから読み取る。 ここ 日本語にも対応している。