01Proč to musí dělat router
Router dává zařízením adresu Wardy a většina ji používá. Některá zařízení ale mají vlastní DNS server zapsaný ve svém softwaru: televize, reproduktory a kamery, které používají 8.8.8.8 bez ohledu na to, co říká síť. Program může udělat totéž, stejně jako malware, který chce nepozorovaně mluvit se svými servery.
Tyto dotazy k Wardě nikdy nedorazí: nemůže je zablokovat, ani je vidět. Zastavit je může jen router, kterým prochází každý paket na cestě ven. Pravidlo je jednoduché: porty DNS jsou otevřené jen krabičce Warda.
02Porty, které zavřít
Klasické DNS používá port 53 (UDP i TCP). DNS over TLS používá port 853 přes TCP, DNS over QUIC port 853 přes UDP. Tyto porty může pravidlo zavřít:
- povolit porty 53 a 853, TCP i UDP, z adresy Wardy (a jejích IPv6 adres) do internetu: Warda je potřebuje, aby se šifrovaně ptala svých nadřazených serverů;
- odmítat porty 53 a 853 ze všech ostatních zařízení sítě do internetu;
- nebo, jen pro port 53, dotazy přesměrovat na Wardu místo odmítnutí: televize s napevno zapsaným 8.8.8.8 pak dál funguje a je filtrovaná.
03Obecné pravidlo
Na routeru s Linuxem (OpenWrt, router postavený doma) stačí pravidlo nftables jako to níže, s 192.168.1.53 nahrazenou adresou vaší krabičky Warda. Na pfSense, OPNsense nebo vlastním routeru je myšlenka stejná: pravidlo na rozhraní místní sítě, které pustí adresu Wardy k portům 53 a 853, a pod ním pravidlo, které tyto porty zablokuje zbytku sítě.
Totéž udělejte pro IPv6 s adresami Wardy: zařízení, které se ptá přes IPv6, obejde pravidlo napsané jen pro IPv4. Mnoho routerů od poskytovatelů takový firewall nemá: pravidlo pak nese vlastní router za routerem poskytovatele.
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
}
}
04Limity, řečeno otevřeně
Port zavře jen to, co ho používá. DNS over HTTPS jde přes port 443, port každého zabezpečeného webu: žádné pravidlo portů ho nezavře, aniž by zavřelo web. Warda na tuto část odpovídá přes jména: známé služby šifrovaného DNS, VPN a proxy jsou blokované pro děti a dospívající a Firefox si ponechá DNS sítě (ptá se na testovací jméno, na které Warda odpoví, jak má).
Port 853 přesměrovat nejde: šifrovaný dotaz poslaný Wardě místo jeho serveru by neprošel kontrolou certifikátu. Odmítněte ho a většina zařízení se vrátí k DNS sítě. A VPN nese všechno ve svém tunelu, DNS včetně: Warda blokuje známé služby VPN pro nezletilé a s předplatným vám pokusy ohlásí.