Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

В προηγούμενο άρθρο καλύψαμε τον τρόπο εκτέλεσης της σταθερής έκδοσης του Suricata στο Ubuntu 18.04 LTS. Η ρύθμιση ενός IDS σε έναν μόνο κόμβο και η ενεργοποίηση δωρεάν συνόλων κανόνων είναι αρκετά απλή. Σήμερα θα καταλάβουμε πώς να προστατεύσουμε ένα εταιρικό δίκτυο χρησιμοποιώντας τους πιο συνηθισμένους τύπους επιθέσεων χρησιμοποιώντας το Suricata εγκατεστημένο σε έναν εικονικό διακομιστή. Για να γίνει αυτό, χρειαζόμαστε ένα VDS σε Linux με δύο πυρήνες υπολογιστών. Η ποσότητα της μνήμης RAM εξαρτάται από το φορτίο: 2 GB είναι αρκετά για κάποιον και μπορεί να απαιτούνται 4 ή ακόμα και 6 για πιο σοβαρές εργασίες. Το πλεονέκτημα μιας εικονικής μηχανής είναι η ικανότητα πειραματισμού: μπορείτε να ξεκινήσετε με ελάχιστη διαμόρφωση και να αυξήσετε πόρους όπως απαιτείται.

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Officeφωτογραφία: Reuters

Σύνδεση δικτύων

Η αφαίρεση IDS σε μια εικονική μηχανή μπορεί να χρειαστεί αρχικά για δοκιμές. Εάν δεν έχετε ασχοληθεί ποτέ με τέτοιες λύσεις, δεν πρέπει να βιαστείτε να παραγγείλετε φυσικό υλικό και να αλλάξετε την αρχιτεκτονική του δικτύου. Είναι καλύτερο να εκτελείτε το σύστημα με ασφάλεια και οικονομικά αποδοτικό τρόπο για να προσδιορίσετε τις υπολογιστικές σας ανάγκες. Είναι σημαντικό να κατανοήσουμε ότι όλη η εταιρική κίνηση θα πρέπει να διοχετεύεται μέσω ενός μόνο εξωτερικού κόμβου: για να συνδέσετε ένα τοπικό δίκτυο (ή πολλά δίκτυα) σε ένα VDS με εγκατεστημένο το IDS Suricata, μπορείτε να χρησιμοποιήσετε SoftEther - Ένας εύκολος στη διαμόρφωση διακομιστή VPN πολλαπλών πλατφορμών που παρέχει ισχυρή κρυπτογράφηση. Μια σύνδεση στο Διαδίκτυο γραφείου μπορεί να μην έχει πραγματική IP, επομένως είναι καλύτερα να τη ρυθμίσετε σε VPS. Δεν υπάρχουν έτοιμα πακέτα στο αποθετήριο του Ubuntu, θα πρέπει να κατεβάσετε το λογισμικό είτε από τοποθεσία του έργου, ή από εξωτερικό χώρο αποθήκευσης της υπηρεσίας Launchpad (αν τον εμπιστεύεστε):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

Μπορείτε να δείτε τη λίστα των διαθέσιμων πακέτων με την ακόλουθη εντολή:

apt-cache search softether

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Θα χρειαστούμε softther-vpnserver (ο διακομιστής στη δοκιμαστική διαμόρφωση εκτελείται σε VDS), καθώς και βοηθητικά προγράμματα softther-vpncmd - γραμμής εντολών για τη διαμόρφωσή του.

sudo apt-get install softether-vpnserver softether-vpncmd

Ένα ειδικό βοηθητικό πρόγραμμα γραμμής εντολών χρησιμοποιείται για τη διαμόρφωση του διακομιστή:

sudo vpncmd

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Δεν θα μιλήσουμε λεπτομερώς για τη ρύθμιση: η διαδικασία είναι αρκετά απλή, περιγράφεται καλά σε πολλές δημοσιεύσεις και δεν σχετίζεται άμεσα με το θέμα του άρθρου. Εν ολίγοις, μετά την εκκίνηση του vpncmd, πρέπει να επιλέξετε το στοιχείο 1 για να μεταβείτε στην κονσόλα διαχείρισης διακομιστή. Για να το κάνετε αυτό, πρέπει να εισαγάγετε το όνομα localhost και να πατήσετε enter αντί να εισαγάγετε το όνομα του διανομέα. Ο κωδικός πρόσβασης διαχειριστή ορίζεται στην κονσόλα με την εντολή serverpasswordset, διαγράφεται το DEFAULT virtual hub (εντολή hubdelete) και δημιουργείται νέος με το όνομα Suricata_VPN και ορίζεται επίσης ο κωδικός πρόσβασης (εντολή hubcreate). Στη συνέχεια, πρέπει να μεταβείτε στην κονσόλα διαχείρισης του νέου διανομέα χρησιμοποιώντας την εντολή hub Suricata_VPN για να δημιουργήσετε μια ομάδα και έναν χρήστη χρησιμοποιώντας τις εντολές groupcreate και usercreate. Ο κωδικός πρόσβασης χρήστη ορίζεται χρησιμοποιώντας το σύνολο κωδικών πρόσβασης χρήστη.

Το SoftEther υποστηρίζει δύο τρόπους μεταφοράς κίνησης: SecureNAT και Local Bridge. Η πρώτη είναι μια ιδιόκτητη τεχνολογία για την κατασκευή ενός εικονικού ιδιωτικού δικτύου με το δικό του NAT και DHCP. Το SecureNAT δεν απαιτεί TUN/TAP ή Netfilter ή άλλες ρυθμίσεις τείχους προστασίας. Η δρομολόγηση δεν επηρεάζει τον πυρήνα του συστήματος και όλες οι διεργασίες είναι εικονικοποιημένες και λειτουργούν σε οποιοδήποτε VPS / VDS, ανεξάρτητα από τον hypervisor που χρησιμοποιείται. Αυτό έχει ως αποτέλεσμα αυξημένο φορτίο CPU και πιο αργή ταχύτητα σε σύγκριση με τη λειτουργία Local Bridge, η οποία συνδέει τον εικονικό διανομέα SoftEther με έναν φυσικό προσαρμογέα δικτύου ή συσκευή TAP.

Η διαμόρφωση σε αυτήν την περίπτωση γίνεται πιο περίπλοκη, καθώς η δρομολόγηση πραγματοποιείται σε επίπεδο πυρήνα χρησιμοποιώντας το Netfilter. Τα VDS μας είναι χτισμένα στο Hyper-V, οπότε στο τελευταίο βήμα δημιουργούμε μια τοπική γέφυρα και ενεργοποιούμε τη συσκευή TAP με την εντολή bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Μετά την έξοδο από την κονσόλα διαχείρισης διανομέα, θα δούμε μια νέα διεπαφή δικτύου στο σύστημα που δεν έχει ακόμη εκχωρηθεί IP:

ifconfig

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Στη συνέχεια, θα πρέπει να ενεργοποιήσετε τη δρομολόγηση πακέτων μεταξύ διεπαφών (ip forward), εάν είναι ανενεργό:

sudo nano /etc/sysctl.conf

Καταργήστε το σχόλιο της ακόλουθης γραμμής:

net.ipv4.ip_forward = 1

Αποθηκεύστε τις αλλαγές στο αρχείο, βγείτε από το πρόγραμμα επεξεργασίας και εφαρμόστε τις με την ακόλουθη εντολή:

sudo sysctl -p

Στη συνέχεια, πρέπει να ορίσουμε ένα υποδίκτυο για το εικονικό δίκτυο με εικονικές IP (για παράδειγμα, 10.0.10.0/24) και να εκχωρήσουμε μια διεύθυνση στη διεπαφή:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Στη συνέχεια, πρέπει να γράψετε κανόνες Netfilter.

1. Εάν είναι απαραίτητο, επιτρέψτε τα εισερχόμενα πακέτα σε θύρες ακρόασης (το ιδιόκτητο πρωτόκολλο SoftEther χρησιμοποιεί HTTPS και θύρα 443)

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2. Ρυθμίστε το NAT από το υποδίκτυο 10.0.10.0/24 στην IP του κύριου διακομιστή

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. Επιτρέψτε τη διέλευση πακέτων από το υποδίκτυο 10.0.10.0/24

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. Επιτρέψτε τη διέλευση πακέτων για ήδη εγκατεστημένες συνδέσεις

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

Θα αφήσουμε την αυτοματοποίηση της διαδικασίας όταν το σύστημα επανεκκινηθεί χρησιμοποιώντας σενάρια προετοιμασίας στους αναγνώστες ως εργασία για το σπίτι.

Εάν θέλετε να δώσετε IP στους πελάτες αυτόματα, θα χρειαστεί επίσης να εγκαταστήσετε κάποιο είδος υπηρεσίας DHCP για την τοπική γέφυρα. Αυτό ολοκληρώνει τη ρύθμιση του διακομιστή και μπορείτε να μεταβείτε στους πελάτες. Το SoftEther υποστηρίζει πολλά πρωτόκολλα, η χρήση των οποίων εξαρτάται από τις δυνατότητες του εξοπλισμού LAN.

netstat -ap |grep vpnserver

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Δεδομένου ότι ο δοκιμαστικός δρομολογητής μας εκτελείται επίσης στο Ubuntu, ας εγκαταστήσουμε τα πακέτα softther-vpnclient και softther-vpncmd από ένα εξωτερικό αποθετήριο σε αυτό για να χρησιμοποιήσουμε το ιδιόκτητο πρωτόκολλο. Θα χρειαστεί να εκτελέσετε τον πελάτη:

sudo vpnclient start

Για να ρυθμίσετε τις παραμέτρους, χρησιμοποιήστε το βοηθητικό πρόγραμμα vpncmd, επιλέγοντας localhost ως το μηχάνημα στο οποίο εκτελείται το vpnclient. Όλες οι εντολές γίνονται στην κονσόλα: θα χρειαστεί να δημιουργήσετε μια εικονική διεπαφή (NicCreate) και έναν λογαριασμό (AccountCreate).

Σε ορισμένες περιπτώσεις, πρέπει να καθορίσετε τη μέθοδο ελέγχου ταυτότητας χρησιμοποιώντας τις εντολές AccountAnonymousSet, AccountPasswordSet, AccountCertSet και AccountSecureCertSet. Εφόσον δεν χρησιμοποιούμε DHCP, η διεύθυνση για τον εικονικό προσαρμογέα ορίζεται χειροκίνητα.

Επιπλέον, πρέπει να ενεργοποιήσουμε το ip forward (η παράμετρος net.ipv4.ip_forward=1 στο αρχείο /etc/sysctl.conf) και να διαμορφώσουμε στατικές διαδρομές. Εάν είναι απαραίτητο, σε VDS με Suricata, μπορείτε να διαμορφώσετε την προώθηση θύρας για χρήση των υπηρεσιών που είναι εγκατεστημένες στο τοπικό δίκτυο. Σε αυτό, η συγχώνευση δικτύου μπορεί να θεωρηθεί ολοκληρωμένη.

Η προτεινόμενη διαμόρφωση μας θα μοιάζει κάπως έτσι:

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Ρύθμιση Suricata

В προηγούμενο άρθρο μιλήσαμε για δύο τρόπους λειτουργίας του IDS: μέσω της ουράς NFQUEUE (λειτουργία NFQ) και μέσω μηδενικής αντιγραφής (λειτουργία AF_PACKET). Το δεύτερο απαιτεί δύο διεπαφές, αλλά είναι πιο γρήγορο - θα το χρησιμοποιήσουμε. Η παράμετρος ορίζεται από προεπιλογή στο /etc/default/suricata. Πρέπει επίσης να επεξεργαστούμε την ενότητα vars στο /etc/suricata/suricata.yaml, ορίζοντας το εικονικό υποδίκτυο εκεί ως το σπίτι.

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Για επανεκκίνηση του IDS, χρησιμοποιήστε την εντολή:

systemctl restart suricata

Η λύση είναι έτοιμη, τώρα ίσως χρειαστεί να τη δοκιμάσετε για αντοχή σε κακόβουλες ενέργειες.

Προσομοίωση επιθέσεων

Μπορεί να υπάρχουν διάφορα σενάρια για τη χρήση μάχης μιας εξωτερικής υπηρεσίας IDS:

Προστασία από επιθέσεις DDoS (πρωταρχικός σκοπός)

Είναι δύσκολο να εφαρμοστεί μια τέτοια επιλογή μέσα στο εταιρικό δίκτυο, καθώς τα πακέτα για ανάλυση πρέπει να φτάσουν στη διεπαφή συστήματος που κοιτάζει το Διαδίκτυο. Ακόμα κι αν το IDS τα μπλοκάρει, η ψευδής κυκλοφορία μπορεί να καταρρίψει τη σύνδεση δεδομένων. Για να αποφευχθεί αυτό, πρέπει να παραγγείλετε ένα VPS με επαρκώς παραγωγική σύνδεση στο Διαδίκτυο που μπορεί να μεταφέρει όλη την κίνηση του τοπικού δικτύου και όλη την εξωτερική κίνηση. Συχνά είναι ευκολότερο και φθηνότερο να το κάνετε αυτό παρά να επεκτείνετε το κανάλι του γραφείου. Εναλλακτικά, αξίζει να αναφέρουμε εξειδικευμένες υπηρεσίες προστασίας από DDoS. Το κόστος των υπηρεσιών τους είναι συγκρίσιμο με το κόστος ενός εικονικού διακομιστή και δεν απαιτεί χρονοβόρα διαμόρφωση, αλλά υπάρχουν και μειονεκτήματα - ο πελάτης λαμβάνει μόνο προστασία DDoS για τα χρήματά του, ενώ το δικό του IDS μπορεί να ρυθμιστεί όπως εσείς αρέσει.

Προστασία από εξωτερικές επιθέσεις άλλων τύπων

Η Suricata είναι σε θέση να αντιμετωπίσει τις προσπάθειες εκμετάλλευσης διαφόρων τρωτών σημείων σε υπηρεσίες εταιρικού δικτύου που είναι προσβάσιμες από το Διαδίκτυο (διακομιστής αλληλογραφίας, διακομιστής web και εφαρμογές Ιστού κ.λπ.). Συνήθως, για αυτό, το IDS εγκαθίσταται μέσα στο LAN μετά τις συσκευές περιγράμματος, αλλά η λήψη του έξω έχει το δικαίωμα να υπάρχει.

Προστασία από τους μυημένους

Παρά τις καλύτερες προσπάθειες του διαχειριστή του συστήματος, οι υπολογιστές στο εταιρικό δίκτυο μπορεί να μολυνθούν από κακόβουλο λογισμικό. Επιπλέον, μερικές φορές στην περιοχή εμφανίζονται χούλιγκαν, οι οποίοι προσπαθούν να πραγματοποιήσουν κάποιες παράνομες επιχειρήσεις. Το Suricata μπορεί να βοηθήσει στον αποκλεισμό τέτοιων προσπαθειών, αν και για την προστασία του εσωτερικού δικτύου είναι καλύτερο να το εγκαταστήσετε μέσα στην περίμετρο και να το χρησιμοποιήσετε παράλληλα με έναν διαχειριζόμενο διακόπτη που μπορεί να αντικατοπτρίζει την κυκλοφορία σε μία θύρα. Ένα εξωτερικό IDS δεν είναι επίσης άχρηστο σε αυτήν την περίπτωση - τουλάχιστον θα μπορεί να εντοπίσει προσπάθειες από κακόβουλο λογισμικό που ζει στο LAN να επικοινωνήσει με έναν εξωτερικό διακομιστή.

Αρχικά, θα δημιουργήσουμε μια άλλη δοκιμή που θα επιτίθεται στο VPS και στον δρομολογητή τοπικού δικτύου θα αυξήσουμε τον Apache με την προεπιλεγμένη διαμόρφωση, μετά την οποία θα προωθήσουμε την 80η θύρα σε αυτό από τον διακομιστή IDS. Στη συνέχεια, θα προσομοιώσουμε μια επίθεση DDoS από έναν επιτιθέμενο κεντρικό υπολογιστή. Για να το κάνετε αυτό, πραγματοποιήστε λήψη από το GitHub, μεταγλωττίστε και εκτελέστε ένα μικρό πρόγραμμα xerxes στον κόμβο που επιτίθεται (ίσως χρειαστεί να εγκαταστήσετε το πακέτο gcc):

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

Το αποτέλεσμα της δουλειάς της ήταν το εξής:

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Το Suricata κόβει τον κακό και η σελίδα Apache ανοίγει από προεπιλογή, παρά την αυτοσχέδια επίθεση μας και το μάλλον νεκρό κανάλι του δικτύου "γραφείου" (στην πραγματικότητα του σπιτιού). Για πιο σοβαρές εργασίες, θα πρέπει να χρησιμοποιήσετε Metasploit Framework. Έχει σχεδιαστεί για δοκιμές διείσδυσης και σας επιτρέπει να προσομοιώνετε μια ποικιλία επιθέσεων. Οδηγίες Εγκατάστασης διαθέσιμες στον ιστότοπο του έργου. Μετά την εγκατάσταση, απαιτείται ενημέρωση:

sudo msfupdate

Για δοκιμή, εκτελέστε το msfconsole.

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Δυστυχώς, οι πιο πρόσφατες εκδόσεις του πλαισίου δεν διαθέτουν τη δυνατότητα αυτόματης διάρρηξης, επομένως τα exploit θα πρέπει να ταξινομηθούν χειροκίνητα και να εκτελεστούν χρησιμοποιώντας την εντολή use. Αρχικά, αξίζει να προσδιορίσετε τις θύρες που είναι ανοιχτές στο μηχάνημα που έχει επιτεθεί, για παράδειγμα, χρησιμοποιώντας nmap (στην περίπτωσή μας, θα αντικατασταθεί πλήρως από το netstat στον κεντρικό υπολογιστή που έχει επιτεθεί) και, στη συνέχεια, επιλέξτε και χρησιμοποιήστε το κατάλληλο Ενότητες Metasploit

Υπάρχουν άλλα μέσα για να δοκιμάσετε την ανθεκτικότητα ενός IDS έναντι επιθέσεων, συμπεριλαμβανομένων των διαδικτυακών υπηρεσιών. Για λόγους περιέργειας, μπορείτε να κανονίσετε τεστ αντοχής χρησιμοποιώντας τη δοκιμαστική έκδοση Στάσιμο IP. Για να ελέγξετε την αντίδραση στις ενέργειες των εσωτερικών εισβολέων, αξίζει να εγκαταστήσετε ειδικά εργαλεία σε ένα από τα μηχανήματα στο τοπικό δίκτυο. Υπάρχουν πολλές επιλογές και από καιρό σε καιρό θα πρέπει να εφαρμόζονται όχι μόνο στον πειραματικό χώρο, αλλά και σε συστήματα εργασίας, μόνο που αυτή είναι μια εντελώς διαφορετική ιστορία.

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Snort ή Suricata. Μέρος 3: Προστασία του Δικτύου του Office

Πηγή: www.habr.com

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