Προστατέψτε το δίκτυό σας από εισβολείς και ανεπιθύμητες επιθέσεις εγκαθιστώντας και ρυθμίζοντας το Snort IDS.
Εάν ενδιαφέρεστε σοβαρά για την ασφάλεια του δικτύου, η εγκατάσταση μιας λύσης IPS ή IDS είναι απαραίτητη για την ενίσχυση της περιμέτρου του δικτύου και την εκτροπή της δυνητικά ανεπιθύμητης κυκλοφορίας δικτύου.
Το Snort είναι μια τέτοια διάσημη, δωρεάν για προσωπική χρήση και ανοιχτού κώδικα λύση IPS/IDS. Ας μάθουμε πώς μπορείτε να εγκαταστήσετε και να ρυθμίσετε το Snort στο Linux για να προστατεύσετε το δίκτυό σας από επιθέσεις στον κυβερνοχώρο.
Τι είναι το Snort;
Το Snort είναι ανοιχτού κώδικα Σύστημα Ανίχνευσης και Πρόληψης Εισβολής Δικτύου Λογισμικό (NIDS/IPS) που, όπως υποδηλώνει το όνομα, βοηθά στην ασφάλεια της περιμέτρου του δικτύου σας επιβάλλοντας κανόνες και φίλτρα που εντοπίζουν και απορρίπτουν δυνητικά κακόβουλα πακέτα που εισάγονται στο δίκτυό σας.
Με το Snort, θα μπορείτε να εκτελείτε προηγμένη καταγραφή της κυκλοφορίας δικτύου, sniffing και ανάλυση πακέτων και να ορίσετε δημιουργήστε ένα ισχυρό σύστημα αποτροπής εισβολής που προστατεύει το δίκτυό σας από ανεπιθύμητα και δυνητικά κακόβουλα ΚΙΝΗΣΗ στους ΔΡΟΜΟΥΣ.
Προϋποθέσεις για την εγκατάσταση του Snort
Πριν εγκαταστήσετε το Snort, πρέπει να κάνετε κάποια προκαταρκτική ρύθμιση. Αυτό περιλαμβάνει κυρίως την ενημέρωση και την αναβάθμιση του συστήματός σας και την εγκατάσταση των εξαρτήσεων που απαιτούνται από το Snort για να λειτουργήσει σωστά.
Ξεκινήστε με την ενημέρωση και την αναβάθμιση του συστήματός σας.
Στο Ubuntu- και Διανομές Linux που βασίζονται στο Debian:
sudo apt update && apt upgrade -y
Στο Arch Linux και τα παράγωγά του:
sudo pacman -Syu
Σε RHEL και Fedora:
αναβάθμιση sudo dnf
Με το σύστημά σας αναβαθμισμένο, συνεχίστε να εγκαθιστάτε τις εξαρτήσεις που απαιτούνται από το Snort. Εδώ είναι οι εντολές που πρέπει να εκτελέσετε:
Σε Ubuntu και Debian, εκτελέστε:
sudo apt install -y build-assential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
Στο Arch Linux, εκτελέστε:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf
Για RHEL και Fedora, εκδώστε την ακόλουθη εντολή:
sudo dnf εγκατάσταση gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y
Επιπλέον, πρέπει επίσης να εγκαταστήσετε με μη αυτόματο τρόπο τη Βιβλιοθήκη Απόκτησης Δεδομένων, το LibDAQ για το Snort για να λειτουργεί σωστά και επίσης το gperftools για τη δημιουργία των αρχείων έκδοσης.
Αρχικά, πραγματοποιήστε λήψη των αρχείων πηγής LibDAQ από τον επίσημο ιστότοπο χρησιμοποιώντας την εντολή wget. Στη συνέχεια, εξαγάγετε το αρχείο και μετακινηθείτε στον κατάλογο χρησιμοποιώντας cd. Μέσα στον κατάλογο, εκτελέστε το bootstrap και Διαμορφώστε scripts στη συνέχεια προχωρήστε στην προετοιμασία αρχείων με το make και την εγκατάσταση με το κάντε εγκατάσταση εντολή.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./Διαμορφώστε
φτιαχνω, κανω
sudo make install
Με εγκατεστημένο το LibDAQ, πρέπει να εγκαταστήσετε μια τελευταία εξάρτηση: gperftools. Ξεκινήστε παίρνοντας τα αρχεία προέλευσης από το αποθετήριο GitHub. Εξαγάγετε τα αρχεία, μετακινηθείτε στον κατάλογο και εκτελέστε το σενάριο διαμόρφωσης. Τέλος, εγκαταστήστε το πακέτο χρησιμοποιώντας τις εντολές make and make install.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./Διαμορφώστε
φτιαχνω, κανω
sudo make install
Αφού εγκατασταθούν αυτές οι εξαρτήσεις, μπορείτε να προχωρήσετε στα επόμενα βήματα για να εγκαταστήσετε το Snort.
Εγκαταστήστε το Snort From Source στο Linux
Με την προκαταρκτική ρύθμιση εκτός λειτουργίας, μπορείτε τώρα να εστιάσετε στην εγκατάσταση του πραγματικού λογισμικού. Θα το δημιουργήσετε από την πηγή, οπότε πάρτε πρώτα τα απαιτούμενα αρχεία κατασκευής.
Χρησιμοποιήστε την εντολή wget ή κατεβάστε τα αρχεία με μη αυτόματο τρόπο από την επίσημη σελίδα λήψης:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
Κατεβάστε:Φύσημα
Μόλις ολοκληρωθεί η λήψη του αρχείου που περιέχει τα αρχεία κατασκευής, εξαγάγετε το χρησιμοποιώντας την εντολή tar:
tar -xzvf snort*
Μετακινηθείτε στον φάκελο που έχει εξαχθεί, εκτελέστε το σενάριο διαμόρφωσης, χρησιμοποιήστε την εντολή make για να προετοιμάσετε τα αρχεία και, τέλος, εγκαταστήστε τα με κάντε εγκατάσταση:
cd snort*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
κατασκευή cd
φτιαχνω, κανω
sudo make install
Το Snort θα εγκατασταθεί πλέον με επιτυχία στο σύστημά σας. Ωστόσο, υπάρχει μόνο ένα ακόμη βήμα που πρέπει να ολοκληρώσετε. Όταν το νέο λογισμικό εγκαθίσταται μη αυτόματα, ο κατάλογος εγκατάστασης και οι απαιτούμενες βιβλιοθήκες ενδέχεται να μην περιλαμβάνονται αυτόματα στην προεπιλεγμένη διαδρομή του συστήματος. Επομένως, ενδέχεται να αντιμετωπίσετε σφάλματα κατά την εκκίνηση της εφαρμογής.
Για να αποφύγετε αυτό το ζήτημα, πρέπει να εκτελέσετε την εντολή ldconfig. Θα συγχρονίσει την προσωρινή μνήμη κοινόχρηστης βιβλιοθήκης του συστήματος με τις πρόσφατα εγκατεστημένες βιβλιοθήκες και τα δυαδικά αρχεία. Είτε εκτελέστε την εντολή ldconfig από ένα ριζικό κέλυφος είτε χρησιμοποιήστε το πρόθεμα sudo:
sudo ldconfig
Τώρα έχετε καλύψει όλα τα σημαντικά βήματα που απαιτούνται για την εγκατάσταση του Snort. Για να επαληθεύσετε την εγκατάσταση, εκτελέστε την εντολή Snort με το -V επισήμανση και θα πρέπει να δείτε μια έξοδο που επιστρέφει το όνομα της έκδοσης και άλλα δεδομένα.
ροχαλητό -V
Αφού επαληθεύσετε την εγκατάσταση του Snort, προχωρήστε στα επόμενα βήματα για να το ρυθμίσετε ως πλήρες IDS/IPS.
Αρχική διαμόρφωση του Snort σε Linux
Η αποτελεσματικότητα του Snort εξαρτάται σχεδόν εξ ολοκλήρου από την ποιότητα των συνόλων κανόνων με τα οποία παρέχεται.
Ωστόσο, πριν φτάσετε στη ρύθμιση κανόνων, πρέπει να διαμορφώσετε τις κάρτες δικτύου ώστε να λειτουργούν με το Snort και πρέπει επίσης να ελέγξετε τον τρόπο χειρισμού της προεπιλεγμένης διαμόρφωσης από το Snort. Ξεκινήστε διαμορφώνοντας τις κάρτες δικτύου.
Ρυθμίστε τη διεπαφή δικτύου σε ακατάλληλη λειτουργία:
sudo ip σύνδεσμος ορισμός dev interface_name promisc ενεργό
Χρησιμοποιώντας το ethtool, απενεργοποιήστε το Generic Receive Offload (GRO) και το Large Receive Offload (LRO) για να αποτρέψετε την περικοπή μεγαλύτερων πακέτων δικτύου:
sudo ethtool -K interface_name gro off lro off
Ελέγξτε πώς λειτουργεί το Snort με την προεπιλεγμένη διαμόρφωση:
snort -c /usr/local/etc/snort/snort.lua
Αυτό θα πρέπει να επιστρέψει ένα επιτυχημένο σήμα εξόδου ότι έχετε εγκαταστήσει και ρυθμίσει σωστά το Snort στο σύστημά σας. Τώρα μπορείτε να πειράζετε τις δυνατότητές του και να πειραματιστείτε με διαφορετικές διαμορφώσεις για να βρείτε το καλύτερο σύνολο κανόνων για την ασφάλεια του δικτύου σας.
Ρυθμίστε κανόνες και εφαρμόστε τους με το Snort
Με τις βασικές ρυθμίσεις, το Snort είναι πλέον έτοιμο να υπερασπιστεί την περίμετρό σας. Όπως γνωρίζετε, το Snort χρειάζεται σύνολα κανόνων για να προσδιορίσει την εγκυρότητα της επισκεψιμότητας, ας ρυθμίσουμε μερικά δωρεάν σύνολα κανόνων για το Snort που δημιουργούνται από την κοινότητα.
Το Snort διαβάζει σύνολα κανόνων και διαμορφώσεις από συγκεκριμένους καταλόγους. Έτσι, πρώτα, χρησιμοποιώντας τις εντολές mkdir και touch, δημιουργήστε μερικούς σημαντικούς καταλόγους για να αποθηκεύσετε κανόνες και άλλα σχετικά δεδομένα για το Snort:
sudo mkdir -p /usr/local/etc/{lists, so_rules, rules}
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
Με τη δημιουργία αυτών των καταλόγων, μπορείτε να κάνετε λήψη του συνόλου κανόνων κοινότητας από τον επίσημο ιστότοπο χρησιμοποιώντας την εντολή wget:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Μόλις ολοκληρωθεί η λήψη του συνόλου κανόνων, εξαγάγετε το και αντιγράψτε το στο /usr/local/etc/rules/ Ευρετήριο.
tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/
Για να εκτελέσετε το Snort με το σύνολο κανόνων, εκτελέστε αυτήν την εντολή:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k κανένα
Ανάλυση της εντολής:
- -ντο ορίζει τη διαδρομή προς το προεπιλεγμένο αρχείο ρυθμίσεων
- -Ρ ορίζει τη διαδρομή προς τον κανόνα που έχει οριστεί για επιβολή
- -Εγώ ορίζει τη διεπαφή
- -μικρό απορρίπτει το όριο snaplen
- -κ αγνοεί τα αθροίσματα ελέγχου
Αυτό θα πρέπει να επικυρώσει τη διαμόρφωση και να επιβάλει όλα τα σύνολα κανόνων στο Snort. Μόλις εντοπίσει οποιαδήποτε διαταραχή δικτύου, θα σας ειδοποιήσει με ένα μήνυμα κονσόλας.
Εάν θέλετε να δημιουργήσετε και να επιβάλετε το δικό σας σύνολο κανόνων, μπορείτε να μάθετε περισσότερα για αυτό από το επίσημες σελίδες τεκμηρίωσης.
Ρύθμιση καταγραφής με το Snort
Από προεπιλογή, το Snort δεν εξάγει κανένα αρχείο καταγραφής. Πρέπει να καθορίσετε με το -ΜΕΓΑΛΟ επισημάνετε για να ξεκινήσει το Snort στη λειτουργία καταγραφής, ορίστε τον τύπο αρχείου καταγραφής και -μεγάλο επισημάνετε για να ορίσετε τον κατάλογο καταγραφής ώστε το Snort να απορρίπτει τα αρχεία καταγραφής.
Ακολουθεί η εντολή για να ξεκινήσετε το Snort με ενεργοποιημένη την καταγραφή:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k κανένα -L file_type -l /var/log /φύσημα
Ανάλυση της εντολής:
- -ντο ορίζει τη διαδρομή προς το προεπιλεγμένο αρχείο ρυθμίσεων
- -Ρ ορίζει τη διαδρομή προς τον κανόνα που έχει οριστεί για επιβολή
- -Εγώ ορίζει τη διεπαφή
- -μικρό απορρίπτει το όριο snaplen
- -κ αγνοεί τα αθροίσματα ελέγχου
- -ΜΕΓΑΛΟ ενεργοποιεί τη λειτουργία καταγραφής και καθορίζει τον τύπο του αρχείου καταγραφής
- -μεγάλο ορίζει τη διαδρομή για την αποθήκευση των αρχείων καταγραφής
Σημειώστε ότι στην εντολή παράδειγμα, ο κατάλογος καταγραφής έχει οριστεί σε /var/log/snort. Αν και αυτή είναι η συνιστώμενη πρακτική, είστε ελεύθεροι να αποθηκεύσετε τα αρχεία καταγραφής σας αλλού.
Μπορείτε να διαβάσετε τα αρχεία καταγραφής από το Snort από τον κατάλογο που ορίσατε ή να τα μεταβιβάσετε σε λογισμικό SIEM όπως το Splunk για περαιτέρω ανάλυση.
Προσθέστε το Snort ως δαίμονα εκκίνησης συστήματος
Αν και έχετε εγκαταστήσει και ρυθμίσει το Snort, πρέπει να βεβαιωθείτε ότι ξεκινά να εκτελείται κατά την εκκίνηση και να εκτελείται ως δαίμονας φόντου. Η προσθήκη του ως υπηρεσία συστήματος αυτόματης εκκίνησης θα διασφαλίσει ότι το Snort θα είναι σε λειτουργία και θα προστατεύει το σύστημά σας ανά πάσα στιγμή που είναι online.
Δείτε πώς μπορείτε να προσθέσετε έναν δαίμονα εκκίνησης Snort στο Linux:
- Ξεκινήστε δημιουργώντας ένα νέο αρχείο υπηρεσίας systemd:
αγγίξτε το /lib/systemd/system/snort.service
- Ανοίξτε το αρχείο σε ένα πρόγραμμα επεξεργασίας κειμένου της επιλογής σας και συμπληρώστε το με τα ακόλουθα δεδομένα. Μπορείτε να τροποποιήσετε τις σημαίες για να ταιριάζουν στις ανάγκες σας:
[Μονάδα]
Περιγραφή=Snort Daemon
After=syslog.target network.target
[Υπηρεσία]
Τύπος=απλός
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k κανένα -l /var /log/snort -D -L pcap -i ens33
[Εγκαθιστώ]
WantedBy=multi-user.target - Αποθηκεύστε και βγείτε από το αρχείο. Στη συνέχεια, χρησιμοποιώντας την υπηρεσία και εντολές systemctl, ενεργοποιήστε και ξεκινήστε το σενάριο:
sudo systemctl ενεργοποίηση snort.service
sudo snort start
Ο δαίμονας φόντου Snort θα πρέπει τώρα να είναι σε λειτουργία. Μπορείτε να επαληθεύσετε την κατάσταση του σεναρίου χρησιμοποιώντας το systemctl κατάσταση ροχαλητό εντολή. Θα πρέπει να επιστρέψει μια θετική έξοδο.
Τώρα ξέρετε πώς να προστατεύσετε το δίκτυό σας με το Snort IDS
Ενώ η εφαρμογή IDS είναι μια καλή πρακτική, είναι ένα παθητικό μέτρο παρά ένα ενεργό. Ο καλύτερος τρόπος για να βελτιώσετε και να εγγυηθείτε την ασφάλεια του δικτύου σας είναι να το δοκιμάζετε συνεχώς και να ψάχνετε για ελαττώματα για επιδιόρθωση.
Η δοκιμή διείσδυσης είναι ένας πολύ καλός τρόπος για να βρείτε εκμεταλλεύσιμα τρωτά σημεία και να τα επιδιορθώσετε.