Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

Σύμφωνα με στατιστικά στοιχεία, ο όγκος της κίνησης του δικτύου αυξάνεται κατά περίπου 50% κάθε χρόνο. Αυτό οδηγεί σε αύξηση του φορτίου στον εξοπλισμό και, ειδικότερα, αυξάνει τις απαιτήσεις απόδοσης του IDS / IPS. Μπορείτε να αγοράσετε ακριβό εξειδικευμένο υλικό, αλλά υπάρχει μια φθηνότερη επιλογή - η εισαγωγή ενός από τα συστήματα ανοιχτού κώδικα. Πολλοί αρχάριοι διαχειριστές δυσκολεύονται να εγκαταστήσουν και να διαμορφώσουν δωρεάν IPS. Στην περίπτωση του Suricata, αυτό δεν είναι απολύτως αληθές - μπορείτε να το εγκαταστήσετε και να αρχίσετε να αποκρούετε τυπικές επιθέσεις με ένα σύνολο δωρεάν κανόνων μέσα σε λίγα λεπτά.

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata
Snort ή Suricata. Μέρος 1: Επιλογή ενός δωρεάν IDS/IPS για την προστασία του εταιρικού σας δικτύου

Γιατί χρειαζόμαστε ένα άλλο ανοιχτό IPS;

Το Snort θεωρείται από καιρό το πρότυπο, το Snort βρίσκεται σε ανάπτυξη από τα τέλη της δεκαετίας του '6, επομένως ήταν αρχικά μονής κλωστή. Με τα χρόνια, όλα τα σύγχρονα χαρακτηριστικά έχουν εμφανιστεί σε αυτό, όπως η υποστήριξη IPvXNUMX, η δυνατότητα ανάλυσης πρωτοκόλλων σε επίπεδο εφαρμογής ή μια καθολική μονάδα πρόσβασης δεδομένων.

Ο πυρήνας κινητήρας Snort 2.X έχει μάθει να λειτουργεί με πολλαπλούς πυρήνες, αλλά έχει παραμείνει μονόκλωνος και επομένως δεν μπορεί να εκμεταλλευτεί βέλτιστα τις σύγχρονες πλατφόρμες υλικού.

Το πρόβλημα λύθηκε στην τρίτη έκδοση του συστήματος, αλλά χρειάστηκε τόσος χρόνος για την προετοιμασία που το Suricata, γραμμένο από την αρχή, κατάφερε να εμφανιστεί στην αγορά. Το 2009, άρχισε να αναπτύσσεται ακριβώς ως μια εναλλακτική λύση πολλαπλών νημάτων στο Snort, το οποίο διαθέτει λειτουργίες IPS εκτός συσκευασίας. Ο κωδικός διανέμεται με την άδεια GPLv2, αλλά οι οικονομικοί εταίροι του έργου έχουν πρόσβαση σε μια κλειστή έκδοση του κινητήρα. Ορισμένα προβλήματα επεκτασιμότητας προέκυψαν στις πρώτες εκδόσεις του συστήματος, αλλά επιλύθηκαν γρήγορα.

Γιατί Surica;

Το Suricata έχει πολλές μονάδες (παρόμοιες με το Snort): λήψη, λήψη, αποκωδικοποίηση, ανίχνευση και έξοδος. Από προεπιλογή, η συλληφθείσα κίνηση πηγαίνει πριν την αποκωδικοποίηση σε μία ροή, αν και αυτό φορτώνει περισσότερο το σύστημα. Εάν είναι απαραίτητο, τα νήματα μπορούν να χωριστούν στις ρυθμίσεις και να διανεμηθούν μεταξύ των επεξεργαστών - το Suricata είναι πολύ καλά βελτιστοποιημένο για συγκεκριμένο υλικό, αν και αυτό δεν είναι πλέον ένα επίπεδο HOWTO για αρχάριους. Αξίζει επίσης να σημειωθεί ότι η Suricata διαθέτει προηγμένα εργαλεία επιθεώρησης HTTP που βασίζονται στη βιβλιοθήκη HTP. Μπορούν επίσης να χρησιμοποιηθούν για την καταγραφή της κυκλοφορίας χωρίς εντοπισμό. Το σύστημα υποστηρίζει επίσης αποκωδικοποίηση IPv6, συμπεριλαμβανομένων τούνελ IPv4-in-IPv6, τούνελ IPv6-in-IPv6 και άλλα.

