01Γιατί πρέπει να το κάνει το router
Το router δίνει στις συσκευές τη διεύθυνση του Warda, και οι περισσότερες τη χρησιμοποιούν. Ορισμένες όμως έχουν δικό τους διακομιστή DNS γραμμένο στο λογισμικό τους: τηλεοράσεις, ηχεία και κάμερες που χρησιμοποιούν το 8.8.8.8 ό,τι κι αν λέει το δίκτυο. Ένα πρόγραμμα μπορεί να κάνει το ίδιο, όπως και ένα κακόβουλο λογισμικό που θέλει να μιλά απαρατήρητο με τους διακομιστές του.
Αυτά τα ερωτήματα δεν φτάνουν ποτέ στο Warda: δεν μπορεί να τα μπλοκάρει, ούτε καν να τα δει. Μόνο το router, από το οποίο περνά κάθε πακέτο προς τα έξω, μπορεί να τα σταματήσει. Ο κανόνας είναι απλός: οι θύρες του DNS είναι ανοιχτές μόνο για το κουτί Warda.
02Οι θύρες που κλείνουν
Το κλασικό DNS χρησιμοποιεί τη θύρα 53 (UDP και TCP). Το DNS over TLS τη θύρα 853 σε TCP, και το DNS over QUIC τη θύρα 853 σε UDP. Αυτές είναι οι θύρες που μπορεί να κλείσει ένας κανόνας:
- να επιτρέπονται οι θύρες 53 και 853, TCP και UDP, από τη διεύθυνση του Warda (και τις διευθύνσεις IPv6 του) προς το Internet: το Warda τις χρειάζεται για να ρωτά, κρυπτογραφημένα, τους δικούς του διακομιστές·
- να απορρίπτονται οι θύρες 53 και 853 από όλες τις άλλες συσκευές του δικτύου προς το Internet·
- ή, μόνο για τη θύρα 53, να ανακατευθύνονται τα ερωτήματα στο Warda αντί να απορρίπτονται: μια τηλεόραση με γραμμένο το 8.8.8.8 συνεχίζει να λειτουργεί και φιλτράρεται.
03Ένας γενικός κανόνας
Σε router με Linux (OpenWrt, router κατασκευής σας) αρκεί ένας κανόνας nftables όπως ο παρακάτω, με το 192.168.1.53 αντικατεστημένο από τη διεύθυνση του κουτιού σας Warda. Σε pfSense, OPNsense ή δικό σας router η ιδέα είναι ίδια: ένας κανόνας στη διεπαφή του τοπικού δικτύου που αφήνει τη διεύθυνση του Warda προς τις θύρες 53 και 853, και από κάτω ένας κανόνας που μπλοκάρει αυτές τις θύρες για το υπόλοιπο δίκτυο.
Κάντε το ίδιο σε IPv6 με τις διευθύνσεις του Warda: μια συσκευή που ρωτά μέσω IPv6 παρακάμπτει κανόνα γραμμένο μόνο για IPv4. Πολλά router των παρόχων δεν έχουν τέτοιο τείχος προστασίας: τότε τον κανόνα τον φέρει ένα δικό σας router πίσω από του παρόχου.
table inet warda_dns {
chain forward {
type filter hook forward priority filter; policy accept;
# 192.168.1.53: the address of Warda, the only one that may ask outside
ip saddr 192.168.1.53 accept
meta l4proto { tcp, udp } th dport { 53, 853 } reject
}
}
04Τα όρια, ειπωμένα καθαρά
Μια θύρα κλείνει μόνο ό,τι τη χρησιμοποιεί. Το DNS over HTTPS περνά από τη θύρα 443, τη θύρα κάθε ασφαλούς ιστότοπου: κανένας κανόνας θυρών δεν μπορεί να την κλείσει χωρίς να κλείσει τον ιστό. Το Warda απαντά σε αυτό το κομμάτι μέσω των ονομάτων: οι γνωστές υπηρεσίες κρυπτογραφημένου DNS, VPN και proxy μπλοκάρονται για παιδιά και εφήβους, και ο Firefox κρατά το DNS του δικτύου (ρωτά ένα όνομα δοκιμής, στο οποίο το Warda απαντά όπως πρέπει).
Η θύρα 853 δεν ανακατευθύνεται: ένα κρυπτογραφημένο ερώτημα που θα πήγαινε στο Warda αντί για τον διακομιστή του θα αποτύγχανε στον έλεγχο του πιστοποιητικού. Απορρίψτε την, και οι περισσότερες συσκευές επιστρέφουν στο DNS του δικτύου. Τέλος, ένα VPN μεταφέρει τα πάντα στη σήραγγά του, μαζί και το DNS: το Warda μπλοκάρει τις γνωστές υπηρεσίες VPN για τους ανηλίκους και, με τη συνδρομή, σας ειδοποιεί για τις απόπειρες.