מה זה Snorby?
יישום אינטרנטי לניתוח ולניטור אבטחה ברשת ומשמש כהרחבה למערכות לגילוי חדירה כגון: Snort, Suricata ו-Sagan.
הכנות להתקנה:
1. התקנת Ruby 1.9.2
2. התקנת Rails 3.0.0
3. התקנת Snort
נתחיל בהתקנה של הכלים הנדרשים:
1. התקנת aptitude:
4. התקנת Curl & RVM:
8. התקנת Snort:
יש להריץ את הפקודה הבאה:
כעת, נערוך באמצעות nano את קובץ הקונפיגורציה של Snort:
nano -c /etc/snort/snort.conf
בשורה מספר 537 להחליף את השורה הכתובה בשורה הבאה:
output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types
alert icmp any any -> $HOME_NET any (msg:"ICMP Request"; classtype:not-suspicious; sid:1000001; rev:1;)
alert tcp any any -> $HOME_NET 80 (msg:"HTTP Connection"; classtype:not-suspicious; sid:1000002; rev:1;)
Snort exiting
sudo wget https://github.com/firnsy/barnyard2/tarball/master
sudo tar -zxf master
cd firnsy-barnyard2*
sudo autoreconf -fvi -I ./m4
sudo ./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu/
ln -s /usr/include/dumbnet.h /usr/include/dnet.h
sudo make
sudo make install
sudo cp /usr/local/etc/barnyard2.conf /etc/snort
sudo cp schemas/create_mysql /usr/src
sudo mkdir /var/log/barnyard2
output database: log, mysql, user=snort password=Sisma dbname=snort host=localhost
sudo bash -c "sudo ./create-sidmap.pl /etc/snort/rules > /etc/snort/sid-msg.map"
12. הגדרת מסד הנתונים MySQL:
tar vxf wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
cp wkhtmltox/bin/wk* /usr/local/bin/
באמצעות דפדפן האינטרנט ניתן לגשת אל ממשק המשתמש של Snorby, הכתובת המוגדרת כברירת מחדל היא 127.0.0.1:3000 אך ניתן לגשת לכתובת אחרת במידה והוגדרה.
יישום אינטרנטי לניתוח ולניטור אבטחה ברשת ומשמש כהרחבה למערכות לגילוי חדירה כגון: Snort, Suricata ו-Sagan.
הכנות להתקנה:
1. התקנת Ruby 1.9.2
2. התקנת Rails 3.0.0
3. התקנת Snort
נתחיל בהתקנה של הכלים הנדרשים:
1. התקנת aptitude:
sudo apt-get install aptitude -y
sudo aptitude update -y
apt-get install libdumbnet-dev -y
sudo aptitude update -y
2. התקנת libdaq-dev:
sudo apt-get install libdaq-dev -y
3. התקנת libdumbnet-dev:
apt-get install libdumbnet-dev -y
4. התקנת Curl & RVM:
יש להריץ את הפקודות הבאות:
sudo aptitude install build-essential git-core curl
sudo gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
source /usr/local/rvm/scripts/rvm
rvm requirements
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc
5. התקנת הכלים הבאים:
aptitude install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zliblg zliblg-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libslt-dev sutoconf
6. התקנת PHP:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6 -y
7. התקנת הכלים הבאים:
sudo apt-get install libmysqlclient-dev -y
sudo apt-get install postgresql -y
sudo apt install postgresql postgresql-contrib -y
sudo apt-get install ruby-redcloth -y
sudo apt-get install postgresql-9.5 postgresql-server-dev-9.5 libpq-dev -y
apt install ruby-railties -y
apt install ruby-bundler -y
sudo apt-get install ruby-dev -y
sudo apt-get install libpcap0.8-dev -y
apt install ruby-bundler -y
sudo apt-get install ruby-dev -y
sudo apt-get install libpcap0.8-dev -y
8. התקנת Snort:
יש להריץ את הפקודה הבאה:
apt-get install snort -y
כעת, נערוך באמצעות nano את קובץ הקונפיגורציה של Snort:
בשורה מספר 537 להחליף את השורה הכתובה בשורה הבאה:
יש לבצע הפעלה מחדש לשירות של סנורט:
sudo service snort restart
לאחר ש-Snort הותקן, ניתן להוסיף אליו חוקים, נערוך באמצעות nano את הקובץ הבא:
sudo nano /etc/snort/rules/local.rules
ונוסיף את החוקים הבאים:
alert icmp any any -> $HOME_NET any (msg:"ICMP Request"; classtype:not-suspicious; sid:1000001; rev:1;)
alert tcp any any -> $HOME_NET 80 (msg:"HTTP Connection"; classtype:not-suspicious; sid:1000002; rev:1;)
כעת נבדוק ש-Snort עובד כמו שצריך ונחיל את החוקים החדשים:
sudo snort -i ens4 -v
sudo snort -A console -u snort -g snort -c /etc/snort/snort.conf -i ens4 -T
אם התהליך הסתיים תקין, תוצג ההודעה הבאה:
Snort successfully validated the configuration!Snort exiting
8. התקנת PhpMyAdmin, Apache ו-MySQL:
sudo apt-get install mysql-server -y
apt-get install apache2 phpmyadmin -y
9. התקנת Ruby:
rvm install 1.9.3
rvm --default use 1.9.3
apt-get install bundler
apt-get install bundler
10. התקנת Barnyard:
cd /usr/srcsudo wget https://github.com/firnsy/barnyard2/tarball/master
sudo tar -zxf master
cd firnsy-barnyard2*
sudo autoreconf -fvi -I ./m4
sudo ./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu/
ln -s /usr/include/dumbnet.h /usr/include/dnet.h
sudo make
sudo make install
sudo cp /usr/local/etc/barnyard2.conf /etc/snort
sudo cp schemas/create_mysql /usr/src
sudo mkdir /var/log/barnyard2
11. הגדרת Barnyard2:
נערוך את קובץ הקונפיגורציה באמצעות עורך הטקסט nano:
nano -c /etc/snort/barnyard2.conf
בשורה 349 נוסיף את השורה הבאה במקום המילה Sisma נכניס את הסיסמה שהכנסנו למסד הנתונים:
נעבור אל תיקיית oinkmaster
cd /usr/share/oinkmastersudo bash -c "sudo ./create-sidmap.pl /etc/snort/rules > /etc/snort/sid-msg.map"
12. הגדרת מסד הנתונים MySQL:
כעת יש להתחבר לשרת שם המשתמש והסיסמה שנבחרו על מנת ליצור מסד נתונים יעודי ל-Snort:
sudo mysql -u root -p
create database snort;
create database archive;
create user 'snort'@'localhost' IDENTIFIED BY 'SISMA';
grant usage on snort.* to snort@localhost;
grant usage on archive.* to snort@localhost;
grant all privileges on snort.* to snort@localhost;
grant all privileges on archive.* to snort@localhost;
flush privileges;
use snort;
source /usr/src/create_mysql;
כעת, נוודא שהטבלאות נוצרו:
show tables;
exit
בדיקת הרצה של Barnyard2:
נריץ את Barnyard2 באמצעות הפקודה הבאה:
sudo /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/barnyard2/bylog.waldo -C /etc/snort/classification.config
13. התקנת Wkhtmltopdf:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xztar vxf wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
cp wkhtmltox/bin/wk* /usr/local/bin/
14. התקנת Snorby:
נוריד את snorby:
git clone git://github.com/Snorby/snorby.git
bundle install / bundle install --path vendor/cache
נעבור אל התיקייה ונתקין את המערכת:
cd snorbybundle install / bundle install --path vendor/cache
נעבור אל תיקיית הקונפיגורציה ונשנה את שמות הקבצים:
cd config
cp database.yml.example database.yml
cp database.yml.example database.yml
cp snorby_config.yml.example snorby_config.yml
כעת, ניגש אל התיקייה של Snorby ונריץ את הפקודה הבאה:
יש להיכנס אל קובץ database.yml ולהזין את הסיסמה של ה-MySQL:
nano database.yml
cd ..
bundle exec rake snorby:setup
bundle exec rake snorby:setup
הגדרת Sensor לשליחת אירועים אל Snorby:
יש לערוך את קובץ הקונפיגורציה של Snort באמצעות nano:
nano -c /etc/snort/snort.conf
בשורה 538, יש להוסיף את השורה הבאה:
output log_unified2: filename snort.log, limit 128
יש להיכנס את קובץ הקונפיגורציה של Barnyard2 ובשורה 351 יש להוסיף:
nano -c /etc/snort/barnyard2.conf
output database: log, mysql, dbname=snorby user=snortusr password=sisma host=localhost
נחזור אל התיקייה הקודמת ונריץ את השרת שלנו:
bundle exec rails server -e production -b 0.0.0.0
באמצעות דפדפן האינטרנט ניתן לגשת אל ממשק המשתמש של Snorby, הכתובת המוגדרת כברירת מחדל היא 127.0.0.1:3000 אך ניתן לגשת לכתובת אחרת במידה והוגדרה.
שם המשתש: snorby@example.com
סיסמה: snorby
כעת, כשהכל כבר פועל יש להריץ את הפקודה הבאה במקביל ולבדוק אם מתקבלים אירועים:
sudo /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/barnyard2/bylog.waldo -C /etc/snort/classification.config

