Capturar num anfitrião VPN não regista uma única coisa. O núcleo expõe o pacote duas vezes: embrulhado, no adaptador físico, e desembrulhado, no dispositivo de túnel. Escolher a interface é escolher qual dessas histórias lê. A maioria das discussões sobre o que uma captura prova são, na verdade, discussões sobre qual história foi recolhida.

A encapsulação cria duas vistas

O túnel pega no pacote que uma aplicação produziu e coloca-o dentro de um novo cujo destino é o servidor VPN. A forma interna aparece em tun0, wg0 ou em qualquer dispositivo que o cliente tenha criado. A forma externa aparece no adaptador que a transporta até à rede. Ambas as formas são legítimas; respondem a perguntas diferentes. Recolha cada uma separadamente, porque as duas têm cabeçalhos e leitores diferentes.

sudo tcpdump -i tun0 -n -s 0
sudo tcpdump -i eth0 -n host 198.51.100.20 and udp port 51820

A pseudointerface any é uma má escolha para esta comparação. Os pacotes reencaminhados podem ser registados duas vezes, e um pacote gerado localmente aparece nas duas formas, o que infla as contagens. Se um número parecer impossível, verifique a interface antes de culpar o túnel.

Dentro do túnel, o pacote é vulgar

No dispositivo de túnel, o que vê é o que a aplicação pediu ao núcleo para enviar. Endereços de destino, portas, nomes DNS, nomes de servidor TLS, tamanhos e temporização estão todos lá. A carga útil TLS permanece cifrada pela sessão da própria aplicação, pelo que a captura não revela o conteúdo da página. Uma consulta DNS em texto claro é visível aqui ainda que o seu transporte esteja cifrado, porque nunca foi protegida.

O DNS cifrado remove esse único campo visível. Não esconde o endereço de destino, a contagem de bytes ou o ritmo, que são propriedades do fluxo e não da consulta.

Lá fora, apenas o envelope e a sua forma

O adaptador físico mostra o seu endereço, o endereço do servidor, a porta, os tamanhos dos pacotes e a temporização. Os destinos transportados lá dentro estão ausentes, embora a sua forma ainda possa sustentar inferências. Tamanhos e cadência podem sugerir um fluxo de vídeo, uma transferência em massa ou uma sessão de chat sem nomear nenhum deles. Um observador próximo vê aproximadamente esta mesma vista, o que explica como um túnel pode esconder sites enquanto anuncia a sua própria presença.

Essa afirmação depende do encaminhamento. Uma rota mais estreita, um IPv6 por omissão que não entra no túnel ou um processo ligado à interface física colocarão o tráfego fora do envelope. Leia a rota real antes de tirar conclusões da captura.

Endereço do par e higiene da captura

O OpenVPN em modo TCP mantém um socket estabelecido, pelo que a tabela de sockets pode nomear o par. O OpenVPN em modo UDP deixa frequentemente o socket sem ligação, e ss pode mostrar apenas o lado local. Leia, em vez disso, remote do perfil, um registo detalhado do cliente ou a rota até ao ponto final. O WireGuard reporta diretamente o seu ponto final e o último handshake.

wg show
ss -tunp | grep 51820

Um ficheiro de captura sobrevive à sessão que o produziu. Pode ser copiado e pode ser legível por qualquer pessoa com acesso local. Guarde apenas o que a investigação precisa, restrinja as permissões e elimine-o quando o trabalho estiver concluído.

Uma captura partilhável deve dizer que interface a produziu e quando. Sem essa nota, o leitor seguinte tem de adivinhar que camada está a ver.

Artigos relacionados