"TORIFICANDO" todo um sistema GNU/Linux utilizando a rede TOR

Artigo sobre uma das técnicas para ter um sistema GNU/Linux inteiro utilizando a rede TOR em uma máquina cliente. Pode ser muito útil para quem queira utilizar o TOR com wget, curl, nmap... ferramentas de rede em modo texto, ou mesmo gráfico com o TOR/rede TOR. Este não é um artigo técnico ao extremo, mas suficiente para a compreensão do funcionamento geral de um sistema "Torificado" como, por exemplo, o Tails OS.

[ Hits: 16.411 ]

Por: Perfil removido em 17/06/2017


Prática - Passos 2 e 3 - IPtables e POLIPO



Passos 2 - IPtables

IPtables - Liberando apenas saídas de pacotes TCP Pelo TOR Via GID.

Lembra da informação sobre o GID (ID de grupo) do TOR lá no início do artigo?

Vamos utilizar uma funcionalidade do IPtables para permitir saídas de pacotes apenas para o GID do TOR, mas também é possível fazer isso por PID e UID.

Sem mais, seguem as regras do IPtables para bloquear tudo e liberar apenas saídas e entradas pelo TOR.

#############################################
#Limpar todas as regras anteriores.
iptables -X
iptables -F
iptables -t nat -F

#Mudar as políticas padrão para DROP,
#descartar pacotes que não estiverem incluidos em uma regra que permita-os.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#As linhas aqui embaixo permitem saídas para qualquer porta do IP da interface de loopback
#e entradas da própria loopback na loopback. -d = destino e -s = source/fonte.
#diz de onde o pacote tem que vir e para onde ir "127.0.0.1" para ser permitido
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT  -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

#Libera entrada de pacotes pelas portas que tiveram a conexão iniciada por esta máquina.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Liberando saída de pacotes de pacotes para o grupo do TOR (GID = 220)
iptables -A OUTPUT -p tcp -m owner --gid-owner 220 -j ACCEPT
###########################################

Esse script de Firewall precisa ser colocado para iniciar com o sistema, vide método para tua distro. No Slackware, eu coloquei em /etc/rc.d/rc.meu-firewall e chamo-o em /etc/rc.d/rc.M.

Passo 3 - POLIPO

POLIPO - "Servindo de ponte" entre os programas HTTP e o TOR via Proxy HTTP Local.

Agora, nós temos que configurar o Proxy HTTP local Polipo para direcionar seus pacotes de saída para o Proxy SOCKS do TOR, isso vai permitir o uso do TOR com aplicações que não suportam Proxys SOCKS.

Com o Polipo já instalado, vamos editar o arquivo /etc/polipo/config e adicionar o seguinte ao final: dele:

##########################################################
#19/11/2016.
#Configurando um proxy http local que direciona para o proxy socks do tor em 127.0.0.1:9050
#Dica pega de: http://www.diolinux.com.br/2012/04/como-usar-o-tor-para-navegar.html
#Aqui em "localhost:9050" é endereço de onde o TOR está servindo o proxy socks.
socksParentProxy = "localhost:9050"
socksProxyType = socks5
#Setando a porta onde ele vai escutar.
#Poderia ser qualquer outra.
proxyPort = 80
##########################################################

Isso vai fazer com que o Polipo sirva em 127.0.0.1:80, um Proxy HTTP que leva para o Proxy SOCKS 127.0.0.1:9050 fazendo a "conversão" do SOCKS do TOR para HTTP.

Para fazer com que todos os programas reconheçam que é necessário usar um Proxy, configuraremos isso em variáveis de ambiente na próxima página.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução Geral - Exemplos e Conselhos
   2. Mais teoria - TOR no Slackware (no GNU/Linux)
   3. Prática - Passo 1 - Configurando DNS Server do TOR
   4. Prática - Passos 2 e 3 - IPtables e POLIPO
   5. Prática - Passo 4 - Variáveis de ambiente
Outros artigos deste autor

Onde o Linux peca ao tentar atrair novos usuários

Novidades do Kernel 2.6.35

Particionamento GPT - Conceitos básicos

TCollection e Generics no Free Pascal - Uma breve visão sobre lista de objetos com o Lazarus

Modem HSP 56 MR no Fedora Core 1

Leitura recomendada

Asterisk - Configuração de conferência com PIN

PABX IP Asterisk - Instalação no Debian/Ubuntu

Zoneminder: Substituindo um Unifi NVR

Docker e Flannel

Criando regras simples com IP6Tables

  
Comentários
[1] Comentário enviado por Santo-de-Deus em 18/06/2017 - 17:33h

Parece um bom artigo, mas não entendo disso muito... Mas É verdade que o TOR foi comprado por uma agência americana???? Acho que FBI... Se for... Não é perigoso?? Sua proteção?

[2] Comentário enviado por removido em 19/06/2017 - 05:20h


[1] Comentário enviado por Santo-de-Deus em 18/06/2017 - 17:33h

Parece um bom artigo, mas não entendo disso muito... Mas É verdade que o TOR foi comprado por uma agência americana???? Acho que FBI... Se for... Não é perigoso?? Sua proteção?

Não foi.

[3] Comentário enviado por ruanpub em 20/06/2017 - 14:24h

Só uma pergunta quanto a resolução de DNS.
O TOR Bundle, aquele que já vem com o TOR e seu próprio navegador, ele faz as resoluções através do TOR ou do resolv.conf?
Como posso ter certeza disso?

[4] Comentário enviado por CapitainKurn em 20/06/2017 - 15:15h

Ótimo artigo! Parabéns! já está nos meus favoritos.

[5] Comentário enviado por removido em 20/06/2017 - 15:48h


[3] Comentário enviado por ruanpub em 20/06/2017 - 14:24h

Só uma pergunta quanto a resolução de DNS.
O TOR Bundle, aquele que já vem com o TOR e seu próprio navegador, ele faz as resoluções através do TOR ou do resolv.conf?
Como posso ter certeza disso?


Do Tor

[6] Comentário enviado por ruanpub em 21/06/2017 - 09:35h


[5] Comentário enviado por CarlosEduLinux em 20/06/2017 - 15:48h


[3] Comentário enviado por ruanpub em 20/06/2017 - 14:24h

Só uma pergunta quanto a resolução de DNS.
O TOR Bundle, aquele que já vem com o TOR e seu próprio navegador, ele faz as resoluções através do TOR ou do resolv.conf?
Como posso ter certeza disso?


Cara, não posso te responder isso por não ter certeza, precisaria dar uma pesquisada antes. Ali nos links fontes do artigo tem um site pra você fazer um teste de "vazamento DNS" dentro do navegador, só tu abrir aquele link lá dentro do Tor Browser e verificar se o DNS que ele te mostra é ou não o mesmo de /etc/resolv.conf, se for o mesmo ele está resolvendo pelo resolv.conf, se o que ele te mostrar não for o mesmo do resolv.conf significa que o navegador está usando um server DNS da rede TOR.
Depois tu pode refazer o teste num navegador normal pra confirmar.


Só pra completar.
Eu fiz um teste no site http://dnsleak.com e o DNS que o TOR Bundle usa é diferente do que está no resolv.conf.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts