Alterou uma rota ou uma regra de firewall para testar um túnel no router, e agora a página de administração não responde a partir do portátil que funcionava bem há dez minutos. O reflexo é culpar a VPN. Na maioria das vezes o túnel está saudável e uma de três outras coisas avariou-se: não há rota de volta para o endereço do próprio router, uma política de entrada descarta o pedido, ou um serviço web não está a escutar no endereço que está a chamar. As três parecem iguais no navegador, por isso as pessoas reiniciam o túnel durante uma hora e não aprendem nada.

Eis o mito que vale a pena matar primeiro: um túnel a funcionar não é uma via de regresso. É uma nova ligação de rede com as suas próprias questões de confiança, e pode remover silenciosamente o caminho de gestão antigo enquanto abre um novo que ninguém reviu.

O túnel nunca foi o caminho de gestão

O encaminhamento e a entrada são trabalhos diferentes. «Um cliente consegue chegar ao NAS através do túnel?» é uma pergunta de encaminhamento sobre pacotes que passam pelo router. «Consigo abrir a porta SSH do router?» é uma pergunta de entrada sobre pacotes endereçados ao próprio router. Uma regra de passagem escrita para tráfego encaminhado não faz nada pela segunda, e essa é a razão mais comum pela qual um túnel que transporta tráfego perfeitamente continua a recusar a sua sessão de administração.

O erro contrário é confiar no nome de uma interface. Um túnel é cifrado para o par, não para cada serviço por trás dele, e a palavra VPN numa etiqueta de interface não diz nada sobre que origens devem poder iniciar sessão.

Primeiro nível: existe uma rota para o endereço do próprio router?

Comece no cliente e pergunte ao núcleo para onde irá o pacote. No Linux, ip route get 10.6.0.1 imprime a rota escolhida, a interface de saída e o endereço de origem. Se reportar a rota predefinida para o seu fornecedor, o pacote nunca entra no túnel, e nenhuma regra no router o pode salvar.

O lado do túnel tem a sua própria versão da pergunta. O WireGuard trata AllowedIPs como uma tabela de encaminhamento de chaves criptográficas: em cada extremidade declara que endereços de origem um par pode usar e que destinos são enviados para esse par. Se a entrada do cliente não incluir o endereço de túnel do router, o cliente não tem rota até ele. Se a entrada do servidor para esse cliente não cobrir o endereço de túnel do cliente, o servidor descarta o pacote antes de consultar qualquer regra de firewall.

Confirme o endereço exato que espera alcançar antes de depurar a política. Um registo DNS obsoleto ou uma entrada de vizinho em cache de antes da mudança levam-no a um endereço que o router nunca possuiu.

Segundo nível: a política de entrada, não a política de encaminhamento

As firewalls avaliam regras na interface onde o pacote chega. No pfSense e no OPNsense, o separador da interface e a ordem das regras decidem se o tráfego para os serviços da própria firewall é permitido; uma regra que deixa sair os clientes LAN para a internet não é uma regra que permite a um par do túnel abrir a interface web. No OpenWrt com firewall4, cada zona transporta uma política de entrada, option input 'ACCEPT' ou 'REJECT', e uma interface de túnel numa zona com entrada REJECT recusará ligações de gestão enquanto continua a encaminhar tráfego se o encaminhamento for permitido.

Não desative a regra anti-bloqueio para fazer funcionar o novo caminho. Essa regra impede que uma regra má bloqueie o endereço de gestão LAN; protege a sub-rede LAN, não a sub-rede do túnel que acabou de criar. Acrescente uma regra estreita para a origem do administrador e deixe a rede de segurança em paz. A documentação do pfSense sobre acesso de administração explica onde estão esses controlos.

# on the router: bind addresses and the loaded ruleset
ss -ltnp | grep -E ':(22|80|443)\b'         # Linux / OpenWrt
sockstat -4 -l | grep -E ':(22|80|443)\b'   # FreeBSD / pfSense
nft list ruleset | grep -A6 'chain input'    # firewall4
pfctl -sr | head -40                         # pf / pfSense

Terceiro nível: há algo a escutar nesse endereço?