Μπορούν να χρησιμοποιηθούν διαφορετικές διεπαφές για την παρακολούθηση της κυκλοφορίας (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING) και στη λειτουργία Unix Socket, μπορείτε να αναλύσετε αυτόματα αρχεία PCAP που καταγράφηκαν από άλλο sniffer. Επιπλέον, η αρθρωτή αρχιτεκτονική του Suricata καθιστά εύκολη τη σύνδεση νέων στοιχείων για τη λήψη, την αποκωδικοποίηση, την ανάλυση και την επεξεργασία πακέτων δικτύου. Είναι επίσης σημαντικό να σημειωθεί ότι στη Suricata, η κυκλοφορία εμποδίζεται μέσω ενός κανονικού φίλτρου του λειτουργικού συστήματος. Το GNU/Linux έχει δύο επιλογές για το πώς λειτουργεί το IPS: μέσω της ουράς NFQUEUE (λειτουργία NFQ) και μέσω μηδενικού αντιγράφου (λειτουργία AF_PACKET). Στην πρώτη περίπτωση, το πακέτο που εισάγει iptables αποστέλλεται στην ουρά NFQUEUE, όπου μπορεί να υποβληθεί σε επεξεργασία σε επίπεδο χρήστη. Η Suricata το τρέχει σύμφωνα με τους δικούς της κανόνες και εκδίδει μία από τις τρεις ετυμηγορίες: NF_ACCEPT, NF_DROP και NF_REPEAT. Τα δύο πρώτα είναι αυτονόητα, ενώ το τελευταίο επιτρέπει στα πακέτα να επισημαίνονται και να αποστέλλονται στην κορυφή του τρέχοντος πίνακα iptables. Η λειτουργία AF_PACKET είναι ταχύτερη, αλλά επιβάλλει ορισμένους περιορισμούς στο σύστημα: πρέπει να έχει δύο διεπαφές δικτύου και να λειτουργεί ως πύλη. Το αποκλεισμένο πακέτο απλώς δεν προωθείται στη δεύτερη διεπαφή.

Ένα σημαντικό χαρακτηριστικό του Suricata είναι η δυνατότητα χρήσης των εξελίξεων για το Snort. Ο διαχειριστής έχει πρόσβαση, συγκεκριμένα, στα σύνολα κανόνων Sourcefire VRT και OpenSource Emerging Threats, καθώς και στο εμπορικό Emerging Threats Pro. Η ενοποιημένη έξοδος μπορεί να αναλυθεί χρησιμοποιώντας δημοφιλή backends, υποστηρίζεται επίσης η έξοδος PCAP και Syslog. Οι ρυθμίσεις και οι κανόνες συστήματος αποθηκεύονται σε αρχεία YAML, τα οποία διαβάζονται εύκολα και μπορούν να υποβληθούν σε αυτόματη επεξεργασία. Ο κινητήρας Suricata αναγνωρίζει πολλά πρωτόκολλα, επομένως οι κανόνες δεν χρειάζεται να συνδέονται με έναν αριθμό θύρας. Επιπλέον, η έννοια των flowbits εφαρμόζεται ενεργά στους κανόνες του Suricata. Για την παρακολούθηση της ενεργοποίησης, οι μεταβλητές περιόδου λειτουργίας χρησιμοποιούνται για τη δημιουργία και την εφαρμογή διαφόρων μετρητών και σημαιών. Πολλά IDS αντιμετωπίζουν διαφορετικές συνδέσεις TCP ως ξεχωριστές οντότητες και ενδέχεται να μην βλέπουν μια σύνδεση μεταξύ τους που να υποδεικνύει την έναρξη μιας επίθεσης. Το Suricata προσπαθεί να δει ολόκληρη την εικόνα και σε πολλές περιπτώσεις αναγνωρίζει κακόβουλη κίνηση που κατανέμεται σε διαφορετικές συνδέσεις. Μπορείτε να μιλήσετε για τα πλεονεκτήματά του για μεγάλο χρονικό διάστημα, καλύτερα να προχωρήσουμε στην εγκατάσταση και τη διαμόρφωση.

