Três observadores juntam-se numa só pergunta sempre que alguém pergunta se uma VPN esconde o seu tráfego: a rede a que está ligado, a máquina nas suas mãos e o operador do túnel. Cada um aprende algo diferente, e o túnel altera cada uma dessas visões de forma diferente. Ajuda trabalhar na direção contrária e partir da afirmação que se faz, porque é a afirmação que tem de resistir ao escrutínio. Decida de que afirmação precisa e depois compare as ferramentas com ela.

Primeira afirmação: ninguém consegue ler o tráfego

Comece pela afirmação mais estreita: a carga útil continua ilegível. Um observador passivo no caminho não consegue ver dentro de uma sessão TLS, por isso o túnel acrescenta pouco a um site que já usa HTTPS e não acrescenta nada contra os dois extremos. Quem quebra esta afirmação é quem controla o dispositivo, porque um proxy de inspeção termina a ligação e volta a assiná-la com uma raiz em que a máquina já confia. É por isso que o cadeado continua a aparecer enquanto a cadeia de certificados leva o nome da organização que instalou a raiz.

security find-certificate -a -p /Library/Keychains/System.keychain | openssl crl2pkcs7 -nocrl -certfile /dev/stdin | openssl pkcs7 -noout -print_certs | grep subject
certutil -store Root

No macOS essa conduta imprime uma linha de sujeito por cada certificado no porta-chaves da máquina, sem abrir qualquer janela, e no Windows certutil -store Root lista o mesmo armazém que certlm.msc mostra graficamente. Uma raiz pertencente a uma escola, a um empregador ou a um produto de segurança de rede é a entrada a procurar. Encontrar uma prova apenas que a interceção é possível, não que esteja a acontecer.

O que pode fazer quanto a isso é uma questão de política e não técnica. Retirar um perfil ou uma raiz de inspeção de hardware que não é seu viola normalmente o acordo de utilização aceitável, e o sistema de gestão costuma notar e voltar a aplicá-lo, pelo que a exigência de que o dono do dispositivo não leia o seu tráfego exige outro dispositivo e não outra definição.

Segunda afirmação: ninguém vê para onde vai

O destino é a afirmação mais difícil, porque há duas divulgações antes de uma página carregar. O pedido vai para o resolvedor que o sistema está configurado para usar, e a resposta é visível para a rede que a transporta. Depois o aperto de mão TLS transporta o nome do servidor pedido em claro, salvo se Encrypted Client Hello for suportado nas duas pontas. Nenhuma das divulgações envolve decifrar, por isso o túnel não tem efeito sobre nenhuma.

resolvectl status | grep -A2 "Link"
nslookup example.com

Que resolvedor é realmente usado decide a exposição, e isso pode ser medido em vez de discutido. No Linux, resolvectl status imprime os servidores DNS por ligação, e a sua saída diz-lhe se responde o resolvedor do site ou o imposto. O Windows responde à mesma pergunta com nslookup example.com, cujo primeiro bloco de saída é o servidor DNS que respondeu.

Quando o portátil consulta o resolvedor do site antes de o túnel subir, ou o perfil chega sem um servidor de substituição e o antigo continua em uso, o administrador continua a recolher nomes de anfitrião sem decifrar nada. O DNS cifrado do navegador ou contorna o resolvedor imposto ou fica totalmente bloqueado e falha fechado. O operador de saída vê os mesmos nomes do seu lado. Mudar de resolvedor não afasta, portanto, essa divulgação do fornecedor do túnel.

Terceira afirmação: ninguém sabe que se ligou

A terceira afirmação é a que um túnel não consegue sustentar, porque os pacotes continuam a atravessar a rede local. Essa rede fica a saber o endereço do extremo, o volume aproximado, o momento e a existência de uma sessão cifrada de longa duração, o que basta para bloquear, limitar ou simplesmente notar. Uma firewall que não consegue ler um pacote ainda pode recusar-se a deixá-lo passar. Ser observado não é o mesmo que não ser observado por ninguém: moveu o observador, não o apagou.

O túnel dividido, e qualquer aplicação que ignore a rota imposta, produzem fluxos fora do túnel que se veem exatamente como antes. São esses os fluxos que um observador atento nota primeiro, e a tabela de rotas do cliente mostra que destinos ficam excluídos.

O operador do outro extremo tem a imagem espelhada dessa vista: endereço de saída, momento, volume e normalmente os nomes dos sites. O seu fornecedor passa a ser a parte com o miradouro, o que é um negócio diferente da invisibilidade. Escolher um fornecedor em quem confia é uma decisão real; chamar ao resultado não observado, não.

Decida de que afirmação precisa

Escreva o requisito numa linha antes de tocar num cliente: esconder o conteúdo, esconder os destinos ou esconder se se ligou sequer. O conteúdo já é tratado pelo HTTPS em conjunto com o túnel, enquanto os destinos exigem um resolvedor e um caminho que contornem por completo o equipamento do site.

O terceiro requisito é o incómodo, porque algo continua visivelmente ligado em algum lugar, cifrado ou não. Nenhuma definição do cliente muda isso. Se o requisito e a política se separarem, essa lacuna pertence a uma conversa com quem é dono da política, não a uma opção do cliente. Quem a pode responder é quem escreveu a política.

Artigos relacionados