Snort でサーバ監視

家でサーバをあげていると,世界中から攻撃されます.
しっかり管理してればたぶん問題ないはずなんですが,ちょっと感じ悪い.
ということで,NIDS(Network Intrusion Detection System)・Snort を使って監視しましょう.

1. インストール

とりあえず Snort を入れましょう.[Snort Official]
これを書いている時点で,最新は 1.9.0 です.
libpcap とか libnids とか要るかも知れませんが,その辺は適当に入れましょう.

    % tar zxvf snort-1.9.0.tar.gz
    % cd snort-1.9.0
    % ./configure
    % make
    # make install

2. 設定する

Snort を設定します.
設定ファイルの置き場は /etc/snort に置くことにします.
設定ファイルは,とりあえず snort.conf の HOME_NET と EXTERNAL_NET をいじれば動くでしょう.
あとは必要に応じて *_SERVERS とか *_PORTS とかをいじっときます.
ログは /var/log/snort に置くことにして,snort 用にユーザとグループを作っておきます.

    # mkdir /etc/snort
    # cp etc/classification.config etc/snort.conf etc/reference.config /etc/snort
    # cp -r rules /etc/snort
    # vi /etc/snort/snort.conf

        var HOME_NET $eth0_ADDRESS      (eth0 のアドレス)
        var EXTERNAL_NET any            (!HOME_NET にしても OK)
        var HTTP_PORTS 80:8080
        var RULE_PATH ./rules           (rule ファイルの置き場所を変えたので,修正)

    # vipw
    # vi groups
    # cd /etc
    # chown -R snort snort
    # chmod 750 snort
    # cd /var/log
    # mkdir snort
    # chown snort snort
    # chmod 750 snort

3. 動かす

動かしましょう.
動かすときは -u と -g でユーザとグループを指定します.
動作がおかしいときは,-d で起動するとデバッグメッセージが流れるのでそれを見ればたぶん分かります.
ちゃんと動くと,/var/log/snort/ の下にいろいろログができます.

   # /usr/local/bin/snort -D -i eth0 -c /etc/snort/snort.conf -u snort -g snort

4. SnortSnarf を入れる

ログを見やすく HTML にしてくれる SnortSnarf を入れましょう.
SnortSnarf は,SiliconDefence 社がフリーで提供しています. [SnortSnarf]
本体は Perl で書かれており,Time-modules が必要です.CPAN から入手して入れておきましょう.

    % tar zxvf Time-modules-2003.0211.tar.gz
    % cd Time-modules-2003.0211
    % perl Makefile.PL
    % make
    % make test
    # make install

入れたら,SnortSnarf を入れましょう.といっても,コピーするだけです.
/usr/local/snortsnarf に置くことにしました.

    % tar zxvf SnortSnarf-021111.1.tar.gz
    % cd SnortSnarf-021111.1
    # mkdir /usr/local/snortsnarf
    # cp snortsnarf.pl /usr/local/snortsnarf
    # cp -r include /usr/local/snortsnarf

5. SnortSnarf で HTML化

/usr/local/snortsnarf に移動して,snortsnarf.pl を動かすとHTML が作成されます.
Snort のログが /var/log/snart,HTML を格納するディレクトリを /home/www/snort とすると

    # ./snortsnarf.pl -d /home/www/snort /var/log/snort/alert

です.こんなのができます.
適当に cron で回してアップデートしましょう.


PREV RETURN NEXT