01Miért a routernek kell ezt tennie
A router megadja az eszközöknek a Warda címét, és a legtöbb használja is. Néhány eszköz szoftverébe azonban saját DNS-szerver van beírva: tévék, hangszórók és kamerák, amelyek a 8.8.8.8-at használják, bármit mond a hálózat. Egy program is megteheti ugyanezt, és egy kártevő is, amely észrevétlenül akar beszélni a szervereivel.
Ezek a kérések soha nem jutnak el a Wardához: nem tudja letiltani, de még látni sem őket. Csak a router állíthatja meg őket, amelyen minden kimenő csomag áthalad. A szabály egyszerű: a DNS-portok csak a Warda-doboz előtt vannak nyitva.
02A lezárandó portok
A klasszikus DNS az 53-as portot használja (UDP és TCP). A DNS over TLS a 853-as TCP-portot, a DNS over QUIC a 853-as UDP-portot. Ezeket a portokat tudja egy szabály lezárni:
- engedélyezze az 53-as és 853-as portot, TCP-n és UDP-n, a Warda címéről (és IPv6-címeiről) az internet felé: a Wardának ezekre szüksége van, hogy titkosítva kérdezze a saját szervereit;
- utasítsa el az 53-as és 853-as portot a hálózat összes többi eszközéről az internet felé;
- vagy, csak az 53-as portnál, irányítsa át a kéréseket a Wardához elutasítás helyett: egy beégetett 8.8.8.8-as tévé így tovább működik, és szűrve van.
03Egy általános szabály
Linuxos routeren (OpenWrt, saját építésű router) elég egy olyan nftables-szabály, mint az alábbi, a 192.168.1.53 helyett a Warda-doboz címével. pfSense-en, OPNsense-en vagy saját routeren ugyanez az elv: egy szabály a helyi hálózat interfészén, amely átengedi a Warda címét az 53-as és 853-as portra, alatta pedig egy szabály, amely ezeket a portokat a hálózat többi részének letiltja.
Tegye meg ugyanezt IPv6-ra is a Warda címeivel: egy IPv6-on kérdező eszköz megkerüli a csak IPv4-re írt szabályt. A szolgáltatói routerek közül sokban nincs ilyen tűzfal: ilyenkor a szabályt egy saját router viszi a szolgáltatói mögött.
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
}
}
04A korlátok, őszintén
Egy port csak azt zárja le, ami használja. A DNS over HTTPS a 443-as porton megy, minden biztonságos weboldal portján: egyetlen portszabály sem zárhatja le a web lezárása nélkül. A Warda erre a részre a nevekkel felel: az ismert titkosított DNS-, VPN- és proxyszolgáltatások a gyerekeknek és a tizenéveseknek tiltva vannak, a Firefox pedig megtartja a hálózat DNS-ét (egy tesztnevet kérdez, amelyre a Warda helyesen válaszol).
A 853-as port nem irányítható át: a saját szervere helyett a Wardához küldött titkosított kérés elbukna a tanúsítvány ellenőrzésén. Utasítsa el, és a legtöbb eszköz visszatér a hálózat DNS-éhez. Végül a VPN mindent a saját alagútjában visz, a DNS-t is: a Warda letiltja az ismert VPN-szolgáltatásokat a kiskorúaknak, és előfizetéssel jelzi a próbálkozásokat.