Suricata saldırı tespit sistemi için Snorby Kurulumu

Snorby, unified2 binary formatında log kayıtlarını toplayan uygulamalar için bir web uygulamasıdır. Suricata gibi saldırı tespit sistemlerinin yönetimi her zaman Snorby üzerinden yapılmayacak. Snorby güzel bir arayüzü olan fonksiyonel bir uygulamadır.

Bu yazıda, daha önce Suricata kurulumu yaptığımız sunucu üzerinde Snorby kurulumu yapacağız.

Kuruluma önce gereksinimlerin kurulmasıyla başlıyoruz:

sudo apt-get install gcc g++ build-essential libssl-dev libreadline6-dev zlib1g-dev linux-headers-generic libsqlite3-dev \
libxslt-dev libxml2-dev imagemagick git-core libmysqlclient-dev mysql-server libmagickwand-dev default-jre ruby1.9.3

Daha sonra Snorby için html raporları pdf formatına dönüştürebilen “wkhtmltopdf” uygulamasını “apt-get” ile değil manuel olarak kuruyoruz, bu önemli !

sudo wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2
bunzip2 wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2
tar xvf wkhtmltopdf-0.10.0_rc2-static-amd64.tar
ls -lh
sudo cp wkhtmltopdf-amd64 /usr/bin/wkhtmltopdf

Snorby gereksinimlerinin kurulmasına devam ediyoruz:

sudo gem install thor i18n bundler tzinfo builder memcache-client rack rack-test erubis mail text-format rack-mount rails sqlite3

Snorby uygulamasını paket olarak indirmek için:

sudo git clone http://github.com/Snorby/snorby.git /var/www/snorby

Daha sonra /var/www/snorby/config/database.yml.example dosyasını aynı klasöre database.yml olarak kopyaladıktan sonra:

snorby: &snorby
adapter: mysql
username: root
password: “mysqlrootpassword”
host: localhost

Bu parola daha sonra değiştirilecek.

Yine aynı klasördeki /var/www/snorby/config/snorby_config.yml.example dosyası aynı klasöre snorby_config.yml olarak kopyalandıktan sonra “wkhtmltopd” klasörünün doğru yeri ve domain bilgisi aşağıdaki gibi güncellenir:

development:
domain: localhost:3000
wkhtmltopdf: /usr/bin/wkhtmltopdf

test:
domain: localhost:3000
wkhtmltopdf: /usr/bin/wkhtmltopdf

production:
domain: localhost:3000
wkhtmltopdf: /usr/bin/wkhtmltopdf
Daha sonra Snorby kurulumuna başlamak için Snorby dosyalarını indirdiğimiz klasöre gidiyoruz:

cd /var/www/snorby
sudo bundle update activesupport railties rails
sudo gem install arel ezprint && sudo bundle install
sudo bundle exec rake snorby:setup

mysql veritabanında “snorbyuser” kullanıcısını oluşturup gerekli yetkiyi tanımlıyoruz:

mysql -u root -p
create user ‘snorbyuser’@’localhost’ IDENTIFIED BY ‘PASSWORD123’;
grant all privileges on snorby.* to ‘snorbyuser’@’localhost’ with grant option;
flush privileges;

Veritabanı dosyasını tekrar güncelleyerek /var/www/snorby/config/database.yml içindeki kullanıcı adı ve parola bilgisini yeni oluşturduğumuz kullanıcı adı ve parola ile değiştiriyoruz:

snorby: &snorby
adapter: mysql
username: snorbyuser
password: “PASSWORD123”
host: localhost

Varsayılan olarak “mysql” localhost sunucusunu dinler, varsayılan davranışı değiştirmek için /etc/mysql/my.cnf dosyasını güncellemelisiniz:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

sudo service mysql restart
sudo lsof -i | grep mysqld

Apache web sunucu kurulumu için gerekli paketler:

sudo apt-get install apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev ruby-dev libruby1.9.1 libcurl4-openssl-dev

sudo service apache2 start

sudo gem install –no-ri –no-rdoc passenger
sudo /usr/local/bin/passenger-install-apache2-module -a
“passenger.load” dosyası yoksa oluşturulmalı /etc/apache2/mods-available/passenger.load güncellenecek olan “mod_passenger.so” dosyasının yerini bulmak için:

sudo find / -name “*mod_passenger*”
/var/lib/gems/1.9.1/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so

“passenger.load” dosyası içine aşağıdaki bilgiler kopyalayıp kaydetmek gerekiyor.

LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so

<IfModule mod_passenger.c>
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.53
PassengerDefaultRuby /usr/bin/ruby1.9.1
</IfModule>

APACHE2 servisini restart ettiğinizde aşağıdaki hatayı alıyorsanız!

sudo service apache2 restart

* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message

Ubuntu 14.04’te:

echo “ServerName localhost” | sudo tee /etc/apache2/conf-available/fqdn.conf
sudo ln -s /etc/apache2/conf-available/fqdn.conf /etc/apache2/conf-enabled/fqdn.conf
dosyasının içinde
ServerName Localhost
Eklenmeli!

sudo a2enmod passenger
sudo service apache2 restart

sudo a2enmod rewrite
sudo service apache2 restart

sudo a2enmod ssl
sudo service apache2 restart
sudo chown www-data:www-data /var/www/snorby -R

Son olarak /etc/apache2/sites-available klasöründe “snorby” dosyası oluşturup:

<VirtualHost *:80>
ServerAdmin gencer@localhost
ServerName snorby.server
# !!! Be sure to point DocumentRoot to ‘public’!
DocumentRoot /var/www/snorby/public

<Directory /var/www/snorby/public>
# This relaxes Apache security settings.
AllowOverride all
Order deny,allow
Allow from all
# MultiViews must be turned off.
Options -MultiViews
# Uncomment this if you’re on Apache >= 2.4:
#Require all granted
</Directory>
</VirtualHost>

Yeni web sayfasını etkinleştirmek için:

sudo ln -s /etc/apache2/sites-available/snorby /etc/apache2/sites-enabled/snorby_config

sudo service apache2 restart
cd /var/www/snorby
sudo bundle pack && sudo bundle install –path vendor/cache
Sonrasında /etc/hosts dosyasını aşağıdaki şekilde güncellemek gerekir:

127.0.0.1 localhost
127.0.1.1 ubuntu64LTS
127.0.0.1 snorby.server

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Son olarak Snorby sunucusunu başlatmak için:

sudo service apache2 restart
cd /var/www/snorby/
sudo bundle exec rails server -e production
sudo ruby script/delayed_job start RAILS_ENV=production
Web sayfasından Snorby arayüzünü açmak için:

http://snorby.server:3000

Kullanıcı adı: [email protected]
Parola: snorby
ile varsayılan kullanıcı adı ve parola ile giriş yapabilirsiniz.

Kaynak: https://redmine.openinfosecfoundation.org/projects/suricata/wiki/suricata_snorby_and_barnyard2_set_up_guide