(2) Ανίχνευση δικτυακών επιθέσεων με Snort/BASE σε OS X: εγκατάσταση Snort και BASE

Στο πρώτο μέρος έγινε παρουσίαση των απαραίτητων προγραμμάτων ώστε να μπορούμε να χρησιμοποιήσουμε το Snort και το BASE, το web front end του. Για τη λειτουργία τους χρειάζονται: Ο apache που είναι μέρος της εγκατάστασης του Leopard καθώς και τα Xtools, X11, MacPorts, PHP και MySQL. Στο δεύτερο μέρος θα δημιουργήσουμε την βάση δεδομένων για τα στοιχεία που θα μαζεύει το snort και θα εγκαταστήσουμε τα Snort και BASE.

1. Δημιουργία της βάσης δεδομένων snort:

Κάνουμε login στην mysql χρησιμοποιώτας στο terminal την παρακάτω εντολή και password το «ότιθέλουμε» που δώσαμε κατά την εγκατάσταση της mySQL.

mysql5 -u root -p

Μέσα στο monitor της mysql (mysql>) συνεχίζουμε δίνοντας διαδοχικά της εντολές:

mysql> create database snort;
mysql> grant INSERT,SELECT on root.* to snort@localhost;
mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort@localhost;
mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort;
mysql> SET PASSWORD FOR snort@localhost = OLD_PASSWORD(‘ότιθέλουμε’);
mysql> exit

2. Εγκατάσταση και ρύθμιση του BASE, δίνοντας στο terminal τα παρακάτω:

sudo port install base

Δημιουργία symbolic links μέσα στο φάκελλο που βρίσκεται το root του apache:

cd /Library/WebServer/Documents
sudo ln -s /opt/local/share/adodb5 adodb
sudo ln -s /opt/local/share/base base

Ρύθμιση του base_conf.php:

cd /opt/local/share/base
sudo cp base_conf.php.dist base_conf.php
nano /opt/local/share/base/base_conf.php

Στον editor κάνουμε τα παρακάτω έτσι και σώζουμε:

$BASE_urlpath = ‘/base’;
$DBlib_path = ‘//Library/WebServer/Documents/adodb’;
$alert_dbname = ‘snort’;
$alert_host = ‘localhost’;
$alert_user = ‘snort’;
$alert_password = ‘ότιθέλουμε’;
$archive_dbname = ‘snort’;
$archive_user = ‘snort’;
$archive_password = ‘ότιθέλουμε’;
$archive_host = ‘localhost’;

ΠΡΟΣΟΧΗ: Οι διαδρομές που ακολουθώ ισχύουν στην εγκατάστασή μου και στις εκδόσεις των προγραμμάτων που χρησιμοποιώ. Η διαδικασία είναι κοινή όπου και να βρίσκονται τα αντίστοιχα δικά σας αρχεία ΑΛΛΑ θα πρέπει στις εντολές να βάλετε τις δικές σας διαδρομές.

3. Εγκατάσταση και ρύθμιση του Snort:

sudo port install snort +mysql5 +server

Για να δουλέψει το snort χρειάζεται κάποιους «κανόνες» σύμφωνα με τους οποίους θα αναγνωρίζει τις επιθέσεις. Οι κανόνες αυτοί βρίσκονται εδώ και υπάρχουν για κάθε διαφορετική έκδοση του snort 3 είδη rules. Για την έκδοση snort που έχω εγκαταστήσει δεν δούλεψαν οι τελευταίοι κανόνες για unregistered user (ίσως και από δικό μου λάθος), οπότε έκανα register και κατέβασα rules για την έκδοση snort 2.6. Την έκδοση ενός προγράμματος των macports, μπορούμε να την δούμε με την εντολή: port info όνομαπρογράμματος

snort info

Αποσυμπιέζουμε τους κανόνες και συνεχίζουμε στο terminal με την εισαγωγή τους στο snort:

cd διαδρομήφάκελουπουτουςαποσυμπιέσαμε/rules
sudo cp * /opt/local/etc/snort/rules
sudo cp *.config /opt/local/etc/snort

