Warda-DNS Warda: dall’inglese ward — proteggere, guardiano
v0.9.10

Articolo

Bloccare il DNS in uscita sul router o sul modem

Un filtro DNS vede solo le domande che gli vengono fatte. Una TV, un'app o un malware che interroga direttamente 8.8.8.8 lo aggira, senza alcun errore. La soluzione spetta al router: solo la scatola Warda può inviare DNS verso Internet.

Pubblicato il · fatti verificati il

01Perché deve farlo il router

Il tuo router dà ai dispositivi l'indirizzo di Warda, e la maggior parte lo usa. Ma alcuni dispositivi hanno il proprio server DNS scritto nel loro software: TV, altoparlanti e telecamere che usano 8.8.8.8 qualunque cosa dica la rete. Un programma può fare lo stesso, e anche un malware che vuole parlare con i suoi server senza farsi vedere.

Queste richieste non arrivano mai a Warda: non può bloccarle, e nemmeno vederle. Solo il router, che ogni pacchetto attraversa per uscire, può fermarle. La regola è semplice: le porte del DNS sono aperte solo alla scatola Warda.

02Le porte da chiudere

Il DNS classico usa la porta 53 (UDP e TCP). Il DNS over TLS usa la porta 853 in TCP, il DNS over QUIC la porta 853 in UDP. Sono queste le porte che una regola può chiudere:

  • consentire le porte 53 e 853, TCP e UDP, dall'indirizzo di Warda (e dai suoi indirizzi IPv6) verso Internet: Warda ne ha bisogno per interrogare i propri server, in modo cifrato;
  • rifiutare le porte 53 e 853 da tutti gli altri dispositivi della rete verso Internet;
  • oppure, solo per la porta 53, reindirizzare le richieste a Warda invece di rifiutarle: una TV con 8.8.8.8 scritto dentro continua a funzionare, ed è filtrata.

03Una regola generica

Su un router con Linux (OpenWrt, un router fatto in casa) basta una regola nftables come quella qui sotto, sostituendo 192.168.1.53 con l'indirizzo della tua scatola Warda. Su pfSense, OPNsense o un router tuo l'idea è la stessa: una regola sull'interfaccia della rete locale che lascia passare l'indirizzo di Warda verso le porte 53 e 853, e sotto una regola che blocca queste porte per il resto della rete.

Fai lo stesso in IPv6 con gli indirizzi di Warda: un dispositivo che interroga in IPv6 aggira una regola scritta solo per IPv4. Molti modem degli operatori non hanno un firewall del genere: in quel caso porta la regola un router tuo, dietro il modem.

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
  }
}

04I limiti, detti chiaramente

Una porta chiude solo ciò che la usa. Il DNS over HTTPS passa per la porta 443, quella di tutti i siti sicuri: nessuna regola sulle porte può chiuderla senza chiudere il web. Warda risponde a questa parte con i nomi: i servizi noti di DNS cifrato, VPN e proxy sono bloccati per bambini e ragazzi, e Firefox mantiene il DNS della rete (interroga un nome di prova, a cui Warda risponde come deve).

La porta 853 non si può reindirizzare: una richiesta cifrata inviata a Warda al posto del suo server fallirebbe il controllo del certificato. Rifiutala, e la maggior parte dei dispositivi torna al DNS della rete. Una VPN, infine, porta tutto nel suo tunnel, DNS compreso: Warda blocca i servizi VPN noti per i minori e, con l'abbonamento, ti segnala i tentativi.

05Fonti

  1. IETF, RFC 7858, «Specification for DNS over Transport Layer Security (TLS)», porta 853
  2. IETF, RFC 9250, «DNS over Dedicated QUIC Connections», porta 853 in UDP
  3. IETF, RFC 8484, «DNS Queries over HTTPS (DoH)»

Tutto il centro assistenza

Warda, il filtro DNS di tutta la casa

Warda è gratuito per la casa e funziona su un Raspberry Pi, con Docker o su Debian.

Scarica WardaCosa blocca Warda