Snortのインストールメモ
■PostgreSQL + Snort + ACID + PHP + Apache2のインストール
Snort単体はまだしもACIDまで入れた場合にはかなりのエラーなどが発生する。
(・・・つか、snortだけでもソースからコンパイルするでけで死にそうなほどめんどい)
したがって、そのインストール方法について記す。
ただし、一部書き損ねなどがある可能性があるので要注意
まあ気が付いたら教えておくれ(笑
■aptでPostgreSQL + PHP + Apache2と必要なパッケージをインストール
apt-get install postgresql postgresql-server postgresql-devel apt-get install apache2 php php-pgsql php-apache2 gd
■ PostgreSQLの設定
cat << END_OF_SCRIPT_FILE > /var/lib/pgsql/data/postgresql.conf tcpip_socket = true max_connections = 20 shared_buffers = 1000 # min 16, at least max_connections*2, 8KB each syslog = 1 # range 0-2; 0=stdout; 1=both; 2=syslog # These settings are initialized by initdb -- they may be changed lc_messages = 'C' # locale for system error message strings lc_monetary = 'C' # locale for monetary formatting lc_numeric = 'C' # locale for number formatting lc_time = 'C' # locale for time formatting END_OF_SCRIPT_FILE
■ apache2の設定
rm /etc/alternatives/apache2 ln -s /usr/sbin/apache2.prefork* /etc/alternatives/apache2 # PostgreSQLとapache2を再起動 /etc/init.d/postgresql restart /etc/init.d/apache2 restart
■ phplotのインストール
cd /usr/local/src wget http://downloads.sourceforge.net/phplot/phplot-5.0rc2.tar.gz tar xvzf phplot-5.0rc2.tar.gz cp -R phplot /var/www/html/
■ ADOdbのインストール
cd /usr/local/src wget http://downloads.sourceforge.net/adodb/adodb493a.tgz tar xvzf adodb493a.tgz cp -R adodb /var/www/html/
■ ACIDのインストール
cd /usr/local/src wget http://www.andrew.cmu.edu/user/rdanyliw/snort/acid-0.9.6b23.tar.gz tar xvzf acid-0.9.6b23.tar.gz cp -R acid /var/www/html/ vi /var/www/html/acid/acid_conf.php # 下記のようになっている部分を書き換える # $DBlib_path = ""; # $alert_dbname = "snort_log"; # $alert_host = "localhost"; # $alert_port = ""; # $alert_user = "root"; # $alert_password = "mypassword"; # $ChartLib_path = ""; # ↓が正しい内容 # $DBlib_path = "/var/www/html/adodb"; # $alert_dbname = "snort"; # $alert_host = "localhost"; # $alert_port = ""; # $alert_user = "snort"; # $alert_password = "snort"; # $ChartLib_path = "/var/www/html/phplot";
■ snortのインストール
cd /usr/local/src wget http://www.snort.org/dl/current/snort-2.6.1.1.tar.gz wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz wget http://www.snort.org/pub-bin/downloads.cgi/Download/comm_rules/Community-Rules-CURRENT.tar.gz tar xvzf snort-2.6.1.1.tar.gz cd snort-2.6.1.1/ # --enable-flexrespをつけるとエラーがでる ./configure --enable-smbalerts --prefix=/usr --with-postgresq l=/usr --with-snmp=/usr make make install mkdir /var/log/snort/ chown -R snort.snort /var/log/snort/ mkdir /etc/snort cd /etc/snort tar xvzf /usr/local/src/snortrules-pr-2.4.tar.gz tar zxvf /usr/local/src/Community-Rules-CURRENT.tar.gz mv /etc/snort/rules/* . # */ rmdir /etc/snort/rules chown -R snort.snort /etc/snort/ # 設定ファイルの設定→/etc/snort/snort.conf cp /usr/local/src/snort-2.6.1.1/rpm/snortd /etc/init.d/ chmod 755 /etc/init.d/snortd # /etc/init.d/snortdの書き換え # daemon /usr/sbin/snort $ALERTMODE $BINARY_LOG $NO_PACKET_LOG $DUMP_APP -D $PRINT_INTERFACE $INTERFACE -u $USER -g $GROUP $CONF # ( 続き ) -l $LOGDIR $PASS_FIRST $BPFFILE $BPF # ↓に変更 # daemon /usr/sbin/snort -o -D $INTERFACE -u $USER -g $GROUP $CONF -l $LOGDIR chkconfig --add snortd chkconfig --level 01246 snortd off chkconfig --level 35 snortd on cp /usr/local/src/snort-2.6.1.1/rpm/snort.sysconfig /etc/sysconfig/snort chmod 755 /etc/sysconfig/snort vi /etc/sysconfig/snort # ALERTMODE=fast # ↓のように修正 # ALERTMODE= ln /usr/bin/snort /usr/sbin/snort
■ snort用PostgreSQLの設定
# 質問にはy、nの順で答えてる adduser snort -s /bin/false sudo -u postgres createuser snort sudo -u snort createdb snort sudo -u snort psql snort < /usr/local/src/snort-2.6.1.1/schemas/create_postgresql vi /usr/local/src/acidcreate_acid_tbls_pgsql.sql # DATETIMEとなっている部分をTIMESTAMPに変更(4箇所) vi /usr/local/src/acid_db_setup.php # DATETIMEとなっている部分をTIMESTAMPに変更(10箇所ぐらい) sudo -u snort psql snort < /usr/local/src/acid/ create_acid_tbls_pgsql.sql
■ snortの起動テスト
/usr/sbin/snort -o -l /var/log/snort -u snort -g snort -d -i eth0 -c /etc/snort/snort.conf snort -i lo -c /etc/snort/snort.conf # 問題なければしばらくすると # Initialization Completeと言う文字が出てくる # Ctrl+Cで終了 /etc/init.d/snortd restart # ACIDの確認 # http://192.168.186.228/acid/ にアクセスして # Analysis Console for Intrusion Databasesと言う画面がでればOK # 一行だけメッセージがでている場合はおかしい
■ 注意
# ★注意 phpは4を使うこと # ★注意 ACIDのsqlの修正は必ずすること