Warda-DNS Warda: din englezescul ward — a proteja, gardian
v0.9.10

Articol

Blocați DNS-ul de ieșire pe router

Un filtru DNS vede doar întrebările care i se pun. Un televizor, o aplicație sau un program malițios care întreabă direct 8.8.8.8 îl ocolește, fără nicio eroare. Soluția ține de router: doar cutia Warda poate trimite DNS spre Internet.

Publicat pe · fapte verificate pe

01De ce trebuie să o facă routerul

Routerul dă dispozitivelor adresa Warda, iar cele mai multe o folosesc. Unele dispozitive au însă propriul server DNS scris în software: televizoare, boxe și camere care folosesc 8.8.8.8 orice ar spune rețeaua. Un program poate face la fel, la fel și un program malițios care vrea să vorbească neobservat cu serverele sale.

Aceste cereri nu ajung niciodată la Warda: nu le poate bloca și nici măcar vedea. Doar routerul, prin care trece fiecare pachet la ieșire, le poate opri. Regula e simplă: porturile DNS sunt deschise doar pentru cutia Warda.

02Porturile de închis

DNS-ul clasic folosește portul 53 (UDP și TCP). DNS over TLS folosește portul 853 pe TCP, iar DNS over QUIC portul 853 pe UDP. Acestea sunt porturile pe care o regulă le poate închide:

  • permiteți porturile 53 și 853, TCP și UDP, de la adresa Warda (și adresele sale IPv6) spre Internet: Warda are nevoie de ele ca să-și întrebe serverele, criptat;
  • refuzați porturile 53 și 853 de la toate celelalte dispozitive din rețea spre Internet;
  • sau, doar pentru portul 53, redirecționați cererile spre Warda în loc să le refuzați: un televizor cu 8.8.8.8 scris în el continuă să funcționeze și este filtrat.

03O regulă generică

Pe un router cu Linux (OpenWrt, un router făcut acasă) ajunge o regulă nftables ca cea de mai jos, cu 192.168.1.53 înlocuit cu adresa cutiei dumneavoastră Warda. Pe pfSense, OPNsense sau un router propriu ideea e aceeași: o regulă pe interfața rețelei locale care lasă adresa Warda spre porturile 53 și 853, iar dedesubt o regulă care blochează aceste porturi pentru restul rețelei.

Faceți la fel pentru IPv6 cu adresele Warda: un dispozitiv care întreabă prin IPv6 ocolește o regulă scrisă doar pentru IPv4. Multe routere ale operatorilor nu au un astfel de firewall: atunci regula o poartă un router propriu, pus în spatele celui al operatorului.

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

04Limitele, spuse deschis

Un port închide doar ce îl folosește. DNS over HTTPS trece prin portul 443, portul oricărui site securizat: nicio regulă de porturi nu îl poate închide fără să închidă webul. Warda răspunde acestei părți prin nume: serviciile cunoscute de DNS criptat, VPN și proxy sunt blocate pentru copii și adolescenți, iar Firefox păstrează DNS-ul rețelei (întreabă un nume de test, la care Warda răspunde cum trebuie).

Portul 853 nu se poate redirecționa: o cerere criptată trimisă la Warda în locul serverului ei ar pica verificarea certificatului. Refuzați-l, și majoritatea dispozitivelor revin la DNS-ul rețelei. În fine, un VPN poartă totul în tunelul său, inclusiv DNS-ul: Warda blochează serviciile VPN cunoscute pentru minori și, cu abonamentul, vă semnalează încercările.

05Surse

  1. IETF, RFC 7858, „Specification for DNS over Transport Layer Security (TLS)”, portul 853
  2. IETF, RFC 9250, „DNS over Dedicated QUIC Connections”, portul 853 pe UDP
  3. IETF, RFC 8484, „DNS Queries over HTTPS (DoH)”

Tot centrul de asistență

Warda, filtrul DNS al întregii case

Warda este gratuit pentru casă și rulează pe un Raspberry Pi, cu Docker sau pe Debian.

Descărcați WardaCe blochează Warda