[451 Logo]
 Μόνο Top News & Social
 Επικαιρότητα
 Αθλητικά
 Οικονομία
 Ροή

Από Sophos SG 115 σε OPNsense Πώς ένα μεταχειρισμένο firewall των 50 ευρώ έγινε το κανονικό router και firewall του σπιτιού μου Του Μιχάλη Χαιρετάκη Θα σας πω πώς έστησα το δικό μου δίκτυο, γιατί...

Original Post

Πλήρες Κείμενο:

Από Sophos SG 115 σε OPNsense Πώς ένα μεταχειρισμένο firewall των 50 ευρώ έγινε το κανονικό router και firewall του σπιτιού μου Του Μιχάλη Χαιρετάκη Θα σας πω πώς έστησα το δικό μου δίκτυο, γιατί νομίζω ότι αξίζει.

Δεν αγόρασα καινούργιο εξοπλισμό.

Πήρα ένα παλιό επαγγελματικό μηχάνημα, του πέρασα σωστό λογισμικό και του έδωσα δεύτερη ζωή.

Το αποτέλεσμα είναι ένα μικρό αλλά πραγματικό firewall, πολύ πιο δυνατό και ευέλικτο από τα απλά router που δίνουν οι πάροχοι.

Όλα ξεκίνησαν από ένα Sophos SG 115 που το βρήκα online μεταχειρισμένο γύρω στα 50 ευρώ.

Αντί να καταλήξει σε κάποια αποθήκη, το μετέτρεψα σε ολοκληρωμένο OPNsense firewall και router: routing, DHCP, DNS, VLAN, IDS, traffic visibility και ασφαλής απομακρυσμένη πρόσβαση μέσω VPN.

Γιατί διάλεξα το Sophos SG 115 Τα Sophos SG appliances είναι στην ουσία μικροί x86 υπολογιστές φτιαγμένοι ειδικά για firewall χρήση.

Έχουν πολλές θύρες Ethernet, χαμηλή κατανάλωση, είναι σχετικά αθόρυβα και σηκώνουν χωρίς πρόβλημα FreeBSD-based λογισμικό όπως το OPNsense.

Με λίγα χρήματα παίρνεις hardware σχεδιασμένο για 24ωρη λειτουργία, όχι ένα πλαστικό router που ζορίζεται μόλις του βάλεις κανόνες, VPN ή IDS.

Είναι τίμιο μηχάνημα και από πλευράς κατανάλωσης.

Τραβάει ελάχιστο ρεύμα 3-5 w, κάτι που μετράει πολύ όταν κάτι δουλεύει 24 ώρες το 24ωρο, κάθε μέρα του χρόνου.

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

Στη δική μου περίπτωση οι φυσικές κάρτες δικτύου εμφανίζονται ως igb0, igb1, igb3 και ούτω καθεξής, κλασικά Intel interfaces που το FreeBSD και το OPNsense τα αγαπούν.

Αυτό μου έδωσε ένα σταθερό σημείο εκκίνησης.

Ένα πράγμα που το θεωρώ απαραίτητο: αναβάθμισα τη μνήμη στα 8 GB με 15 ευρώ.

Δεν είναι πολυτέλεια, είναι προϋπόθεση.

Με σκέτο OPNsense θα έφτανε και λιγότερη, αλλά από τη στιγμή που ήθελα να τρέξω από πάνω και IDS και Zenarmor, τα 8 GB είναι αυτά που κρατούν το σύστημα άνετο αντί να παλεύει συνέχεια με τη μνήμη.

Η εγκατάσταση του OPNsense Έκανα την εγκατάσταση όπως θα έκανα σε κάθε x86 σύστημα.

Κατέβασα το OPNsense image, έφτιαξα ένα bootable USB, ξεκίνησα το Sophos από το USB και το εγκατέστησα στον εσωτερικό δίσκο.

Μετά πέρασα στην αρχική ανάθεση των interfaces, που είναι και το πιο κρίσιμο σημείο σε τέτοια μηχανήματα.

Λέω κρίσιμο γιατί σε αυτά τα appliances η σειρά των θυρών δεν αντιστοιχεί πάντα με αυτό που φαντάζεσαι.

