O Que é o Tor Router e Por Que Ele Transforma Sua Privacidade
Quando se fala em anonimato digital genuíno no Linux, a abordagem mais robusta disponível para usuários individuais é o roteamento transparente via rede Tor. Diferente de soluções superficiais como VPNs convencionais - que dependem de um provedor central que, em última instância, conhece seu IP real -, o roteamento pelo Tor distribui a confiança por múltiplos nós independentes ao redor do globo, tornando o rastreamento exponencialmente mais difícil.
A filosofia central do tor-router é radical: nenhuma conexão sai da máquina sem passar pela rede Tor. Se um aplicativo tentar estabelecer comunicação direta com a internet sem passar pelo encapsulamento Tor, a regra de firewall o bloqueia na origem. É como configurar uma VPN no nível do kernel - só que sem terceiros envolvidos.
O projeto original do tor-router foi criado por Edu4rdShl. LeandroIbov adaptou, otimizou e melhorou o funcionamento dos scripts para que leigos e usuários intermediários possam configurar o roteamento Tor sem dores de cabeça.
Ferramentas como o TorGhost - frequentemente mencionada como alternativa - são, na prática, uma fonte interminável de problemas: quantidade excessiva de dependências, arquivos adicionados ao sistema que são difíceis de remover. Os scripts desenvolvidos por LeandroIbov oferecem uma abordagem enxuta, direta e auditável.
Proxy Transparente: o Mecanismo Central
O roteamento transparente pelo Tor funciona por meio do TransPort - uma porta especial (padrão: 9040) que o daemon Tor abre para aceitar conexões TCP roteadas via NAT pelo iptables. Não é necessário que cada aplicativo "saiba" que está usando o Tor: o próprio firewall redireciona todos os pacotes TCP saindo da máquina para essa porta, que então os encaminha pelos circuitos Tor.
Para o DNS, o mecanismo é similar: o iptables redireciona todas as consultas UDP na porta 53 para o DNSPort 5353 do Tor, eliminando assim o risco de vazamento de DNS (DNS leak) - um dos vetores mais comuns de desanonimização mesmo quando se usa uma VPN.
Atenção: O script tor-router não funciona com VPN ativa simultaneamente. Antes de executar, remova qualquer conexão automática com VPN no NetworkManager (nmcli / nm-connection-editor). Caso contrário, o roteamento pode falhar silenciosamente.
Como o Roteamento Transparente Tor Funciona
Para entender profundamente o que o script faz, é imprescindível compreender o percurso de um pacote de dados desde a aplicação até o nó de saída Tor. Abaixo, o fluxo completo:
Aplicação Gera Tráfego TCP
Um aplicativo qualquer (navegador, carteira de criptomoedas, cliente Telegram etc.) tenta estabelecer uma conexão TCP com um servidor externo.
iptables intercepta via NAT
A regra iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports 9040 captura o pacote antes que ele saia pela interface de rede e o redireciona para a porta local 9040.
Daemon Tor recebe o pacote
O TransPort do Tor (9040) aceita a conexão, descobre o destino original via informações de NAT e constrói um circuito de 3 nós pela rede Tor (entrada -> meio -> saída).
Criptografia em Camadas (Onion)
O pacote é cifrado três vezes - uma camada para cada nó do circuito. Cada nó decifra apenas a camada que lhe compete, sem conhecer a origem ou o destino final completo.
Nó de Saída entrega ao destino
O nó de saída (exit node) realiza a conexão final com o servidor de destino. O servidor vê apenas o IP do exit node, jamais o IP real do usuário.
DNS resolvido via Tor (sem vazamento)
Consultas DNS são redirecionadas para a porta 5353 do Tor via iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 5353, eliminando o risco de DNS leak.
Download dos Scripts - GitHub LeandroIbov
Os três scripts otimizados estão disponíveis gratuitamente no repositório oficial. Acesse, audite o código e contribua:
tor-router-otimizado-2024
Repositório oficial com os três scripts: tor-router.sh, parar-tor-router.sh e instala_tor.sh
Acessar RepositórioApós baixar os arquivos, configure as permissões de execução para todos de uma só vez com o comando abaixo:
Script instala_tor.sh - Instalação Segura via PGP
O instala_tor.sh é o script auxiliar responsável por instalar o daemon Tor de forma segura, diretamente do repositório oficial do Tor Project - não do repositório padrão do Debian/Ubuntu, que frequentemente contém versões desatualizadas. A diferença crítica: a instalação via repositório oficial é autenticada por chave PGP, garantindo integridade criptográfica do pacote.
Antes de executar o script, verifique em https://support.torproject.org/apt/ se os requisitos de instalação mudaram. O script usa o repositório bullseye - ajuste a distribuição conforme seu sistema se necessário.
O Que o Script Faz, Passo a Passo
Instala apt-transport-https
Habilita o apt a baixar pacotes via HTTPS, pré-requisito para acessar o repositório do Tor Project de forma segura.
Cria o arquivo de repositório
Cria /etc/apt/sources.list.d/tor.list e adiciona os repositórios deb e deb-src do Tor Project com assinatura PGP (signed-by).
Baixa e importa a chave PGP
Faz download da chave criptográfica A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 diretamente do Tor Project e a instala em /usr/share/keyrings/tor-archive-keyring.gpg.
Instala tor + keyring
Executa apt-get install tor deb.torproject.org-keyring - instala o daemon Tor e o keyring oficial do projeto.
Backup do torrc original
Copia todo o conteúdo de /etc/tor/ para /home como backup de segurança. O arquivo torrc original é fundamental para restaurar o sistema caso algo dê errado.
Script tor-router.sh - Análise Completa Linha a Linha
Este é o coração da solução. O tor-router.sh é a peça diferencial desenvolvida e otimizada por LeandroIbov: ele configura o roteamento transparente Tor de ponta a ponta, com proteções adicionais de kernel que o script original não possuía, e corrige o bug crítico de regras iptables residuais.
Bloco 1 - Identificação do UID do Tor
O primeiro passo do script é identificar o UID (User ID) com o qual o daemon Tor é executado no sistema. Isso é crítico: a regra de iptables que exclui o próprio Tor do redirecionamento usa esse UID. Sem isso, o Tor tentaria re-rotear seus próprios pacotes, criando um loop infinito.
Bloco 2 - Reconfiguração do torrc
Antes de configurar o iptables, o script sobrescreve o /etc/tor/torrc com apenas as diretivas necessárias para o proxy transparente. Um backup seguro (torrc.bak2) é criado automaticamente. As quatro linhas essenciais configuram:
Bloco 3 - Desligamento Temporário da Rede
Um passo crítico adicionado pela otimização de LeandroIbov: antes de reconfigurar o iptables, a rede é temporariamente desligada para evitar condição de corrida (race condition) onde dados poderiam vazar durante a transição entre as regras antigas e as novas.
As Regras iptables: Roteamento Transparente Total
Esta seção é o coração técnico mais avançado do artigo. Cada regra iptables no tor-router.sh cumpre uma função específica e calculada. Compreender essas regras é fundamental para auditar a segurança da configuração.
Limpeza Prévia do iptables
Um dos problemas mais graves do script original era deixar regras residuais ativas. O script otimizado limpa completamente todas as tabelas antes de aplicar as novas regras:
As Regras de Roteamento - Detalhadas
Para verificar se as regras foram aplicadas corretamente após executar o script, utilize: sudo iptables -t nat -S e sudo iptables -t filter -S. O script exibe automaticamente o resultado de todos as tabelas ao final da execução.
Hardening do Kernel Linux - Proteções Avançadas
Um dos diferenciais mais sofisticados dos scripts de LeandroIbov em relação ao original é o hardening do kernel Linux via parâmetros /proc/sys. Estas configurações são aplicadas tanto no tor-router.sh quanto no parar-tor-router.sh, garantindo uma postura de segurança robusta independentemente do estado do roteamento Tor.
| Parâmetro do Kernel | Valor | Proteção Oferecida |
|---|---|---|
/proc/sys/net/ipv4/tcp_syncookies |
1 | Ativa SYN Cookies, mitigando ataques de SYN Flood (DDoS) que saturam a tabela de conexões TCP em estado SYN_RECV |
/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts |
1 | Ignora pings broadcast, impedindo ataques Smurf e fingerprinting de rede por port scanners |
/proc/sys/net/ipv4/conf/all/rp_filter |
1 | Ativa Reverse Path Filtering - proteção contra IP Spoofing. Descarta pacotes cujo endereço de origem não seria roteável de volta pela interface de entrada |
/proc/sys/net/ipv4/conf/all/accept_redirects |
0 | Desativa aceitação de pacotes ICMP Redirect, impedindo que roteadores maliciosos na rede redirecionem seu tráfego para hosts hostis (Man-in-the-Middle) |
/proc/sys/net/ipv4/conf/all/send_redirects |
0 | Impede que a máquina envie redirecionamentos ICMP, evitando ser usada como vetor em ataques de redirecionamento |
/proc/sys/net/ipv4/conf/all/accept_source_route |
0 | Desativa roteamento de origem (source routing), um vetor clássico de bypass de firewall e spoofing |
/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses |
1 | Ignora respostas ICMP inválidas ou malformadas, mitigando ataques de ICMP Error Injection |
/proc/sys/net/ipv4/conf/all/log_martians |
1 | Registra pacotes com endereços impossíveis (martians) nos logs do kernel - útil para auditoria de segurança e detecção de IPs forjados |
/proc/sys/net/ipv4/icmp_echo_ignore_all |
1 | Torna a máquina invisível ao ping (ICMP Echo Request), dificultando descoberta por port scanners e traceroute |
/proc/sys/net/ipv4/ip_forward |
0 | Desativa o roteamento entre interfaces. A máquina não age como roteador, impedindo que pacotes sejam repassados de uma interface para outra (ex: de eth0 para wlan0) |
Script parar-tor-router.sh - Firewall Básico de Retorno
Aqui reside outro diferencial fundamental em relação ao TorGhost e ao script original: quando você para o roteamento Tor com o TorGhost, o firewall simplesmente é apagado - a máquina fica completamente exposta até que você configure manualmente alguma proteção. O parar-tor-router.sh resolve isso elegantemente.
O Firewall Básico de Proteção Pós-Tor
Ao executar o script de parada, além de remover as regras de roteamento Tor e restaurar o torrc original, o script configura automaticamente um firewall básico de bloqueio de entrada:
Restauração do torrc Original
Ao encerrar o roteamento, o script também restaura automaticamente o arquivo torrc original a partir do backup criado durante a ativação:
Com o firewall básico ativo após parar o Tor, você pode conectar uma VPN convencional com segurança. A combinação Firewall básico -> VPN é uma transição segura entre modos de operação, evitando a janela de exposição que o TorGhost e outros scripts deixam.
Carteiras de Criptomoedas pela Rede Tor
Um dos casos de uso mais relevantes para o público de traders e investidores em criptomoedas é a proteção das comunicações de carteiras com a rede Tor. Quando o tor-router está ativo, toda e qualquer carteira de criptomoedas instalada na máquina só consegue se comunicar através dos circuitos Tor - o que oculta seu IP real das corretoras, dos nós da blockchain e de qualquer entidade de vigilância.
Electrum e o Tor - Integração Nativa
A carteira Electrum possui suporte nativo a proxies SOCKS5, incluindo o Tor. Isso significa que, com o tor-router ativo, ela opera em dois modos possíveis:
Modo Tor Router
Com o tor-router ativo, o iptables força toda comunicação TCP pelo TransPort 9040. O Electrum passa pelo Tor automaticamente, sem configuração adicional.
Modo Proxy Nativo
Mesmo sem o tor-router, configure no Electrum: Ferramentas -> Preferências -> Rede -> Proxy SOCKS5: 127.0.0.1:9050 para usar o Tor Service diretamente.
Para outras carteiras que não possuem suporte nativo a proxy Tor (MetaMask, carteiras hardware via software, etc.), o tor-router é a solução: o roteamento transparente via iptables força todas as conexões TCP pelo Tor sem que a aplicação precise de qualquer configuração especial.
Mudança de IP Tor com os Scripts
Uma dúvida frequente é: como trocar o IP de saída da rede Tor sem desativar e reativar tudo manualmente? Basta reiniciar o serviço tor com: sudo systemctl restart tor.service ou em algumas versões sudo systemctl restart tor .
O comando reinicia o serviço Tor, que então constrói um novo circuito com novos nós e, consequentemente, um novo endereço IP de saída. O mesmo comportamento que o Tor Browser realiza clicando no botão para mudar o circuito, no tor service é feito via systemctl.
O script também exibe automaticamente verificações de IP via dig +short txt ch whoami.cloudflare @1.0.0.1 e curl checkip.amazonaws.com ao final de cada execução, confirmando visualmente que o tráfego está efetivamente roteado pelo Tor.
Após cada execução, verifique também se não há vazamento de DNS em https://dnsleaktest.com e confirme a legitimidade do IP Tor em https://check.torproject.org. O script exibe lembretes automáticos dessas verificações.
Diagrama: Fluxo Completo de Dados pela Rede Tor
Conhece seu IP
Sem informação
Vê o destino
Vê IP do Exit Node
Casos de Uso Principais
Anonimato Total
Todo o tráfego da máquina passa pelo Tor - aplicações, background services e daemons incluídos.
Wallets Privadas
Carteiras de criptomoedas operam sem revelar IP real à blockchain ou exchanges.
Redes Públicas
Proteção adicional em Wi-Fi público: firewall bloqueia ataques de entrada enquanto Tor oculta o tráfego.
Anti-Censura
Acesso a conteúdos bloqueados por ISPs ou governos através dos nós Tor globalmente distribuídos.
Anti-Fingerprinting
IP muda a cada reinicialização do script, dificultando rastreamento por correlação de tráfego.
Pesquisa de Segurança
Análise de malware, OSINT e pesquisa ofensiva com isolamento de tráfego pela rede Tor.
REFERÊNCIAS E FONTES
-
01
Tor Project - Repositório APT Oficial e Instalação via PGP
Documentação oficial para instalação segura do Tor via repositório criptografado com chave PGP em sistemas Debian/Ubuntu.
-
02
GitHub - tor-router-otimizado-2024 (LeandroIbov)
Scripts otimizados de roteamento Tor: tor-router.sh, parar-tor-router.sh e instala_tor.sh com melhorias de segurança e usabilidade.
-
03
GitHub - tor-router Original (Edu4rdShl)
Repositório do script original de roteamento Tor de onde os scripts de LeandroIbov foram derivados e aprimorados.
-
04
Tor Project - Configuração de Proxy Transparente (TransparentProxy)
Documentação oficial do Tor Project sobre proxy transparente, TransPort, DNSPort e roteamento de tráfego via iptables.
-
05
Netfilter - Documentação iptables
Documentação oficial do framework Netfilter/iptables do kernel Linux - base técnica de todas as regras de firewall utilizadas nos scripts.
-
06
GitHub - iptables_kernel_basico (LeandroIbov)
Repositório com as configurações de hardening de kernel e firewall básico utilizadas no parar-tor-router.sh.
-
07
Electrum - Documentação de Proxy e Tor
Documentação oficial da carteira Electrum, incluindo configuração de proxy SOCKS5 para uso com Tor.
-
08
DNS Leak Test - Verificação de Vazamento DNS
Ferramenta para verificar se há vazamento de consultas DNS fora do túnel Tor após configurar o roteamento.
-
09
Tor Project - Verificador de IP e Anonimato
Verificador oficial do Tor Project para confirmar se o IP de saída corresponde a um nó legítimo da rede Tor.