Barnyard2
Snortが検出した不正侵入ログをMySQLへ書き出してくれるプログラム。
アーカイブパッケージのver0.2.xと、Gitで配布されているver2.1.xの二種類がある。
MySQLへの出力に対応しているのはGit版。
0. ビルドオプション
今回はGitからソースを取ってくるが、最終的にはconfigureをかけるのでレシピを作っておく。
# vi configure.option ===== --prefix=/usr/local/barnyard-2.1.13 \ --with-mysql=/usr/local/mysql \ --with-mysql-includes=/usr/local/mysql/include \ --with-mysql-libraries=/usr/local/mysql/lib
debian環境の時は、下記のコマンドも実行する。
debianではdnet.hがdumbnet.hとして作成されるので、シンボリックリンクを貼らないとビルドが失敗する
# apt-get install libgeoip-dev libpcap0.8-dev libltdl3-dev libdumbnet1 libdumbnet-dev texlive-extra-utils flex # ln -s /usr/include/dumbnet.h /usr/include/dnet.h
1. インストール
今回はGitからソースを取ってくる。Gitコマンドが入っていない場合はyumとかapt-getで入れておく。
# cd /usr/local/src # git clone "https://github.com/firnsy/barnyard2" barnyard # cd barnyard # ./autogen.sh # ./configure `cat configure.option` # make # make install # cd /usr/local # ln -s /usr/local/barnyard-2.1.13 ./barnyard
init用にbarnyard2バイナリへのシンボリックリンクも追加する必要がある。
あと、Barnyard2用のMySQLユーザとテーブルは事前に作成しておく。
# cd /usr/local/src/barnyard # cp rpm/barnyard2 /etc/init.d/barnyard2 # cp rpm/barnyard2.config /etc/sysconfig/barnyard2 # ln -s /usr/local/barnyard/bin/barnyard2 /usr/bin/barnyard2 # ln -s /usr/local/barnyard/etc/barnyard2.conf /etc/snort/barnyard.conf # mysql -u "DBユーザ名" -p "DB名" < ./schemas/create_mysql
他には、Snortとの連携に必要なファイルを作成する。
# touch /var/log/snort/barnyard2.waldo
2. Barnyard2のコンフィグ
※以下のメモでは変更した箇所のみを記載
# vi /etc/init.d/barnyard2 ===== 6 :: # chkconfig: 2345 85 15 12 :: # pidfile: /var/lock/subsys/barnyard2.pid <- 削除する 20 :: [ -x /usr/local/snort/bin/snort ] || exit 1 36 :: PIDFILE="/run/barnyard2-$INT.pid" 37 :: #ARCHIVEDIR="$SNORTDIR/$INT/archive" 38 :: WALDO_FILE="$SNORTDIR/barnyard2.waldo" 39 :: BARNYARD_OPTS="-D -c $CONF -d $SNORTDIR -w $WALDO_FILE -f $LOG_FILE -X $PIDFILE $EXTRA_ARGS"
# vi /etc/sysconfig/barnyard2 ===== 2 :: # LOG_FILE="snort-barnyard.log"
# vi /etc/snort/barnyard.conf ===== 54 :: config logdir: /var/log/snort 70 :: config hostname: localhost 71 :: config interface: eth0 141 :: config waldo_file: /var/log/snort/barnyard2.waldo 354 :: output database: log, mysql, user="DBユーザ名" password="DBパスワード" dbname="DB名" host="DBの鯖IPアドレス"