2012年9月24日 星期一

Snorby安裝時的注意事項

最近因工作上的關係,又把Snorby拿出來裝了一遍。發現有很多細節容易被疏露掉。
因此作一個小整理:
1、在安裝完Snorby之後,記得要建立資料庫:
 bundle exec rake snorby:setup
資料庫的帳號密碼是存在config裡面的database.yml,奇怪的是新版的Snorby,竟然沒有這個檔案,要自己生出來。( 2.5.1 )
檔案長得像這樣:
snorby: &snorby
  adapter: mysql
  username: root
  password: mypassword
  host: localhost
development:
  database: snorby
  <<: p="p" snorby="snorby">test:
  database: snorby
  <<: p="p" snorby="snorby">production:
  database: snorby
  <<: br="br" snorby="snorby">


2、建立好資料庫之後,正常來說應該是這樣啟動Snorby的:
bundle exec rails server -e production
不過我之前去用apache透過passenger來呼叫Snorby,運作上也正常就是了。
補一下apahce相關的設定:
root@ubuntu:/# cat /etc/apache2/mods-available/passenger.conf
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.17
PassengerRuby /usr/local/bin/ruby
root@ubuntu:/# cat /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.17/ext/apache2/mod_passenger.so

3、安裝完Snorby之後會發現資料一直進不來,這是因為新版(?)需要透過barnyard2將snort的log讀進Snorby資料庫的關係。
snort.conf記得要改一個地方(預設值沒有寫....),不然你試到死都不會有資料進snorby的event這個table (在barnyard2執行時會一直是0 record..)

output unified2: filename snort.log, limit 128

就是這個:unified2。

再來,barnyard2.conf要注意的地方如下:

input unified2 (這個好像預設就有)
output database: log, mysql, user=root password=mypassword dbname=snorby host=localhost

4、snorby的database裡sensor的table也是從這裡寫進去的。不過即使格式錯誤,sensor也能寫入就是了。
(這邊的格式錯誤是指,你忘了改snort.conf裡面的unified2)

5、最後是wkhtmltopdf的問題了,wkhtmltopdf是用來讓Snorby輸出pdf檔的。
不過通常我不能直接執行,原因是我沒裝X11
一般是這樣解:(我上次好像是這樣解的)
xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf --dpi 200 --page-size A4
去動snorby_config.yml裡面的wkhtmltopdf的路徑的手腳。

不過這一次我想換其它解法,所以我找了其它解法:
wkhtmltopdf without X11:
http://aaronvb.com/articles/26-pdfkit-and-wkhtmltopdf-without-x-server--using-qt

sudo apt-get build-dep libqt4-gui libqt4-network libqt4-webkit
sudo apt-get install openssl build-essential xorg git-core git-doc libssl-dev
mkdir ~/sources
cd ~/sources
git clone git://gitorious.org/+wkhtml2pdf/qt/wkhtmltopdf-qt.git wkhtmltopdf-qt
cd wkhtmltopdf-qt
./configure -nomake tools,examples,demos,docs,translations -opensource -prefix ../wkqt
make -j3
make install
cd ..

Next install wkhtmltopdf:
git clone git://github.com/antialize/wkhtmltopdf.git wkhtmltopdf
cd wkhtmltopdf
../wkqt/bin/qmake
make -j3
make install
這個方法是有用的,記得看一下env,看PATH這個環境變數是哪個目錄優先,再把剛生出來的wkhtmltopdf這個檔案丟過去那個目錄就好了。

然後 snorby_config.yml這個檔案記得要改一下:
   wkhtmltopdf: '/usr/local/sbin/wkhtmltopdf'
單引號好像可加可不加,我懶得試了。


6、目前除了
Snort Alert [1:100000160:0]
這個log不曉得是格式有誤(但其它格式又能正確判斷),還是Snort還不認識這個sid的關係(但Snort卻又知道它是attempted-dos)和export to pdf的問題之外,其它大致都解決了。

 7、主要參考以下兩個網頁:

https://github.com/Snorby/snorby/wiki/Ubuntu-11.10-by-Andrea-Modesto-Rossi

http://caleudum.com/snorby-installation-on-ubuntu-11-04/



8、報表有日報表、週報表、月報表之類的。*(真怪,之前亂裝什麼都是一次ok,這一次認真要裝,就遇到一堆問題 XD)

報表可以用mail寄。
測試的方法是:
/var/www/snorby/script# rails runner "Event.run_daily_report"

目前有下列的錯誤訊息:
/var/www/snorby/vendor/cache/ruby/1.9.1/gems/railties-3.1.0/lib/rails/commands/runner.rb:49:in `eval': undefined method `run_daily_report' for Event:Class (NoMethodError)
找不到解決的方法 (其實我對這一塊很不熟,因此只能自己google資料慢慢找)
《這個方法是沒有用的,留著是提醒自己不要再用這個方法測試》

所以我們再換一個方法:(我改成透過sendmail寄信,讓它重讀參數,我之前是用重開機的,似乎沒有效)
sudo pkill -f delayed_job
bundle exec rake snorby:update RAILS_ENV=production
結果竟然成功了!

於是我再改成透過gmail寄信。當然是ok。
這邊要註記一下,
用來登入的e-mail 就是收件者的mail。
如果你設定的寄件者名稱無法用來寄信,snorby就會帶mail_config.rb裡面的設定檔的名稱來寄。













沒有留言:

張貼留言