OffshoreVps
Privacidade e lei20 out. 20268 min de leituraPor a equipe da OffshoreVps

Hospede um site .onion: serviço oculto Tor em um VPS

Execute um site como serviço onion do Tor: instale o Tor, vincule o Nginx ao localhost, leia seu endereço .onion, adicione autorização de cliente e evite os vazamentos que expõem você.

Um serviço onion do Tor permite que as pessoas acessem o seu site pela rede Tor sem que nenhum dos lados descubra o IP do outro. O servidor se conecta de dentro para fora ao Tor, então não precisa de nenhuma porta de entrada aberta. Este guia configura um em um VPS Ubuntu, com o Nginx servindo um site pequeno.

Janela de terminal em um VPS mostrando os comandos usados para publicar um serviço onion do Tor, começando com “sudo apt update”
O tipo de comandos que você executará no servidor neste guia.

O que um serviço onion oferece

  • Um endereço .onion derivado de uma chave, portanto autenticado por si mesmo e sem necessidade de autoridade certificadora.
  • Criptografia de ponta a ponta entre o visitante e o seu servidor, dentro do Tor.
  • Não é preciso expor o endereço IP público do seu servidor aos visitantes.

Isso não torna o conteúdo do seu site legal e não esconde erros que você cometa em outro lugar, como um domínio da web aberta apontando para a mesma máquina.

Etapa 1: instale o Tor e o Nginx

sudo apt update
sudo apt install -y tor nginx
sudo systemctl enable --now tor

Etapa 2: vincule o Nginx apenas ao localhost

O servidor web não deve responder na interface pública, ou o IP da web aberta e o site onion podem ser ligados. Edite a configuração do seu site para que ele escute no loopback.

server {
    listen 127.0.0.1:8080;
    server_name _;
    root /var/www/onion;
    index index.html;
    server_tokens off;
}
sudo mkdir -p /var/www/onion
echo '<h1>Hello from onion space</h1>' | sudo tee /var/www/onion/index.html
sudo nginx -t && sudo systemctl reload nginx
Os passos deste guia em ordem: 1. O que um serviço onion oferece; 2. instalar o Tor e o Nginx; 3. vincular o Nginx somente ao localhost; 4. declarar o serviço oculto; 5. autorização de cliente opcional; 6. fechar os vazamentos comuns
Os passos deste guia, em ordem.

Etapa 3: declare o serviço oculto

Adicione estas linhas a /etc/tor/torrc:

HiddenServiceDir /var/lib/tor/my_site/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:8080
sudo systemctl restart tor
sudo cat /var/lib/tor/my_site/hostname

O último comando exibe o seu endereço .onion de 56 caracteres. Abra-o no Tor Browser para testar. Faça backup da pasta /var/lib/tor/my_site/: a chave dentro dela é o seu endereço, e perdê-la significa um endereço novo.

Etapa 4: autorização de clientes (opcional)

Para um serviço privado, adicione uma chave que só os visitantes aprovados possuam. Crie o arquivo /var/lib/tor/my_site/authorized_clients/alice.auth com uma linha no formato descriptor:x25519:PUBLIC_KEY e depois recarregue o Tor. Visitantes sem a chave privada correspondente nem conseguem ver que o serviço existe.

Etapa 5: feche os vazamentos comuns

  • Nunca referencie recursos, fontes ou analytics da web aberta nas suas páginas.
  • Deixe as páginas de erro e os cabeçalhos genéricos e mantenha server_tokens off.
  • Mantenha o relógio do servidor preciso; o Tor precisa disso.
  • Bloqueie tudo no firewall, exceto o SSH: sudo ufw default deny incoming, já que o Tor não precisa de porta de entrada.
  • Não rode um site da web aberta no mesmo host, a menos que você os tenha separado completamente.

Leia os hábitos de OpSec de servidor antes de publicar qualquer coisa, e use o checklist de hardening em um servidor novo.