Um serviço pode estar a correr e mesmo assim ser inalcançável porque se ligou a um único endereço. O uhttpd do OpenWrt mantém entradas de escuta explícitas em /etc/config/uhttpd, por exemplo list listen_http '0.0.0.0:80'; uma compilação que só se liga ao endereço LAN não aceita nada no endereço do túnel, e os produtos que expõem uma definição de interface de escuta comportam-se da mesma forma. Os comandos de escuta acima respondem a isto diretamente.

Depois separe a recusa do silêncio. nc -vz 10.6.0.1 443 que devolve uma ligação recusada significa que o pacote chegou ao router e algo o rejeitou, ou uma porta fechada ou uma regra explícita de rejeição. Ficar pendurado até ao tempo limite significa que o pacote foi descartado ou nunca foi encaminhado. Essa distinção diz-lhe que nível inspecionar a seguir, e custa cinco segundos.

Uma interface VPN é uma fronteira, não um caminho de recuperação

A cifra protege o cabo; não diz nada sobre quem pode abrir a página de administração. Assim que o túnel funcionar, resista ao impulso de resolver a acessibilidade permitindo tudo na interface do túnel. Dê aos administradores uma regra ligada ao seu próprio endereço de túnel ou um túnel separado só para administradores, e mantenha os utilizadores normais, o NAS, as câmaras e os portáteis da família longe da porta de gestão. Um par que precisa de partilha de ficheiros não deve estar a uma regra do início de sessão do router.

O papel do router muda a resposta. Um router que termina o túnel pode aceitar legitimamente administradores a partir dele, enquanto um router que só usa o túnel como saída para a internet normalmente não deveria. Em ambos os casos a permissão da sub-rede não é o início de sessão, por isso mantenha a autenticação de conta e a segurança de transporte ativas.

O movimento compensatório que as pessoas fazem depois de um bloqueio é pior: ativar a administração por WAN ou reencaminhar uma porta para a interface web. Isso transforma uma interrupção curta numa exposição permanente, e a página de início de sessão fica então ao alcance de qualquer analisador na internet. Teste também o lado recusado, não só o permitido, para que um par que não devia ter acesso de administração receba um tempo limite ou uma recusa em vez de um pedido de início de sessão.

Teste também com uma ligação nova. Uma firewall com estado mantém os fluxos existentes na sua tabela de estados, por isso a sessão SSH que já tem aberta pode sobreviver a uma mudança que bloqueia todas as ligações novas. É assim que um bloqueio fica invisível até ao próximo reinício ou à próxima suspensão do portátil.

Prepare o caminho de volta antes de tocar na política

Anote quatro coisas antes da primeira mudança: como chegará ao dispositivo se o túnel morrer, como uma consola série, uma consola do fornecedor ou uma máquina na LAN; para onde é exportada a configuração atual; que única regra ou rota vai alterar; e como reverterá exatamente esse item. No OpenWrt, sysupgrade -b /tmp/backup.tar.gz captura a configuração, e as edições ficam pendentes até uci commit, o que lhe dá um desfazer barato se perceber a tempo. O pfSense mantém um histórico de configuração, e o AutoConfigBackup só ajuda se já estava ativo. Se o router executar um conjunto de regras fail-closed, confirme que o caminho de manutenção planeado não está dentro do tráfego bloqueado por essa regra, e lembre-se de que um reinício reaplica as regras persistentes em vez de as apagar.

Mude uma fronteira por tentativa e depois teste a partir de uma ligação nova em vez da shell que mantém aberta. Se o teste falhar, reverta essa única mudança antes de tocar no nível seguinte. O túnel pode ficar de pé o tempo todo, mas o seu ícone de estado verde não é prova de que ainda consegue entrar.

Verificação rápida antes de sair:

  • Consegue chegar ao router a partir de uma origem que não depende da regra que acabou de editar?
  • A política de entrada na interface do túnel permite apenas a origem do administrador?
  • O serviço de gestão está ligado a um endereço que existe no túnel?
  • Testou um par recusado e uma sessão nova?
  • A superfície de administração por WAN continua fechada?

Artigos relacionados