最新のSnort 2.9.2をMac OS X Lion上でソースからインストールして動作させる。
MAC PortでSnortが依存する以下のライブラリをインストールする。Homebrewの場合は、libpcapはApple製を使うためインストールの必要はない。
libdnet, libpcap, libpcre
wchichコマンドを使用して、以下のコマンドが存在するかチェックする。
テキトウなディレクトリで以下のようなコマンドを実行し、ソースファイルを解凍する。
doc/INSTALLを見て、MAC用の設定を行ってからビルドする。
Homebrewの環境では、通常/opt/localではなく/usr/localを使用するので適宜変更する。
MySQLへのデータの格納を行うには --with-mysql を付ける必要があるが、オプションを負荷すると2.2.3からは削除されるという警告が表示される。Barnyard2形式で出力してからMySQLに格納することが推奨されているようだ。
パケットスニファとして起動する。
後述の設定ファイルで起動する。
Mac OS X Lionでは、自動起動にlaunchdを利用する。
/Library/LaunchDaemons/org.snort.snort.plist
MAC PortでSnortが依存する以下のライブラリをインストールする。Homebrewの場合は、libpcapはApple製を使うためインストールの必要はない。
libdnet, libpcap, libpcre
wchichコマンドを使用して、以下のコマンドが存在するかチェックする。
$ which dnet-config $ which pcre-config $ which daq-modules-config
テキトウなディレクトリで以下のようなコマンドを実行し、ソースファイルを解凍する。
$ tar xzvf snort-2.9.2.2.tar.gz
doc/INSTALLを見て、MAC用の設定を行ってからビルドする。
Homebrewの環境では、通常/opt/localではなく/usr/localを使用するので適宜変更する。
MySQLへのデータの格納を行うには --with-mysql を付ける必要があるが、オプションを負荷すると2.2.3からは削除されるという警告が表示される。Barnyard2形式で出力してからMySQLに格納することが推奨されているようだ。
$ glibtoolize --force
$ aclocal -I m4
$ autoheader
$ automake --add-missing --copy
$ autoconf
$ export LD_TWOLEVEL_NAMESPACE=1
$ ./configure prefix=/opt/local --disable-static-daq
$ make
$ make check
$ aclocal -I m4
$ autoheader
$ automake --add-missing --copy
$ autoconf
$ export LD_TWOLEVEL_NAMESPACE=1
$ ./configure prefix=/opt/local --disable-static-daq
$ make
$ make check
$ glibtoolize --force
$ aclocal -I /usr/local/share/aclocal -I m4
$ autoheader
$ automake --add-missing --copy
$ autoconf
$ export LD_TWOLEVEL_NAMESPACE=1
$ ./configure prefix=/usr/local --disable-static-daq
$ make
$ make check
問題なかったらルート権限でインストールする。
# make install
$ aclocal -I /usr/local/share/aclocal -I m4
$ autoheader
$ automake --add-missing --copy
$ autoconf
$ export LD_TWOLEVEL_NAMESPACE=1
$ ./configure prefix=/usr/local --disable-static-daq
$ make
$ make check
問題なかったらルート権限でインストールする。
# make install
パケットスニファとして起動する。
sudo snort -de -i en0 --daq-dir /opt/local/lib/daq/
後述の設定ファイルで起動する。
sudo snort -de -i en0 --daq-dir /opt/local/lib/daq/ -c /etc/snort/conf.d/snort.conf
Mac OS X Lionでは、自動起動にlaunchdを利用する。
ディレクトリ | 用途 |
---|---|
〜/Library/ | ユーザ毎の設定 |
/Library/ | ローカル用の設定 |
/Library/LaunchAgents | 管理者によるユーザ毎の設定 |
/Library/LaunchDeamons | 管理者による全体の設定 |
/System | システムによる設定 |
/System/LaunchAgents | システムによる設定 |
/System/LaunchDeamons | システムによる全体の設定 |
/Library/LaunchDaemons/org.snort.snort.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http:// www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.snort.snort</string> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/> <key>ProgramArguments</key> <array> <string>/opt/local/bin/snort</string> <string>-D</string> <string>-d</string> <string>-e</string> <string>-i</string> <string>en0</string> <string>-c</string> <string>/etc/snort/snort.conf</string> </array> <key>ServiceDescription</key> <string>Snort 2.9.2.2</string> </dict> </plist>
ディレクトリは任意だが、/etc/snort以下に配置することとする。構成は以下のとおり。snort-2.9.2.2/etcにあるファイルを/etc/snort以下にコピーする。
- /etc
- snort
- conf.d : 設定ファイルを配置するディレクトリ
- rules.d : ルールやリストを配置するディレクトリ
- backup : ルールのバックアップを格納するディレクトリ
- snort
ネットワーク設定とパスの設定。
項目 | デフォルト値 | 設定値 |
HOME_NET | any | |
ETERNAL_NET | any | |
_SERVERS | ||
_PORTS | ||
RULE_PATH | ../rules | ../rules.d |
SO_RULE_PATH | ../so_rules | |
PREPROC_RULE_PATH | ../preproc_rules | |
WHITE_LIST_PATH | ../rules | ../rules.d |
BLACK_LIST_PATH | ../rules | ../rules.d |
HenWen(http://seiryu.home.comcast.net/~seiryu/henwen.html...というMac向けバイナリのプロジェクトがあったようですが、Snort2.3.3に対応ということでどうやらメンテナンスは終了しているようです。
最新コメント