Πώς να εγκαταστήσω?

Θα εγκαταστήσουμε το Suricata σε έναν εικονικό διακομιστή που τρέχει το Ubuntu 18.04 LTS. Όλες οι εντολές πρέπει να εκτελούνται για λογαριασμό του υπερχρήστη (root). Η πιο ασφαλής επιλογή είναι να εισάγετε το SSH στον διακομιστή ως κανονικό χρήστη και στη συνέχεια να χρησιμοποιήσετε το βοηθητικό πρόγραμμα sudo για να αυξήσετε τα δικαιώματα. Πρώτα πρέπει να εγκαταστήσετε τα πακέτα που χρειαζόμαστε:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

Σύνδεση εξωτερικού χώρου αποθήκευσης:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

Εγκαταστήστε την πιο πρόσφατη σταθερή έκδοση του Suricata:

sudo apt-get install suricata

Εάν είναι απαραίτητο, επεξεργαστείτε το όνομα των αρχείων διαμόρφωσης, αντικαθιστώντας το προεπιλεγμένο eth0 με το πραγματικό όνομα της εξωτερικής διεπαφής του διακομιστή. Οι προεπιλεγμένες ρυθμίσεις αποθηκεύονται στο αρχείο /etc/default/suricata και οι προσαρμοσμένες ρυθμίσεις αποθηκεύονται στο /etc/suricata/suricata.yaml. Η διαμόρφωση του IDS περιορίζεται κυρίως στην επεξεργασία αυτού του αρχείου διαμόρφωσης. Έχει πολλές παραμέτρους που, ως προς το όνομα και τον σκοπό, συμπίπτουν με ανάλογα από το Snort. Ωστόσο, η σύνταξη είναι εντελώς διαφορετική, αλλά το αρχείο διαβάζεται πολύ πιο εύκολα από τις ρυθμίσεις του Snort και σχολιάζεται καλά.

sudo nano /etc/default/suricata

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

Προσοχή! Πριν ξεκινήσετε, αξίζει να ελέγξετε τις τιμές των μεταβλητών από την ενότητα vars.

Για να ολοκληρώσετε τη ρύθμιση, θα χρειαστεί να εγκαταστήσετε την ενημέρωση suricata για να ενημερώσετε και να φορτώσετε τους κανόνες. Είναι πολύ εύκολο να το κάνετε αυτό:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

Στη συνέχεια, πρέπει να εκτελέσουμε την εντολή suricata-update για να εγκαταστήσουμε το σύνολο κανόνων Emerging Threats Open:

sudo suricata-update

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

Για να προβάλετε τη λίστα των πηγών κανόνων, εκτελέστε την ακόλουθη εντολή:

sudo suricata-update list-sources

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

Ενημέρωση πηγών κανόνων:

sudo suricata-update update-sources

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

Επανεξέταση ενημερωμένων πηγών:

sudo suricata-update list-sources

Εάν είναι απαραίτητο, μπορείτε να συμπεριλάβετε διαθέσιμες δωρεάν πηγές:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

Μετά από αυτό, πρέπει να ενημερώσετε ξανά τους κανόνες:

sudo suricata-update

Αυτό ολοκληρώνει την εγκατάσταση και την αρχική διαμόρφωση του Suricata στο Ubuntu 18.04 LTS. Μετά αρχίζει η διασκέδαση: στο επόμενο άρθρο, θα συνδέσουμε έναν εικονικό διακομιστή στο δίκτυο του γραφείου μέσω VPN και θα αρχίσουμε να αναλύουμε όλη την εισερχόμενη και εξερχόμενη κίνηση. Θα δώσουμε ιδιαίτερη προσοχή στον αποκλεισμό επιθέσεων DDoS, της δραστηριότητας κακόβουλου λογισμικού και των προσπαθειών εκμετάλλευσης τρωτών σημείων σε υπηρεσίες προσβάσιμες από δημόσια δίκτυα. Για λόγους σαφήνειας, θα προσομοιωθούν επιθέσεις των πιο συνηθισμένων τύπων.

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

Snort ή Suricata. Μέρος 2: Εγκατάσταση και αρχική ρύθμιση του Suricata

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο