Θέλω να μοιραστώ με την κοινότητα έναν απλό και λειτουργικό τρόπο χρήσης του Mikrotik για να προστατεύσετε το δίκτυό σας και τις υπηρεσίες που «κοιτάζονται» από πίσω του από εξωτερικές επιθέσεις. Δηλαδή, μόνο τρεις κανόνες για να οργανώσετε ένα honeypot στο Mikrotik.
Ας φανταστούμε, λοιπόν, ότι έχουμε ένα μικρό γραφείο, με μια εξωτερική IP πίσω από την οποία υπάρχει ένας διακομιστής RDP για να εργάζονται οι εργαζόμενοι εξ αποστάσεως. Ο πρώτος κανόνας είναι, φυσικά, να αλλάξετε τη θύρα 3389 στην εξωτερική διεπαφή σε μια άλλη. Αλλά αυτό δεν θα διαρκέσει πολύ· μετά από μερικές ημέρες, το αρχείο καταγραφής ελέγχου διακομιστή τερματικού θα αρχίσει να εμφανίζει αρκετές αποτυχημένες εξουσιοδοτήσεις ανά δευτερόλεπτο από άγνωστους πελάτες.
Μια άλλη περίπτωση, έχετε κρυμμένο αστερίσκο πίσω από το Mikrotik, φυσικά όχι στη θύρα 5060 udp, και μετά από μερικές μέρες ξεκινά και η αναζήτηση κωδικού πρόσβασης... ναι, ναι, το ξέρω, το fail2ban είναι το παν, αλλά πρέπει ακόμα να δουλέψτε το... για παράδειγμα, το εγκατέστησα πρόσφατα στο ubuntu 18.04 και με έκπληξη ανακάλυψα ότι το out of the box fail2ban δεν περιέχει τρέχουσες ρυθμίσεις για αστερίσκο από το ίδιο πλαίσιο της ίδιας διανομής του ubuntu... και γρήγορες ρυθμίσεις στο google για τις έτοιμες "συνταγές" δεν λειτουργεί πλέον, οι αριθμοί για τις εκδόσεις αυξάνονται με τα χρόνια και τα άρθρα με "συνταγές" για παλιές εκδόσεις δεν λειτουργούν πλέον και καινούργια δεν εμφανίζονται σχεδόν ποτέ... Αλλά παρεκκλίνω...
Λοιπόν, τι είναι ένα honeypot με λίγα λόγια - είναι ένα honeypot, στην περίπτωσή μας, οποιαδήποτε δημοφιλής θύρα σε μια εξωτερική IP, οποιοδήποτε αίτημα σε αυτήν τη θύρα από έναν εξωτερικό πελάτη στέλνει τη διεύθυνση src στη μαύρη λίστα. Ολα.
/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker"
address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox"
connection-state=new dst-port=22,3389,8291 in-interface=
ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker"
address-list-timeout=30d0h0m chain=input comment=
"block honeypot asterisk" connection-state=new dst-port=5060
in-interface=ether4-wan protocol=udp
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
"Honeypot Hacker"
Ο πρώτος κανόνας για τις δημοφιλείς θύρες TCP 22, 3389, 8291 της εξωτερικής διεπαφής ether4-wan στέλνει την IP "επισκέπτη" στη λίστα "Honeypot Hacker" (οι θύρες για ssh, rdp και winbox είναι απενεργοποιημένες εκ των προτέρων ή έχουν αλλάξει σε άλλες). Το δεύτερο κάνει το ίδιο στο δημοφιλές UDP 5060.
Ο τρίτος κανόνας στο στάδιο πριν τη δρομολόγηση απορρίπτει πακέτα από "επισκέπτες" των οποίων η διεύθυνση srs περιλαμβάνεται στο "Honeypot Hacker".
Μετά από δύο εβδομάδες εργασίας με το σπίτι μου Mikrotik, η λίστα «Honeypot Hacker» περιελάμβανε περίπου μιάμιση χιλιάδες διευθύνσεις IP όσων τους αρέσει να «κρατούν τον μαστό» των πόρων του δικτύου μου (στο σπίτι, τη δική μου τηλεφωνία, mail, nextcloud , rdp). Οι επιθέσεις ωμής βίας σταμάτησαν, ήρθε η ευτυχία.
Στη δουλειά, δεν αποδείχθηκαν όλα τόσο απλά, εκεί συνεχίζουν να σπάζουν τον διακομιστή rdp με ωμούς κωδικούς πρόσβασης.
Προφανώς, ο αριθμός θύρας καθορίστηκε από τον σαρωτή πολύ πριν ενεργοποιηθεί το honeypot και κατά τη διάρκεια της καραντίνας δεν είναι τόσο εύκολο να ρυθμίσετε ξανά περισσότερους από 100 χρήστες, εκ των οποίων το 20% είναι άνω των 65 ετών. Στην περίπτωση που η θύρα δεν μπορεί να αλλάξει, υπάρχει μια μικρή συνταγή εργασίας. Έχω δει κάτι παρόμοιο στο Διαδίκτυο, αλλά υπάρχει κάποια πρόσθετη προσθήκη και τελειοποίηση:
Κανόνες για τη διαμόρφωση του Port Knocking
/ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist
address-list-timeout=15m chain=forward comment=rdp_to_blacklist
connection-state=new dst-port=3389 protocol=tcp src-address-list=
rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5
address-list-timeout=4m chain=forward connection-state=new dst-port=
3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4
address-list-timeout=4m chain=forward connection-state=new dst-port=
3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1
address-list-timeout=4m chain=forward connection-state=new dst-port=3389
protocol=tcp
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
rdp_blacklist
Σε 4 λεπτά, ο απομακρυσμένος πελάτης επιτρέπεται να κάνει μόνο 12 νέα «αιτήματα» στον διακομιστή RDP. Μία προσπάθεια σύνδεσης είναι από 1 έως 4 «αιτήματα». Στο 12ο "αίτημα" - αποκλεισμός για 15 λεπτά. Στην περίπτωσή μου, οι εισβολείς δεν σταμάτησαν να χακάρουν τον διακομιστή, προσαρμόστηκαν στα χρονόμετρα και τώρα το κάνουν πολύ αργά, μια τέτοια ταχύτητα επιλογής μειώνει την αποτελεσματικότητα της επίθεσης στο μηδέν. Οι εργαζόμενοι της εταιρείας δεν αντιμετωπίζουν ουσιαστικά καμία ταλαιπωρία στην εργασία από τα μέτρα που ελήφθησαν.
Άλλο ένα μικρό κόλπο
Αυτός ο κανόνας ενεργοποιείται σύμφωνα με ένα πρόγραμμα στη 5 π.μ. και σβήνει στις XNUMX π.μ., όταν οι πραγματικοί άνθρωποι σίγουρα κοιμούνται και οι αυτοματοποιημένοι επιλογείς συνεχίζουν να είναι ξύπνιοι.
/ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist
address-list-timeout=1w0d0h0m chain=forward comment=
"night_rdp_blacklist" connection-state=new disabled=
yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8
Ήδη στην 8η σύνδεση, η IP του εισβολέα βρίσκεται στη μαύρη λίστα για μια εβδομάδα. Ομορφιά!
Λοιπόν, εκτός από τα παραπάνω, θα προσθέσω έναν σύνδεσμο σε ένα άρθρο του Wiki με μια λειτουργική ρύθμιση για την προστασία του Mikrotik από σαρωτές δικτύου.
Στις συσκευές μου, αυτή η ρύθμιση λειτουργεί μαζί με τους κανόνες honeypot που περιγράφονται παραπάνω, συμπληρώνοντάς τους καλά.
UPD: Όπως προτείνεται στα σχόλια, ο κανόνας απόθεσης πακέτων έχει μεταφερθεί σε RAW για να μειωθεί το φορτίο στο δρομολογητή.
Πηγή: www.habr.com