[vine-users:080841] Re: <ご教授願い>Vine5.2へのsnortの導入手法
Hajime Satono
hsatono @ iodata.jp
2011年 2月 19日 (土) 19:09:23 JST
岸様
里野@金沢です。
On 2011/02/19 13:35,, swing4jazzy @ gmail.com-san wrote:
> On Fri, 18 Feb 2011 23:53:42 +0900
・
・
> が出るようになりました。で結論は /etc/snort/snort.conf ファイルの
> output database: log, mysql, user=snort password=snortpass
> dbname=snort_log host=localhost
>
> の記述(特に user 名)には間違いがないでしょうか。
との事で、以下の実験を行ってみましたので結果報告します。
(各位、長文ご容赦下さいませ。)
ご指摘いただいた点、再確認したところ・・・
output database: log, mysql, user=snort password="snortuserpass"
dbname=snort_log host=localhost
となってましたが、これは・・・
output database: log, mysql, user=snort password=snortuserpass
dbname=snort_log host=localhost
が正解(""で囲む必要がない、囲んではいけない)
という事だったんですね(^^;)
http://swing.jakou.com/vine/server-5.2.html#snort
にてサンプルとしてご提示いただいている
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
● Snort の設定
・
・
# output unified2: filename merged.log, limit 128, nostamp,
mpls_event_types, vlan_event_types
# output database: log, , user= password= test dbname= host=
output database: log, mysql, user=snort password="パスワード"
dbname=snort_log host=localhost
← "パスワード" はこの後設定するMySQL設定と同じものにする
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
の「"パスワード"」という所をそのまま誤読した結果という事でした_(^_^;;)_
で、
● Snort の起動
> 最初に次のようなコマンドを入力してエラーが出ないことを確認。
> $ sudo /usr/sbin/snort -c /etc/snort/snort.conf -i eth1
eth1→eth0で実行し下記のようにやっと豚さんを見る事が出来ました_(^_^)_
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(中略)
・
・
・
--== Initialization Complete ==--
,,_ -*> Snort! <*-
o" )~ Version 2.9.0.3 (Build 98)
'''' By Martin Roesch & The Snort Team:
http://www.snort.org/snort/snort-team
Copyright (C) 1998-2010 Sourcefire, Inc., et al.
Using libpcap version 1.0.0
Using PCRE version: 7.9 2009-04-11
Using ZLIB version: 1.2.3
Rules Engine: SF_SNORT_DETECTION_ENGINE Version 1.13 <Build 18>
Preprocessor Object: SF_DCERPC2 Version 1.0 <Build 3>
Preprocessor Object: SF_SMTP Version 1.1 <Build 9>
Preprocessor Object: SF_SSH Version 1.1 <Build 3>
Preprocessor Object: SF_DNS Version 1.1 <Build 4>
Preprocessor Object: SF_FTPTELNET Version 1.2 <Build 13>
Preprocessor Object: SF_SSLPP Version 1.1 <Build 4>
Preprocessor Object: SF_SDF Version 1.1 <Build 1>
Commencing packet processing (pid=30223)
*** Caught Signal: 'Rotate Perfmonitor Stats'
!!! Cannot rotate stats - Perfmonitor is not configured !!!
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
この状態から遷移しないので「crtl+c」を押下すると
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
^C*** Caught Int-Signal
===============================================================================
Run time for packet processing was 1108.498061 seconds
Snort processed 8507 packets.
Snort ran for 0 days 0 hours 18 minutes 28 seconds
Pkts/min: 472
Pkts/sec: 7
database: Closing connection to database "snort_log"
===============================================================================
・
(中略)
・
Self-referencing paths ("./"): 0
HTTP Response Gzip packets extracted: 0
Gzip Compressed Data Processed: n/a
Gzip Decompressed Data Processed: n/a
Total packets processed: 2024
===============================================================================
dcerpc2 Preprocessor Statistics
Total sessions: 1
Transports
SMB
Total sessions: 1
Packet stats
Packets: 0
===============================================================================
===============================================================================
Snort exiting
$
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
と復帰しましたので、気をよくして次に進みます♪
$ sudo /etc/init.d/snortd start
[sudo] password for halcom:
Starting snort: Spawning daemon child...
My daemon child 366 lives...
Daemon parent exiting
[ OK ]
$
と問題無さそうです。一応/var/log/messages/を確認しました。
$ sudo tail -f /var/log/messages
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Feb 19 16:43:33 mail snort[22945]: Decoding Ethernet
Feb 19 16:43:33 mail snort[22945]: Checking PID path...
Feb 19 16:43:33 mail snort[22945]: PID path stat checked out ok, PID
path set to /var/run/
Feb 19 16:43:33 mail snort[22945]: Writing PID "22945" to file
"/var/run//snort_eth0.pid"
Feb 19 16:43:33 mail snort[22945]: Set gid to 2101
Feb 19 16:43:33 mail snort[22945]: Set uid to 2102
Feb 19 16:43:33 mail snort[22945]: WARNING: normalizations disabled
because DAQ can't replace packets.
Feb 19 16:43:33 mail snort[22945]:
Feb 19 16:43:33 mail snort[22945]: --== Initialization Complete ==--
Feb 19 16:43:33 mail snort[22945]: Commencing packet processing (pid=22945)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
「Feb 19 16:43:33 mail snort[22945]: WARNING: normalizations disabled
because DAQ can't replace packets.」
が存在していますが、岸様環境でも出ているとの事なのでひとまず無視して進み
ました。ちなみに、/var/log/snort/ 配下にはsnortが出力しているlogが出来上
がっていました。
$ sudo /sbin/chkconfig snortd on
で毎回起動設定。
やっと
「● BASE のインストール 」
セクションにたどり着きました(^^;)
(ここで "$ cd"=Homeへの移動記載が必要かも)
$ cd rpm/SOURCES/
$ wget
http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gz/download
(成功)
$ wget
http://sourceforge.net/projects/adodb/files/adodb-php5-only/adodb-511-for-php5/adodb511.tgz/download
(成功)
$ cd ../BUILD/
$ tar zxvf ../SOURCES/base-1.4.5.tar.gz
$ tar zxvf ../SOURCES/adodb511.tgz
$ sudo mv base-1.4.5/ /var/www/base
$ sudo mv adodb5 /var/www/base/adodb
$ sudo chown -R apache:apache /var/www/base/
(ここまで成功)
「● BASE の設定 」
$ sudo cp /var/www/base/base_conf.php.dist /var/www/base/base_conf.php
$ sudo vi /var/www/base/base_conf.php
※当方はapache2ドキュメントルートを/var/www/→/home/httpd/html/に変更して
いるので、
/var/www/base/配下を /home/httpd/htmm/配下にコピーしてから読み替えて修正
します。
またコンフィグファイル中に登場する/var/www/は全て/home/httpd/html/へ置換
しました。
・
(中略)
・
$alert_password = 'xxxxxxxxx'; ← MySQLsnortユーザパスワード
(全て成功、異常無し、viはここまでですよね)
$ sudo pear install --alldeps Image_Graph-alpha
(正常終了)
「● Aapche の設定 」
※こちらも上記と同様にドキュメントルートに関しては読み替えております。
また/etc/httpd/は/etc/apache2/へ読み替えてます。
$ sudo vi /etc/httpd/conf.d/base.conf
(「base.conf」は存在していなかったので新規作成と判断)
$ sudo vi /etc/php5/php.ini
(修正)
$ sudo /etc/init.d/httpd start
※httpdはapache2へ読み替え、startはrestartとしました。
Apache1系とは相違するのか、Errorとなる為、「base.conf」は下記のように
アレンジしました。
−−−「base.conf」ここから−−−
Alias /base /home/httpd/html/base
<Location /base>
order deny,allow
deny from all
allow from 127.0.0.1
allow from 192.168.0.0/24
</Location>
−−−「base.conf」ここまで−−−
$ sudo ln -s /usr/bin/perl /usr/local/bin/perl
「● BASE の確認」
http://サーバアドレス/base/ へアクセス
エイリアス的にはWebページは動作している模様ですが、下記エラーが発生しま
した。
−−−−−−−−−−−−
データベースライブラリがロードできません: from
"/home/httpd/html/adodb/adodb.inc.php"
データベース抽象ライブラリのパスを確認してください ($DBlib_path) in
base_conf.php
データベースライブラリはADODBを使用しています。ダウンロードはこちら→
http://adodb.sourceforge.net/
−−−−−−−−−−−−
当方はApache2をSuExecで利用している為、権利関係かと思い、実験的にroot
ユーザにて下記を実施。
# chown -R apache:apache /home/httpd
# chmod -R +x /home/httpd/html/base
しかし、状況変化せず(--;)
base/adodb/server.php
を修正せねばならないのでは想像。。
デフォルトのファイル中に次のような所があったので・・
−−−「server.php」ここから−−−
/*
* Connection parameters
*/
$driver = 'mysql';
$host = 'localhost'; // DSN for odbc
$uid = 'root';
$pwd = 'garbase-it-is';
$database = 'test';
−−−「server.php」ここまで−−−
を
$uid = 'snort'
$pwd = '(snort_logデータベースへのパスワード)'
$database = 'snort_log'
程度に修正追加してみたのですが、状況変わりません(泣)
#まだまだハマりが深い模様です_(_ _;;)_
By Hajime-Satono / hsatono @ iodata.jp
vine-users メーリングリストの案内