Snort and Snorby Installation (Ubuntu 10.04) INCOMPLETE - Snorby/snorby GitHub Wiki

This guide will show you how to fully install & configure the Snort Intrusion Detection System (IDS) with Barnyard 2 to work with the new Snorby 2.0 on Ubuntu 10.04.

This guide assumes you have a bare-bones Ubuntu Server installation

Install some packages

apt-get install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev linux-headers-generic libsqlite3-dev libxslt-dev libxml2-dev

Whew! Ok let's install Ruby 1.9.2 if you want to have multiple versions of ruby installed you can try Ruby Version Manager

wget http://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
tar -xvzf ruby-1.9.2-p0.tar.gz
cd ruby-1.9.2-p0
./configure
make && make install

Ruby 1.9.2 comes with Ruby gems but before installing the gems we need for Snorby we need to install MySQL, git support and Image Magick.

apt-get install imagemagick git-core libmysqlclient-dev mysql-server libmagickwand-dev 

Ok, now we can install the gems.

gem install tzinfo builder memcache-client rack rack-test erubis mail text-format bundler thor i18n sqlite3-ruby
gem install rack-mount --version=0.4.0
gem install rails --version=3.0.2

We need to get a precompiled version of wkhtmltopdf for PDF generation to work correctly.

wget http://dl.dropbox.com/u/38088/wkhtmltopdf
cp wkhtmltopdf /usr/bin/

Ok we have all the pre-requisites, let's get the new Snorby and create a user to run it!

mkdir -p /var/www/snorby
adduser --system --home /var/www/snorby/ --no-create-home --group --shell /bin/bash snorby
usermod -a -G snorby www-data
git clone http://github.com/Snorby/snorby.git /var/www/snorby
cp /root/database.yml /var/www/snorby/config/database.yml

Once we have that taken care of we can install all the other gems by running the following

cd /var/www/snorby
bundle install

Snorby is installed now let's get Snort installed.

Snort requires the following packages...

apt-get install nmap nbtscan libpcap0.8-dev libpcre3-dev bison flex libpcap-ruby libdumbnet-dev \
apache2-mpm-prefork apache2-prefork-dev libapr1-dev libaprutil1-dev aspell libaspell-dev \
libapache2-mod-xsendfile jsvc openjdk-6-jre-headless apg

We also need to compile the following libraries

cd 
wget http://www.snort.org/dl/snort-current/daq-0.3.tar.gz
tar zxvf daq-0.3.tar.gz
cd daq-0.3
./configure
make && make install
wget http://prdownloads.sourceforge.net/libdnet/libdnet-1.11.tar.gz?download
tar zxvf libdnet-1.11.tar.gz?download
cd libdnet-1.11
./configure
make && make install
ln -s /usr/local/lib/libdnet.1 /usr/lib/
ldconfig

Ok! Let's get snort installed.

cd
wget http://www.snort.org/dl/snort-current/snort-2.9.0.2.tar.gz
tar zxvf snort-2.9.0.2.tar.gz
cd snort-2.9.0.2
./configure --with-mysql --enable-gre --enable-reload --enable-linux-smp-stats --enable-zlib
make && make install
mkdir /var/log/snort 
groupadd snort
useradd -g snort snort
chown snort:snort /var/log/snort

Now let's install Barnyard 2

cd
wget http://www.securixlive.com/download/barnyard2/barnyard2-1.8.tar.gz
tar zxvf barnyard2-1.8.tar.gz
cd barnyard2-1.8
./configure --with-mysql
make && make install
cp etc/barnyard2.conf /etc/snort/
mkdir /var/log/barnyard2
chmod 666 /var/log/barnyard2
touch  /var/log/snort/barnyard2.waldo
chown snort:snort /var/log/snort/barnyard2.waldo

Now let's install Apache and Passenger

gem install --no-ri --no-rdoc --version 2.2.15 passenger
/usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/bin/passenger-install-apache2-module -a
echo "LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/ext/apache2/mod_passenger.so" > /etc/apache2/mods-available/passenger.load
echo "" > /etc/apache2/mods-available/passenger.conf
echo "   PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.15" >> /etc/apache2/mods-available/passenger.conf
echo "   PassengerRuby /usr/local/bin/ruby" >> /etc/apache2/mods-available/passenger.conf
echo "" >> /etc/apache2/mods-available/passenger.conf
a2enmod passenger
a2enmod rewrite
a2enmod ssl
⚠️ **GitHub.com Fallback** ⚠️