2014年4月8日火曜日

[.tested] SnortによるIPS構築 その1 [debian Wheezy][AX3][A7]

Snortはオープンソースのネットワーク型IDSであり、IPSとしても利用することが可能です。
また、周辺ツールを利用することにより、Webでのアラート検索を行うことも可能です。
Snortは、debian wheezyのパッケージにも含まれて居ますが、今回は、IPSでの利用も考慮し、最新のバージョンのソースコードよりsnort本体をビルドする方法をご紹介します。


Snort


OBDN技術ブログによる動作検証は、該当するソフトウェアの動作の保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40 JモデルまたはDPモデル

1. Snort最新版のビルド


以下の手順は、基本的な開発環境が導入済みであることを前提としています。
(手順に関しては、右のタグにあるソフトウェア動作検証より記事をリンクしています)

debianパッケージから必要なライブラリをインストール

# aptitude install bison flex libpcre3 libpcre3-dev libssl-dev libnetfilter-queue-dev

以下、snortの最新のバージョンのビルドに必要な、一部の新しいバージョンのライブラリを用意します。

linpcap


# wget http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz
# tar zxvf libpcap-1.5.3.tar.gz
# cd libpcap-1.5.3
# ./configure --prefix=/usr --enable-shared
# make
# make install

lindnet


# wget https://libdnet.googlecode.com/files/libdnet-1.12.tgz
# tar zxvf libdnet-1.12.tgz
# cd libdnet-1.12.tgz
# ./configure --prefix=/usr --enable-shared
# make
# make install

snortおよびdaqパッケージのインストール

www.snort.orgからsnortおよびdaqの最新のソースコードを入手して下さい。

daq-2.0.2

# tar -zxvf daq-2.0.2.tar.gz
# cd  daq-2.0.0
# ./configure
# make
# make install
# cd /usr/local/lib
# ldconfig -v /usr/local/lib

snort-2.9.6.0

# tar -zxvf snort-2.9.6.0.tar.gz
# cd snort-2.9.4.5
# ./configure --enable-sourcefire
# make
# make install
# cd /usr/local/lib
# ldconfig -v /usr/local/lib

2. 設定


snort.orgでアカウント作成

https://www.snort.org/account/oinkcode
で、’Generate code’ とするとOinkcodeが発行されるのでコードを控えておきます。

Snortルールの入手と展開

Snortルールを入手します。

# wget http://www.snort.org/reg-rules/snortrules-snapshot-2960.tar.gz/<Oinkcode> -O snortrules-snapshot-2960.tar.gz

/etc/snortに展開します。

# mkdir /etc/snort
# cd /etc/snort/
# tar zxvf /usr/local/src/snortrules-snapshot-2955.tar.gz
# cp ./etc/* .
# cp /usr/local/src/snort-2.9.5.6/etc/* .
# rm /etc/snort/Makefile*

空のホワイトリスト、ブラックリストを作成します。

# touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules

snortユーザの追加、パーミッションの変更

# groupadd -g 40000 snort
# useradd snort -u 40000 -d /var/log/snort -s /sbin/nologin -c SNORT_IDS –g snort
# cd /etc/snort
# chown -R snort:snort *

/etc/snort/snort.confを編集し、/etc/snortなど、設定ファイルのパスの変更、対象ネットワークアドレスなどを変更します。

2. 動作テスト


以下のオプションにて動作テストを行います。
# snort -T -i eth0 -u snort -g snort -c /etc/snort/snort.conf

3.さいごに


今回は、snortをOpenBlocks Aシリーズでビルドする手順を説明しました。
次回にて、IPSとしての設定、Webからのアラートの監視方法などについてご紹介する予定です。

0 件のコメント:

コメントを投稿