ネットワークにおける侵入検知は、ITセキュリティにとって重要です。 侵入検知システムは、ネットワークにおける不正や悪意のある試みを検知するために使用されます。 Snort は、よく知られたオープンソースの侵入検知システムです。 Webインターフェース(Snorby)は、アラートのより良い分析に使用することができます。 Snortは、iptables/pfファイアウォールと共に侵入防止システムとして使用することができます。 この記事では、オープンソースのIDSシステムであるsnortをインストールし設定します。
Snort Installation
Prerequisite
データ取得ライブラリ(DAQ)は、パケット取得ライブラリへの抽象呼び出し用にsnortで使用されます。 DAQは、snortのホームページで公開されています。
これを解凍し、./configure, make, make installコマンドを実行して、DAQをインストールします。 しかし、DAQ は他のツールを必要とするため、./configure スクリプトは以下のエラーを生成します。
flex and bison error
libpcap error.
したがって、図に示すように DAQ インストール前にまず flex/bison と libcap をインストールしてください。
libpcap開発ライブラリのインストールは以下の通りです。
必要なツールをインストールしたら、再度./configureスクリプトを実行すると、以下の出力になります。
make、 make installコマンドは以下の画面の通り。
DAQが正常にインストールできたら、今度はスノートもインストールしていきます。
以下のコマンドで圧縮パッケージを展開します。
#tar -xvzf snort-2.9.7.3.tar.gz
インストールディレクトリを作成し、configureスクリプトにprefixパラメータを設定します。 また、Packet Performance Monitoring (PPM) の sourcefire フラグを有効にすることをお勧めします。
#mkdir /usr/local/snort#./configure --prefix=/usr/local/snort/ --enable-sourcefire
設定スクリプトで libpcre-dev, libdumbnet-dev および zlib 開発ライブラリが不足しており、エラーが発生しました。
libpcre ライブラリ不足によるエラー。
dnet (libdumbnet) ライブラリ不足によるエラー。
zlib ライブラリ不足による設定スクリプト生成時のエラー。
# aptitude install libpcre3-dev
# aptitude install libdumbnet-dev
# aptitude install zlib1g-dev
Snort に必要な上記のライブラリをインストールした後、再び configure スクリプトを実行してもエラーは発生しません。
/usr/local/snortディレクトリにsnortのコンパイルとインストールを行うためにmake & make installコマンドを実行します。
#make
#make install
最後に/usr/local/snort/binディレクトリからsnortを実行しました。
Snortインターフェースによるトラフィックダンプを下図に示します。
Rules and Configuration of Snort
ソースコードからのインストールにはルールや設定が必要なため、ルールと設定を/etc/snortディレクトリにコピーします。 ルールとコンフィギュレーションの設定用に1つのbashスクリプトを作成しました。
- LinuxでのIDSサービス用snortユーザーの作成
- /etcディレクトリ以下にsnort設定用のディレクトリとファイルを作成します。
- snortソースコードのetcディレクトリからの権限設定とデータのコピー。
- snort.confファイルのルールパスから#(コメント記号)を削除。
ipvar HOME_NET 192.168.1.0/24 # LAN side
ipvar EXTERNAL_NET !$HOME_NET # WAN side
Now Download community rules and extract under /etc/snort/rules directory.
結論
は、以下の通りです。