Warda-DNS Warda: από το αγγλικό ward — προστατεύω, φύλακας
v0.9.10

Άρθρο

Αποκλείστε το εξερχόμενο DNS στο router

Ένα φίλτρο DNS βλέπει μόνο τις ερωτήσεις που του κάνουν. Μια τηλεόραση, μια εφαρμογή ή ένα κακόβουλο λογισμικό που ρωτά απευθείας το 8.8.8.8 το παρακάμπτει, χωρίς κανένα σφάλμα. Η λύση ανήκει στο router: μόνο το κουτί Warda μπορεί να στέλνει DNS στο Internet.

Δημοσιεύτηκε στις · τα στοιχεία ελέγχθηκαν στις

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 πίσω από του παρόχου.

nft
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 για τους ανηλίκους και, με τη συνδρομή, σας ειδοποιεί για τις απόπειρες.

05Πηγές

  1. IETF, RFC 7858, «Specification for DNS over Transport Layer Security (TLS)», θύρα 853
  2. IETF, RFC 9250, «DNS over Dedicated QUIC Connections», θύρα 853 σε UDP
  3. IETF, RFC 8484, «DNS Queries over HTTPS (DoH)»

Όλο το κέντρο βοήθειας

Warda, το φίλτρο DNS όλου του σπιτιού

Το Warda είναι δωρεάν για το σπίτι και λειτουργεί σε Raspberry Pi, με Docker ή σε Debian.

Λήψη του WardaΤι μπλοκάρει το Warda