Γι' αυτό μετά την εγκατάσταση δοκίμασα θύρα προς θύρα: έβαζα καλώδιο και έβλεπα ποιο interface ανεβαίνει.

Έτσι κατέληξα με καθαρή εικόνα ποια φυσική θύρα είναι WAN και ποια LAN.

Η δομή του δικτύου μου Η λογική μου ήταν απλή: το OPNsense να είναι το κέντρο του δικτύου, ο default gateway απ' όπου περνάει όλη η κίνηση.

Από εκεί ελέγχω firewall, DNS, DHCP, logs, IDS και ό,τι άλλο χρειαστεί.

Το ένα interface το όρισα ως WAN, την πλευρά που κοιτάει προς το upstream δίκτυο του παρόχου.

Παίρνει διεύθυνση αυτόματα μέσω DHCP από τον πάροχο.

Το άλλο το όρισα ως LAN, το εσωτερικό μου δίκτυο, με σταθερή διεύθυνση 192.168.1.1/24. Αυτή είναι η διεύθυνση του gateway για όλες τις συσκευές του σπιτιού.

Πέρα από αυτά τα δύο βασικά, έχω και ένα ξεχωριστό κομμάτι δικτύου πάνω σε δική του φυσική θύρα, το οποίο το χρησιμοποιώ μέσω VLAN για ένα δεύτερο δίκτυο πρόσβασης, καθώς και ένα interface αφιερωμένο στο VPN.

Τα βλέπουμε αναλυτικά παρακάτω.

Σε μορφή πίνακα, ο χάρτης του δικτύου μου είναι στην εικόνα: DHCP: αυτόματες διευθύνσεις Δεν ήθελα να ρυθμίζω χειροκίνητα κάθε συσκευή, οπότε το OPNsense μοιράζει διευθύνσεις αυτόματα.

Για αυτή τη δουλειά χρησιμοποιώ τον Dnsmasq ως DHCP server.

Υπάρχει διαθέσιμη και η νεότερη μηχανή Kea, αλλά την αφήνω ανενεργή και κρατάω τον Dnsmasq, γιατί μου καλύπτει σε ένα σημείο και τον τοπικό DNS, όπως θα δείτε στη συνέχεια. Στο LAN μοιράζω ένα εύρος μέσα στο 192.168.1.0/24, κρατώντας τις χαμηλές διευθύνσεις ελεύθερες για σταθερές συσκευές και υποδομή.

Στο δεύτερο δίκτυο, αυτό του VLAN, μοιράζω ένα μικρότερο εύρος μέσα στο 192.168.200.0/24, αρκετό για τις συσκευές που ζουν εκεί.

Έχω ενεργοποιημένο και IPv6 στο εσωτερικό, οπότε ο ίδιος μηχανισμός εξυπηρετεί και τις δύο οικογένειες διευθύνσεων.

Με λίγα λόγια, PC, κινητά, access points και ό,τι άλλο συνδέσω παίρνουν διεύθυνση μόνα τους, χωρίς εγώ να αγγίξω τίποτα.

DNS: ποιος απαντάει στις ερωτήσεις Το κομμάτι του DNS το έστησα σε δύο επίπεδα, γιατί ήθελα και σωστή ανάλυση ονομάτων προς το Internet και αναγνώριση των τοπικών μου συσκευών.

Στην κλασική θύρα 53 τρέχει ο Unbound ως recursive resolver.

Δηλαδή οι συσκευές μου ρωτούν το firewall, και το firewall κάνει το ίδιο τη δουλειά της ανάλυσης αντί να βασίζεται τυφλά σε εξωτερικούς servers.

Παράλληλα, σε ξεχωριστή εσωτερική θύρα τρέχει ο Dnsmasq, ο οποίος γνωρίζει τα τοπικά ονόματα και το local domain.

Έτσι, όταν μια ερώτηση αφορά τοπική συσκευή, εξυπηρετείται σωστά μέσα στο δίκτυο.

Το αποτέλεσμα είναι ότι οι συσκευές ρωτούν πάντα το OPNsense, και το OPNsense ξέρει αν πρέπει να ψάξει έξω ή να απαντήσει με τοπική εγγραφή.

Καθαρό, ελεγχόμενο, και χωρίς εξάρτηση από τον DNS του παρόχου.

VLAN: χωρίζω τα δίκτυα Ένα από τα πράγματα που με τράβηξαν να φτιάξω σωστό firewall ήταν ακριβώς αυτό: να μπορώ να χωρίζω δίκτυα.

Έχω στήσει ένα VLAN με tag 100 πάνω σε ξεχωριστή φυσική θύρα, το οποίο γίνεται δικό του interface με δικό του subnet, το 192.168.200.0/24. Για να περνάει καθαρά η κίνηση μέσω VLAN και πέρα από το firewall, πρόσθεσα και ένα μικρό managed switch που αγόρασα με 10 ευρώ, ένα D-Link DGS-1100 με 8 θύρες.

Η φυσική θύρα του Sophos καταλήγει σε αυτό το switch, και από εκεί διαχειρίζομαι το tagging ώστε όλη η κίνηση να ταξιδεύει στα σωστά VLAN.

Έτσι ο διαχωρισμός δεν μένει μόνο μέσα στο OPNsense, αλλά επεκτείνεται και στο φυσικό δίκτυο, με ένα φθηνό αλλά απολύτως ικανό managed switch.

Αυτό το ξεχωριστό δίκτυο το αξιοποιώ για ένα δεύτερο δίκτυο πρόσβασης, χωριστά από το βασικό μου LAN.

Η ιδέα είναι ότι ό,τι κάθεται εκεί μπορεί να έχει Internet, αλλά είναι λογικά απομονωμένο από τις βασικές μου συσκευές.

Είναι ιδανικό για guest πρόσβαση, για ξεχωριστό mesh access point, για συσκευές που δεν εμπιστεύομαι απόλυτα ή απλώς για πειραματισμό, χωρίς να ανακατεύονται όλα σε ένα επίπεδο.

Firewall: τι περνάει και τι όχι Στο OPNsense τίποτα δεν περνάει από μόνο του αν δεν το επιτρέψω.

Το outbound NAT το έχω σε automatic mode, οπότε η έξοδος προς το Internet δουλεύει καθαρά χωρίς να χρειάζεται να γράφω χειροκίνητα κανόνες μετάφρασης διευθύνσεων.

Στους κανόνες κίνησης κρατάω μια απλή και ξεκάθαρη λογική: • Από το LAN επιτρέπω έξοδο προς τα έξω, και για IPv4 και για IPv6.

Είναι το κλασικό allow LAN to any. • Από το δεύτερο δίκτυο, αυτό του VLAN, επιτρέπω επίσης έξοδο προς το Internet, ώστε οι συσκευές εκεί να έχουν σύνδεση. • Από το VPN tunnel επιτρέπω την κίνηση των απομακρυσμένων clients προς το δίκτυό μου, σαν να ήταν τοπικά. • Στο WAN υπάρχει η βασική προστατευτική λογική του OPNsense, χωρίς να εκθέτω υπηρεσίες στο Internet.

Η κατεύθυνση που ακολουθώ ως καλή πρακτική είναι: LAN προς Internet επιτρεπτό, guest ή VLAN προς Internet επιτρεπτό αλλά μακριά από το βασικό LAN, και πρόσβαση στο GUI του firewall μόνο από έμπιστα σημεία.

Έτσι το OPNsense σταματάει να είναι απλώς router και γίνεται κανονικός ελεγκτής κυκλοφορίας.

Ασφαλής απομακρυσμένη πρόσβαση με WireGuard Για να μπαίνω στο δίκτυό μου από έξω χρησιμοποιώ αποκλειστικά WireGuard.

Δοκίμασα τη φιλοσοφία του road warrior: ένας απομακρυσμένος client συνδέεται με ασφάλεια στο tunnel και από εκεί βλέπει το δίκτυο σαν να βρίσκεται μέσα στο σπίτι.

Δεν χρησιμοποιώ OpenVPN ούτε IPsec, τα έχω αφήσει ανενεργά, γιατί το WireGuard μου καλύπτει πλήρως την ανάγκη με πολύ λιγότερη πολυπλοκότητα και καλύτερη απόδοση σε μικρό hardware.

