Dell Optiplex GXa |
Solaris 8 x86 6/00 |
戻る
snort-1.8p1
必要なソフトウェア:
tcpdump-3.6.2-sol8-intel-local.gz
libpcap-0.6.2-sol8-intel-local.gz
autoconf-2.13-sol8-intel-local.gz
m4-1.4-sol8-intel-local.gz
ftp://ftp.sunfreeware.com/pub/freeware/intel/8/
snort-1.8p1.tar.gz
http://www.snort.org/downloads.html
下準備:
(Solaris8にsnortを導入するには、事前にいくつかのユーティリティを入れておく必要
がある。)
tcpdumpのインストール
SuperUserになる。
$su
password:
アーカイブをダウンロードする。
# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/8/tcpdump-3.6.2-sol8-intel-local.gz
解凍する。
# gunzip /opt/pkg/tcpdump-3.6.2-sol8-intel-local.gz
インストールする。
# pkgadd -d tcpdump-3.6.2-sol8-intel-local
libpcapのインストール
アーカイブをダウンロードする。
# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/8/ibpcap-0.6.2-sol8-intel-local.gz
解凍する。
# gunzip /opt/pkg/libpcap-0.6.2-sol8-intel-local
インストールする。
# pkgadd -d libpcap-0.6.2-sol8-intel-local
Autoconfのインストール
アーカイブをダウンロードする。
# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/8/autoconf-2.13-sol8-intel-local.gz
解凍する。
# gunzip /opt/pkg/autoconf-2.13-sol8-intel-local.gz
インストールする。
# pkgadd -d autoconf-2.13-sol8-intel-local.gz
GNU m4のインストール
アーカイブをダウンロードする。
# wget ftp://ftp.sunfreeware.com/pub/freeware/intel/8/m4-1.4-sol8-intel-local.gz
解凍する。
# gunzip /opt/pkg/m4-1.4-sol8-intel-local.gz
インストールする。
# pkgadd -d m4-1.4-sol8-intel-local.gz
# exit
snort-1.8p1
コンパイル・インストール
作業ディレクトリを作成する。
$ mkdir /opt/src/snort
ディレクトリを移動する。
$cd /opt/src/snort/
アーカイブをダウンロードする。
$ wget http://www.snort.org/releases/snort-1.8p1.tar.gz
解凍展開する。
$ tar xozf snort-1.8p1.tar.gz
展開されたディレクトリに移る。
$ cd snort
最適化させる。
$ ./configure
コンパイルする。
$ make
SuperUserになる。
$ su
Password:
インストールする。
# make install
/bin/sh ./config.status --recheck
running /bin/sh ./configure --no-create --no-recursion
/bin/sh ./mkinstalldirs /usr/local/bin
./install-sh -c snort /usr/local/bin/snort
make install-man8
/bin/sh ./mkinstalldirs /usr/local/man/man8
./install-sh -c -m 644 ./snort.8 /usr/local/man/man8/snort.8
# exit
設定
参考:http://www.a-tone.com/taky/net/snort.html
参考:http://www.hawkeye.ac/micky/
SuperUserになる。
$ su
password:
シグネチャファイルを格納しておくディレクトリを作成する
# mkdir /usr/local/snort
ソースを展開したディレクトリ内にできているライブラリを、作成したディレクトリにコピーする。
# cp /opt/src/snort/snort/*.rules /usr/local/snort/
設定ファイルを同じところにコピーする。
# cp /opt/src/snort/snort/snort.conf /usr/local/snort/
もう一つの設定ファイルを同じところにコピーする。
# cp /opt/src/snort/snort/classification.config /usr/local/snort/
設定ファイルを編集する。
# vi /usr/local/snort/snort.conf
内容は以下のように
var HOME_NET 192.168.0.0/24
これは、自分のネットワークをサブネットで指定しているが、自分だけのログをとりたい場合
は以下のように設定する。
var HOME_NET 192.168.0.150/32
DNSも指定しておく。
var DNS_SERVERS 192.168.0.150/32
保存する。
ログを書き出すディレクトリを準備しておく。
# mkdir /var/log/snort
起動してみる。
# /usr/local/bin/snort -Dde -c /usr/local/snort/snort.conf -h 192.168.0.150/32 -l /var/log/snort
ログの確認
起動してしばらくすると、/var/log/snort/内にいろんなログがたまるようになる。
適当な端末からPortScanをかけてみると、見事に portscan.logの中に書き込まれ、
さらにその適当な端末のIPアドレスが名前になったディレクトリが作成される。その
中にそのIPアドレスのホストが何をしたのかが詳しくログに残っている
。。。。すごい!。。。。
Bugか?
起動させて放っておくと、約2時間で勝手にsnortが終了してしまっていることが判明。
(これはLinuxでも同じだった) これでは意味がないので、cronを使って1時間に一度
snortをリスタートさせる。
終了スクリプトsnort_stop.shを/etc/内に作成する.
# vi /etc/snort_stop.sh
内容は以下のように。
#!/bin/sh
pkill snort
起動スクリプトsnort_start.shを/etc/内に作成する。
# vi /etc/snort_start.sh
内容は以下のように。
#!/bin/sh
/usr/local/bin/snort -Dde -c /usr/local/snort/snort.conf -h 192.168.0.150/32 -l /var/log/snort
cronに上記2つのスクリプトを1時間に一度実行するように環境変数を
viにしつつ書き込む。
# EDITOR=/usr/ucb/vi crontab -e root
内容は以下の最下2行を追加して保存する。
10 3 * * 0,4 /etc/cron.d/logchecker
10 3 * * 0 /usr/lib/newsyslog
15 3 * * 0 /usr/lib/fs/nfs/nfsfind
1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
1 * * * * /etc/snort_stop.sh
1 * * * * /etc/snort_start.sh