Snort + SnortSnarf に関するインストールメモ(2002/05/15) 
 

Snort を使う?

まったくもって困った事に世の中には、サーバを攻撃したり、悪戯してみたりとなんと多いことか・・・。そんなこんなで、攻撃のログをこっそり取っておきましょう。また、SnortSnarf のソフトを使用すると、綺麗に見せるレポートを作ってくれます。(^o^)丿

本家 : Snort (英語サイト)

本家 : SnortSnarf(Silicon Defense) (英語サイト)

参考 : SNORTで侵入検出

参考 : サーバー侵入の準備行為とされるポート・スキャンはどのように検知できますか

 

Snort の設定方法

★.libpcapライブラリが必要です。libpcapがインストールされていない場合は、http://www.tcpdump.org/でアーカイブを入手する必要があります。

1.Snortをインストールします。

$ cd ./src
$ wget http://www.snort.org/dl/snort-1.8.6.tar.gz
$ gzip -cd snort-1.8.6.tar.gz | tar xf -
$ cd snort-1.8.6
$ ./configure
$ make
$ su
# make install
# mkdir /etc/snort
# cp -p snort.conf /etc/snort
# cp -p *.rules /etc/snort

2.とりあえずの設定をしてみます。

# vi /etc/snort/snort.conf 
    var HOME_NET 192.0.0.0/24        ← 監視対象のIPアドレスを指定します
    var DNS_SERVERS 192.0.0.10/32 ← DNSサーバのIPアドレスを指定します
# mkdir -p /var/log/snort

3.起動してみましょう。

# /usr/local/bin/snort -Dde -c /etc/snort/snort.conf -h 192.0.0.0/32 -l /var/log/snort

4.ログが出てるかな?

# ls -al /var/log/snort
  -rw------- 1 root other 2932 4月 26日 11:27 alert
  -rw------- 1 root other    0 4月 25日 18:28 portscan.log 

5.起動シェルの定義

# vi /etc/rc.d/init.d/snort
    #!/bin/sh
    # chkconfig: - 91 35
    # description: snort

    . /etc/rc.d/init.d/functions <-- 共通定義の変数/関数の内容を読込む

    SERVICE="snort"
    ARGS="-Dod -A full -c /etc/snort/snort.conf -h 192.168.0.10/32 -l /var /log/snort"

    case "$1" in
        start)
            cd /home/src/snort-1.8.6
            ./snort -Dod -A full -c /etc/snort/snort.conf -h 192.168.0.10/32 -l /var/log/snort
            touch /var/lock/subsys/$SERVICE
            cmdtext="start"
            ;;
        stop)
            killproc $SERVICE <-- 関数killprocを呼び出す
            rm -f /var/lock/subsys/$SERVICE
            echo
            cmdtext="stop"
            ;;
        restart)
            $0 stop
            $0 start
            cmdtext="restarting"
            ;;
        *)
            echo "Usage: $0 {start|stop|restart}"
            exit 1
            ;;
        esac

    echo "Snort $cmdtext."

    exit 0

参考 : シェルスクリプトを読んでみる

6.自動起動の設定

# chmod +x /etc/rc.d/init.d/snort
# ln -s /etc/rc.d/init.d/snort /etc/rc.d/rc3.d/S50snort

SnortSnarf  の設定方法

1.SnortSnarf をインストールします。

$ cd opt/local/src
$ wget http://www.silicondefense.com/software/snortsnarf/SnortSnarf-020316.1.tar.gz
$ gzip -cd SnortSnarf-020316.1.tar.gz | tar xf -
$ cd SnortSnarf-020316.1
$ cd Time-modules
$ perl Makefile.PL
$ make
$ make test
$ su
# make install

2.とりあえずapacheで公開できる場所を作っておきます。

[admin]$ mkdir -p /home/groups/home/web/snortsnarf

3.とりあえず動かしてみます。

# cd /opt/local/src/SnortSnarf-020316.1
# ./snortsnarf.pl -d /home/groups/home/web/snortsnarf /var/log/snort/alert

4.クーロン化 (^o^)丿

0,30 * * * * /home/cron.sh/snortsnarf.sh 1> /dev/null

5.アクセスしてみるべし (ーー゛)

http://localhost/snortsnarf/

最新のセキュリティパターンファイルの自動更新方法

参考 : Snort+ACIDのインストール

1.上記のサイトのスクリプトを真似てみました〜

#!/bin/sh

PATH=/usr/local/sbin:/usr/sbin:/sbin:.:~/bin
PATH=/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin:$PATH
export LANG=ja
export PERL_BADLANG=0

cd /tmp
/usr/bin/wget -q http://www.snort.org/dl/signatures/snortrules.tar.gz
gzip -cd snortrules.tar.gz | tar xf -
cp -rf rules/* /etc/snort
rm -rf rules
rm snortrules.tar.gz
/etc/rc.d/init.d/snort restart > /dev/null