Η αρχή που κρατάω είναι απλή και την προτείνω σε όλους: • Δεν ανοίγω ποτέ το Web GUI στο Internet. • Δεν ανοίγω SSH στο Internet χωρίς πολύ σοβαρό λόγο. • Μπαίνω απομακρυσμένα μόνο μέσω VPN, και μετά κινούμαι μέσα στο δίκτυο σαν τοπικός χρήστης.

IDS με Suricata Πάνω από το routing και το firewall έχω βάλει σύστημα ανίχνευσης εισβολών με Suricata.

Το τρέχω σε pcap mode, δηλαδή σε λογική παρακολούθησης και όχι inline μπλοκαρίσματος, και το έχω στραμμένο στα εσωτερικά μου interfaces, στο LAN και στο δεύτερο δίκτυο, και όχι τυφλά στο WAN.

Αυτή η επιλογή είναι συνειδητή.

Σε μικρό appliance είναι πιο λογικό να βλέπω την πραγματική εσωτερική κίνηση, αυτή που παράγουν οι δικές μου συσκευές, παρά να ρίχνω όλο το βάρος στο WAN.

Ως home network έχω ορίσει το βασικό μου subnet, και ως αλγόριθμο αντιστοίχισης χρησιμοποιώ Hyperscan, που είναι αποδοτικός για αυτή τη δουλειά.

Από πλευράς κανόνων, δεν ενεργοποίησα τα πάντα.

Διάλεξα στοχευμένα rulesets που έχουν πραγματική αξία για ένα οικιακό δίκτυο: • Emerging Threats για phishing, malware, adware και ύποπτο περιεχόμενο • Λίστες για botnet command and control και compromised hosts • CIArmy, dshield και drop για γνωστές κακόβουλες διευθύνσεις • Κανόνες για mobile malware και παλιά επικίνδυνα ActiveX • Threatview για C2 υποδομές • Όλο το πακέτο abuse.ch: URLhaus, SSL blacklist, SSL IP blacklist, Feodo Tracker και ThreatFox Στην πράξη, αυτό μου δείχνει ύποπτη κίνηση, callbacks προς γνωστά κακόβουλα domains, phishing indicators ή περίεργη συμπεριφορά από συσκευές μέσα στο δίκτυο.

Κρατάω συνειδητά λίγες αλλά χρήσιμες κατηγορίες, γιατί σε ένα SG 115 το να ανοίξεις τα πάντα είναι ο πιο σίγουρος τρόπος να το ζορίσεις.

Zenarmor: να βλέπω το δίκτυο με ανθρώπινα μάτια Πάνω από το IDS έχω προσθέσει και Zenarmor, στην home έκδοσή του.

Αυτό που μου δίνει είναι μια πιο κατανοητή εικόνα της κυκλοφορίας: ποιες εφαρμογές, ποια domains, ποιες κατηγορίες, ποιοι clients, με αναφορές που διαβάζονται εύκολα.

Δεν είναι απλώς logs, είναι μια εικόνα του τι κάνει πραγματικά το δίκτυό μου.

Το έχω ρυθμίσει με τοπικό datastore, χωρίς να σηκώνω Elasticsearch ή MongoDB, γιατί σε μικρό μηχάνημα δεν έχει νόημα να φορτώνω βαριές βάσεις.

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

Είναι ενεργά και τα health checks και ο μηχανισμός heartbeat, οπότε ξέρω αν κάτι δεν πάει καλά.

Θα είμαι ειλικρινής εδώ. Το Zenarmor είναι εξαιρετικό εργαλείο, αλλά σε μικρά appliances τρώει μνήμη και CPU.

Γι' αυτό η σειρά που ακολούθησα ήταν συγκεκριμένη: πρώτα σταθερό OPNsense, μετά IDS με μέτρο, και μόνο στο τέλος Zenarmor, με συνεχή έλεγχο στους πόρους.

Όχι όλα μαζί από την πρώτη ώρα, γιατί μετά όταν κάτι κολλήσει δεν ξέρεις ποιος φταίει.

Traffic visibility και ρυθμίσεις συστήματος Για να έχω και ιστορική εικόνα της κίνησης, έχω ενεργό Netflow με τοπικό collector.

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

Σε επίπεδο συστήματος έχω κάνει και κάποιες χαμηλού επιπέδου ρυθμίσεις.

