"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: 15.726 ]

Por: Perfil removido em 17/06/2017


Mais teoria - TOR no Slackware (no GNU/Linux)



Vamos aprender um dos modos para ter um sistema todo Torificado pela rede TOR (dããa). O sistema a ser utilizado é o Slackware 14.0, mas a técnica pode ser realizada com qualquer outra distro.

A rede TOR, como pode-se ver na Wikipédia (link nas fontes do artigo) ou no site do projeto (link nas fontes do artigo), utiliza uma série de proxys aleatórios (CLIENTE → PROXY → PROXY → PROXY → SITE) que mudam constantemente de forma aleatória.

Isso permite ocultar espionagens de análise de tráfego que algumas empresas fazem (de onde vêm e para onde vão os pacotes) e também obter certo nível de privacidade, mas sem criptografia HTTPS, por exemplo, podem ler teus dados entre o Proxy de saída da rede TOR e o site acessado por você.

Aviso: evite logar redes sociais, contas pessoais de email e qualquer coisa que leve até tua identidade, relacionando-a ao teu navegador.

Se não criptografadas (se decidir usar contas pessoais verifique se a página usa HTTPS!) tuas senhas e logins podem ser roubadas por um possível cracker no nó de saída (A NSA, nos EUA e outros malandros pelo mundo, tentam isso o tempo todo!).

Ao ser executado, o TOR fica escutando (esperando conexões) através de um Proxy Socks na porta 9050 ou 9051, por padrão (configurável para qualquer outra), da tua interface de loopback (placa lo, IP 127.0.0.1) e é por esse Proxy Socks que os pacotes saem da tua máquina e entram na rede TOR.

Se você executar o TOR (modo texto) e configurar o Firefox para usar o Proxy Socks 127.0.0.1 e porta 9050 ou 9051, já poderá acessar a internet pela rede TOR, mas resolvendo DNS diretamente pelo teu IP (depende da aplicação e configuração), não pelo IP de um nó da rede TOR (cuidado com isso!).

Muitos programas podem não ser compatíveis com Proxys Socks, o que causará erros de conexão.

Para tornar o TOR compatível com todos os programas, faremos uso do programa Polipo, ele será responsável por criar um outro Proxy local, mas agora HTTP e apontando para o proxy socks do TOR. Ele servirá como um "conversor" Socks - HTTP.

Ficará mais ou menos assim:

wget www.google.com > consulta_DNS_server
resposta_com_IP_do_DNS_server > wget

wget > CONECTA_AO_PROXY_POLIPO_PEDINDO_A_PAGINA_DO_GOOGLE_VIA_IP
POLIPO > CONECTA_AO_TOR_PEDINDO_A_PAGINA_DO_GOOGLE_VIA_IP
TOR_BUSCA_INFORMAÇÃO > POLIPO
POLIPO > wget


Ou:

wget > PEDIDO > DNS > RESPOSTA > wget > PEDIDO > polipo > PEDIDO > tor > PEDIDO>
site > RESPOSTA > tor > RESPOSTA > polipo > RESPOSTA > wget

Caso queira, você pode fazer uso de outro Proxy HTTP, como o Privoxy, basta configurá-lo para direcionar as conexões para a porta 9050 de 127.0.0.1, entretanto, eu não o testei e o artigo no qual me baseei recomenda o Polipo pelas seguintes razões no texto original, em:
"¿Cuál Proxy elegir?

Hay algunos proxies disponibles que podríamos usar, pero la mayoría de las comunidades utilizan Privoxy o Polipo. Hay un par de razones por las cuales es preferible usar Polipo que Privoxy, y se describen en detalle aquí: Privoxy vs. Polipo. Para resumir, estas son las razones por las cuales Polipo es la mejor opción:

    Privoxy no tiene pipelining para HTTP 1.1
    Privoxy cachea los objetos más pedidos
    Privoxy necesita transferir la página entera para parsearla y mostrarla al usuario.
    Esto significa que la experiencia del usuario con Privoxy es mucho peor,
    debido a que el usuario debe esperar constantemente que los datos de la página web completa sean transferidos
desde el servidor, antes de ser mostrados."

Já para o SlackBuild do TOR é dito o seguinte no slackbuilds.org:

"This script requires a 'tor' user/group to exist before running.
The recommended UID/GID is 220. You can create these like so:
  groupadd -g 220 tor
  useradd -u 220 -g 220 -c "The Onion Router" -d /dev/null -s /bin/false tor

You can pass another user/group to the script; this is however, less safe:
  TOR_USER=nobody TOR_GROUP=nogroup sh tor.SlackBuild"

Ou seja, é recomendado adicionar um grupo e user, especialmente para o TOR, e é o que faremos. O TOR iniciará com um grupo próprio, isso nos permitirá liberá-lo via group ID no IPtables e bloquear o resto dos pacotes que tentarem sair ou entrar na máquina.

Também é mais seguro executá-lo com um user próprio para que, caso ocorra uma vulnerabilidade com o TOR, o possível atacante tenha poderes limitados no teu sistema dentro do grupo TOR, o que poderia causar um estrago se o mesmo estivesse sendo executado como root ou no grupo root.

Não ensinarei a instalar os dois programas necessários, pois isso depende da distro, versão etc.

Para debs based, apt-get install tor e proxy desejado (polipo ou privoxy). Tendo estes programas instalados, segue-se o artigo.

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

Instalando placa de som de modo rápido, fácil e prático

Trabalhos gráficos no Biglinux

Armazenamento de arquivos em Linux: um estudo de caso

Configurando a impressora Epson C45 no Kurumin

Aventuras do Mint Linux 10 em um computador antigo

Leitura recomendada

Cliente Nagios no Windows - Instalação e Configuração

VLAN Tagging nos sistemas GNU/Linux derivados do Red Hat

Instalando DNS Server (BIND) no CentOS 7

Acesso remoto entre GNU/Linux e Windows

SNMPv3 no Debian/Ubuntu - Configurando para consultas externas

  
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