01Porque é o router que o deve fazer
O seu router dá o endereço do Warda aos dispositivos, e a maioria usa-o. Mas alguns dispositivos têm o seu próprio servidor DNS escrito no software: televisões, colunas e câmaras que usam 8.8.8.8 diga a rede o que disser. Um programa pode fazer o mesmo, e também um software malicioso que quer falar com os seus servidores sem ser visto.
Esses pedidos nunca chegam ao Warda: não os pode bloquear, nem sequer vê-los. Só o router, que cada pacote atravessa para sair, os pode parar. A regra é simples: as portas do DNS só estão abertas para a caixa Warda.
02As portas a fechar
O DNS clássico usa a porta 53 (UDP e TCP). O DNS over TLS usa a porta 853 em TCP, e o DNS over QUIC a porta 853 em UDP. São estas as portas que uma regra pode fechar:
- permitir as portas 53 e 853, TCP e UDP, a partir do endereço do Warda (e dos seus endereços IPv6) para a Internet: o Warda precisa delas para consultar os seus próprios servidores, cifrados;
- recusar as portas 53 e 853 a partir de todos os outros dispositivos da rede para a Internet;
- ou, só para a porta 53, redirecionar os pedidos para o Warda em vez de os recusar: uma televisão com 8.8.8.8 escrito continua a funcionar, e fica filtrada.
03Uma regra genérica
Num router com Linux (OpenWrt, um router feito em casa), basta uma regra nftables como a de baixo, com 192.168.1.53 substituído pelo endereço da sua caixa Warda. No pfSense, no OPNsense ou num router seu, a ideia é a mesma: uma regra na interface da rede local que deixa passar o endereço do Warda para as portas 53 e 853, e por baixo uma regra que bloqueia essas portas para o resto da rede.
Faça o mesmo em IPv6 com os endereços do Warda: um dispositivo que pergunta em IPv6 contorna uma regra escrita só para IPv4. Muitas boxes dos operadores não têm uma firewall assim: um router seu atrás da box leva então a regra.
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
}
}
04Os limites, ditos com franqueza
Uma porta só fecha o que a usa. O DNS over HTTPS passa pela porta 443, a de todos os sites seguros: nenhuma regra de portas a pode fechar sem fechar a web. O Warda responde a essa parte pelos nomes: os serviços conhecidos de DNS cifrado, VPN e proxy são bloqueados para crianças e adolescentes, e o Firefox mantém o DNS da rede (consulta um nome de teste, a que o Warda responde como deve).
A porta 853 não se pode redirecionar: um pedido cifrado enviado ao Warda em vez do seu servidor falharia na verificação do certificado. Recuse-a, e a maioria dos dispositivos volta ao DNS da rede. Por fim, uma VPN leva tudo no seu túnel, DNS incluído: o Warda bloqueia os serviços de VPN conhecidos para os menores e, com a subscrição, avisa-o das tentativas.