Trick or Treat!

Lilith タスクリスト

PE860@Tour de Snort 1e étape

2008年08月04日 21時17分47秒 | PowerEdge
Power Edge 860へインストールしたCentOS5.2でSnortを稼働させるため
いろいろと準備を展開。

1.事前準備
必要となるいくつかのパッケージを新たにインストール。
libpcap 0.9.4-12.el5
pcre 6.6-2.el5_1.7

2.自前で準備
x86_64環境で統一しようと思うと自分でリビルドし直す必要がある…。
仕方がないので、Snort及び関連パッケージをリビルドしなおします。

MySQL&flexrespオプションを付けて、snort-2.8.2.2-1.src.rpmをリビルドしてみると
libnet-1.0.2aでないといわれ、libnet-1.0.2aをx86_64で作成すると
今度はlibpwrite.aがコンパイル時に足りないといわれ、
libnet.specの、コメントアウトを外し、下記のとおりに編集。

[前]
#%{_libdir}/libpwrite
[後]
%{_libdir}/libpwrite.a

ようやく、libnet-1.0.2aをインストールし、snortをリビルドかけると、
mysqlの関連ファイルがないと怒られる。

仕方がないので、指定して実行。(1行です。)
# MYSQL_LIB_DIR=/usr/lib64/mysql CFLAGS="-I/usr/lib64/mysql -I/lib64 -I/usr/include/mysql" LDFLAGS="-L/usr/lib64/mysql -L/lib64 -L/usr/lib64" rpmbuild -bb--target=x86_64 snort.spec --with flexresp --with mysql

で成功を確認した。

ではでは、--with inline を付けて再度コンパイルを実行すると・・・
inline.c: In function 'InitInlinePostConfig':
inline.c: In function 'IpqLoop':
inline.c: In function 'RejectSocket':
inline.c: In function 'RejectLayer2':
make[3]: *** [inline.o] Error 1
こんな感じでつらつらとlinline.cでビルドエラー発生。


下記によると、ソースファイルを編集しろと言うことなので、

http://www.mcabee.org/lists/snort-users/Feb-08/msg00073.html

SOURCEフォルダのtar.gzを解凍し、./src/inline.c を編集。
ファイルの文頭にある #include <libnet.h>> の下に #include <net/ethernet.h> を追加
その後、再度リビルドを実行したところ、無事に完成。

snort-inline-2.8.2.1-1.x86_64.rpm
snort-inline-mysql-2.8.2.1-1.x86_64.rpm

インストールも問題なく通りました。