Em um sistema Linux, existe uma maneira de bloquear todo o tráfego de entrada e saída, a menos que ele passe pela rede Tor. Isso inclui qualquer forma de comunicação IP, não apenas as conexões TCP. Por exemplo, quero que o UDP seja completamente bloqueado, pois não pode passar pelo Tor. Eu quero que esse uso da Internet do sistema seja totalmente anônimo e não quero que nenhum aplicativo vaze.
Sei que isso pode ser complicado porque o próprio Tor precisa se comunicar com os nós de retransmissão de alguma forma.
Respostas:
Fácil o suficiente com iptables. Ele pode ter regras que correspondem a usuários específicos e você já deve ter configurado
tor
para executar com seu próprio ID de usuário; Os pacotes deb e rpm fornecidos pelas principais distribuições Linux e o Projeto Tor já configuram um usuário para o Tor.A seguir, amostra completa, iptables utilizáveis e configurações Tor. Esse firewall pode ser carregado com o
iptables-restore
comando O resultado final dessa configuração roteará de forma transparente todo o tráfego originado ou encaminhado pelo host para o Tor, sem a necessidade de configurar proxies. Essa configuração deve ser à prova de vazamentos; embora você deva testá-lo completamente.Observe que o uid para o usuário tor (aqui
998
) é armazenado em formato numérico pelo iptables. Substitua o uid correto para o seu usuário tor em cada lugar que ele aparecer aqui.Observe também que o endereço IP do host precisa ser fornecido na primeira regra para oferecer suporte ao tráfego de clearnet e LAN recebido endereçado diretamente ao host (aqui mostrado como
198.51.100.212
). Se você tiver vários endereços IP, repita a regra para cada endereço.A regra ssh INPUT somente permite conexões se elas chegarem pelo host local, ou seja, um serviço oculto do Tor. Se você também deseja permitir conexões ssh recebidas via clearnet, remova
-d 127.0.0.1
.O
torrc
arquivo correspondente é:Essa configuração requer que o host tenha um endereço IP estático. Para os casos de uso esperados, é provável que você já tenha planejado que ele tenha um endereço IP estático.
E, finalmente, a saída!
fonte