Έχω πειράξει tunables που αφορούν το netmap, τη μηχανή που επιτρέπει στο Zenarmor να βλέπει τα πακέτα αποδοτικά. Το Web GUI το προστατεύω με TLS, με δικό μου πιστοποιητικό, ώστε η πρόσβαση στη διαχείριση να γίνεται μέσω HTTPS.

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

Οι θύρες.

Σε τέτοια appliances δεν θεωρώ ποτέ δεδομένο ποια θύρα είναι ποια.

Δοκιμή θύρα προς θύρα και μετά καθαρή ανάθεση.

Το backup.

Μόλις έφτασα σε σταθερό setup, κρατούσα διαδοχικά backups του configuration όποτε έκανα αλλαγές.

Ακόμα και να χρειαστεί να αλλάξω το sophos η εγκατάσταση και το configuration σε ένα νέο hardware γίνεται μέσα σε πολύ λιγότερο από 2 ώρες.

Οι πόροι. Το OPNsense από μόνο του είναι ελαφρύ. Με IDS και Zenarmor όμως θέλει προσοχή.

Είμαι ρεαλιστής: το SG 115 δεν είναι datacenter firewall, είναι εξαιρετικό μηχάνημα για home lab και μικρό γραφείο, και το αντιμετωπίζω ως τέτοιο.

Η σειρά που θα πρότεινα σε όποιον το επιχειρήσει Αν κάποιος θέλει να κάνει κάτι παρόμοιο, η καθαρότερη σειρά που έχω βρει είναι αυτή: 1. Κατέβασμα του OPNsense image και δημιουργία bootable USB 2. Boot στο Sophos SG 115 και εγκατάσταση στον εσωτερικό δίσκο 3. Ανάθεση WAN και LAN interfaces, με δοκιμή θύρα προς θύρα 4. Ορισμός σταθερής διεύθυνσης για το LAN 5. Σύνδεση στο web interface και update του OPNsense 6. Ενεργοποίηση DHCP στο εσωτερικό 7. Στήσιμο του DNS resolver 8. Βασικοί κανόνες firewall 9. Δημιουργία VLAN, αν χρειάζεται διαχωρισμός δικτύων 10. WireGuard για απομακρυσμένη πρόσβαση 11. IDS με λίγα, στοχευμένα rules 12. Zenarmor τελευταίο, αφού όλα τα υπόλοιπα δουλεύουν σταθερά 13. Backup του configuration ανά διαστήματα Αν κάτι πάει στραβά, δεν προσπαθώ να διορθώσω δέκα πράγματα μαζί.

Απενεργοποιώ πρώτα τα βαριά πρόσθετα, όπως IDS και Zenarmor, επιβεβαιώνω ότι το routing δουλεύει, και μετά τα ξαναβάζω ένα ένα.

Το συμπέρασμά μου Για 75 περίπου ευρώ συνολικά μαζί με switch και μνήμη, το Sophos SG 115 με OPNsense είναι από τις πιο τίμιες αναβαθμίσεις που έχω κάνει στο δίκτυό μου.

Πήρα κανονικό firewall, DHCP και DNS, VLAN για διαχωρισμό, VPN με WireGuard, IDS, traffic visibility και πολύ καλύτερο έλεγχο από οποιοδήποτε router παρόχου.

Δεν είναι λύση για όλους.

Θέλει λίγο ψάξιμο, λίγη υπομονή και βασική κατανόηση δικτύων.

Αλλά αν σου αρέσει να έχεις τον έλεγχο του δικτύου σου, είναι τεράστια αναβάθμιση.

Ένα παλιό Sophos, αντί να σαπίζει σε μια αποθήκη, έγινε ένα κανονικό OPNsense firewall.

Εκεί φαίνεται η αξία του ανοιχτού κώδικα: δεν πετάς καλό hardware επειδή τελείωσε το εμπορικό του support. Του αλλάζεις μυαλά, και η καρδιά συνεχίζει να δουλεύει.

Η επιλογή των posts/links γίνεται με ένα στατιστικό μοντέλο και μπορεί να μην απεικονίζει επακριβώς τη σειρά δημοτικότητάς τους


Όροι Χρήσης - Επικοινωνία
Update cookies preferences