Το επόμενο βήμα είναι να φτιάξουμε σωστά το snort.conf:

cd /opt/local/etc/snort
sudo mv snort.conf.dist snort.conf
sudo pico /opt/local/etc/snort/snort.conf
sudo nano /opt/local/etc/snort/snort.conf

και φτιάχνουμε τα παρακάτω έτσι:

# Path to your rules files
var RULE_PATH /opt/local/etc/snort/rules
# database: log to a variety of databases
output database: alert, mysql, user=snort password=οτιθέλουμε dbname=snort host=localhost
var HOME_NET [10.1.1.0/24,192.168.1.0/24]

Αν το δίκτυό μας είναι ιδιαίτερο τότε η τελευταία γραμμή πρέπει να προσαρμοστεί κατάλληλα. Αν δεν έχουμε ιδέα τι σημαίνει αυτή, τότε είναι μια χαρά όπως είναι καθώς και όλες οι υπόλοιπες ρυθμίσεις. 😉

4. Προετοιμασία της database «snort» που φτιάξαμε στην mySQL με τα πεδία που χρειάζεται το snort και έλεγχος αν όλα έγιναν σωστά:

cd /opt/local/share/snort/schemas
cat create_mysql | mysql5 –u root -p snort
mysql5 –u root –p

mysql> show databases;
mysql> use snort;
mysql> show tables;
mysql> exit

Στο προτελευταίο βήμα πρέπει να δούμε τα παρακάτω αποτελέσματα:

——————+
| Tables_in_snort |
+——————+
| data |
| detail |
| encoding |
| event |
| icmphdr |
| opt |
| reference |
| reference_system |
| schema |
| sensor |
| sig_class |
| sig_reference |
| signature |
| tcphdr |
| udphdr |
+——————+
16 rows in set (0.00 sec)

Το επόμενο βήμα είναι να κάνουμε εισαγωγή τα tables που χρειάζεται το BASE:

cd /opt/local/share/base/sql
cat create_base_tbls_mysql.sql | mysql5 -u root -p snort

Για να σιγουρευτούμε ότι όλα έγιναν σωστά κάνουμε πάλι τα βήματα για τον έλεγχο της βάσης snort και των tables που έχει πια:

mysql5 –u root –p
mysql> show databases;
mysql> use snort;
mysql> show tables;
mysql> exit

Στο προτελευταίο βήμα πρέπει να πάρουμε το παρακάτω αποτέλεσμα:

snort/base schema

5. Εντολές εκκίνησης ή διακοπής των προγραμμάτων που αναφέρθηκαν στο συγκεκριμένο σύστημα-στήσιμο:

Εκκίνηση του snort:

sudo snort –c /opt/local/etc/snort/snort.conf

Εκκίνηση του snort σαν daemon:

sudo snort –D –c /opt/local/etc/snort/snort.conf

Εκκίνηση του snort με δεδομένα από αρχείο:

sudo snort -r όνομααρχείου.tcpdump -c /opt/local/etc/snort/snort.conf

Επανεκκίνηση του apache:

sudo apachectl restart

Εκκίνηση της mySQL:

sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

Διακοπή λειτουργίας της mySQL:

sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist

snort-import snort-results

Αποτέλεσμα: Αν όλα πήγαν καλά και μαζέψαμε ή κάναμε εισαγωγή δεδομένα, γράφοντας στην μπάρα διεύθυνσης του browser http://localhost/base/index.php θα βρεθούμε στην κεντρική σελίδα του BASE (Basic Analysis and Security Engine).
Τι γίνεται από δω και πέρα ιδέα δεν έχω. Μου αρέσει να κάνω τα πράγματα να συμβαίνουν. Αυτό που συμβαίνει όμως είναι δουλειά των ειδικών. Είμαι άσχετη από αυτά. :secret:

BASE alerts

Advertisements

One thought on “(2) Ανίχνευση δικτυακών επιθέσεων με Snort/BASE σε OS X: εγκατάσταση Snort και BASE

  1. Παράθεμα: Ανίχνευση δικτυακών επιθέσεων με Snort/BASE σε OS X « digita|_bot

Σχολιάστε

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s