Como Hospedar um Site no Ubuntu Usando Tor

A rede Tor é um software revolucionário. Com um único programa, agora é possível navegar e visualizar a Web anonimamente. Isso torna o Tor uma ferramenta essencial para usuários que desejam preservar sua privacidade ao navegar em um site. Também é possível usar o Tor para hospedar um servidor web local online, tornando-o incrivelmente útil para usuários preocupados com a privacidade que desejam compartilhar informações publicamente sem se revelar.
Nota: descubra o que são Tor e roteamento onion primeiro antes de prosseguir.
Índice
- Por que hospedar seu site pelo Tor?
- Requisitos
- Instalando Nginx e Tor
- Configurando o Firewall
- Criando um Serviço Tor para seu Site
- Criando um Site Simples Usando Nginx
- Acessando seu Site pelo Tor
- Perguntas Frequentes
Por que hospedar seu site pelo Tor?
Uma das maiores vantagens de hospedar pelo Tor é que sua conexão também passa por nós intermediários, semelhante ao Tor Browser. Um visitante que acessar seu site não será capaz de saber de onde você está hospedando.

Além disso, você também não precisa encaminhar nenhuma porta para fazer seu site apenas Tor funcionar. Isso torna a hospedagem simples e acessível mesmo em redes altamente restritas. Por exemplo, uma máquina sob uma rede NAT de Classe Carrier ainda pode publicar um site diretamente através do Tor.
Requisitos
Antes de instalar tanto o Nginx quanto o Tor, você precisa primeiro garantir que possui os seguintes recursos prontos:
- Uma conexão de Internet que não restrinja o Tor para solicitações de entrada e saída. Isso permite que você transmita seu site pela rede Tor.
- Uma máquina que possa lidar com o site que você está hospedando. Na maioria dos casos, um desktop de dual core com 4GB de RAM deve ser suficiente para um site básico.
- Acesso root à sua máquina de hospedagem, pois configurar o Tor requer que você acesse arquivos do sistema.
A imagem abaixo mostra como hospedar um site Nginx apenas Tor em uma máquina Ubuntu 22.04 LTS.

Instalando Nginx e Tor
Abra um terminal. Digite o seguinte comando para instalar o Nginx e o Tor:
sudo apt install nginx tor wget
Configurando o Firewall
Uma vez que você tenha instalado ambos os pacotes em seu sistema, você pode proteger seu servidor configurando seu firewall para aceitar apenas conexões de entrada da rede Tor digitando os seguintes comandos no terminal:
sudo iptables -I INPUT -m state --state NEW -p tcp --dport80-j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport443-j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport9050-j ACCEPT
Os dois primeiros comandos abrem as portas HTTP e HTTPS em seu sistema, enquanto o último comando abre explicitamente a porta SOCKS para a rede Tor. Essa abordagem garante que o Tor poderá redirecionar corretamente qualquer tráfego que esteja indo para sua máquina.
Criando um Serviço Tor para seu Site
Em seguida, você precisa criar uma entrada de serviço oculto para seu servidor web. Esta é uma configuração específica do serviço que permitirá que você transmita na rede Tor.
Primeiro, mude para sua conta root. Você pode fazer isso executando o seguinte comando:
sudo-i
Uma vez dentro do root, crie seu serviço oculto editando o arquivo “/etc/tor/torrc”. No meu caso, estou abrindo este arquivo através do GNU Nano.
nano/etc/tor/torrc
Encontre a seção “location-hidden services” pressionando Ctrl + W, em seguida, digitando “location-hidden.”

Você verá alguns exemplos que demonstram como criar seu próprio serviço oculto Tor. Na maior parte, no entanto, você só precisa definir duas opções: HiddenServiceDir e HiddenServicePort.
A opção HiddenServiceDir informa ao Tor onde ele deve salvar os arquivos de configuração para seu serviço oculto. A opção HiddenServicePort informa ao Tor como ele deve redirecionar quaisquer solicitações para seu serviço oculto.
As seguintes linhas de código criarão um novo serviço oculto para seu servidor web:
HiddenServiceDir /var/lib/tor/nginx-tor-service/
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 443 127.0.0.1:443
Recarregue o daemon Tor para aplicar suas novas configurações executando os seguintes comandos:
systemctl enable tor
systemctl restart torDica: aprenda como usar o Tor com sua conexão VPN.
Criando um Site Simples Usando Nginx
Uma vez que um serviço oculto Tor esteja em funcionamento, comece a configurar seu servidor web. Crie um novo arquivo de configuração através do comando touch:
sudotouch/etc/nginx/sites-available/nginx-tor-service
Edite seu novo arquivo de configuração Nginx como um servidor web básico. Por exemplo, o seguinte bloco de código implantará um servidor web simples na porta 80:
server{
listen 80 default_server;
listen[::]:80 default_server;
root /var/www/html;
server_name 4tth4kzmipldb5elklravakdwlnte3ck6m5ahl73nfbe6ni67zmyvxyd.onion;
location / {
try_files$uri$uri/ =404;
}
}- As duas variáveis
listendefinem tanto as portas quanto o host que esta configuração de servidor deve escutar. Neste caso, o Nginx escuta na porta 80 em IPv4 e IPv6. - A variável
rootdefine a localização onde o Nginx procurará os arquivos em seu servidor web. - A variável
server_namecontém o nome de domínio do seu servidor. Encontre-o executandosudo less /var/lib/tor/nginx-tor-service/hostname. - A variável
locationcontém funções sobre como o Nginx lida com os arquivos na raiz do seu site. Neste exemplo, ela apenas define o erro 404 para quaisquer arquivos ausentes.

Crie um link simbólico para seu novo arquivo de configuração em “/etc/nginx/sites-enabled.”
sudoln-s/etc/nginx/sites-available/nginx-tor-service /etc/nginx/sites-enabled/Por fim, ative seu novo site reiniciando o Nginx:
sudo systemctl enable nginx
sudo systemctl restart nginx
Acessando seu Site pelo Tor
Com o Tor e o Nginx em funcionamento, verifique se seu site é acessível pela rede Tor. (Precisa encontrar mais sites na dark web? Confira esses mecanismos de busca.) Primeiro, baixe o binário mais recente do navegador Tor:
wget https://www.torproject.org/dist/torbrowser/11.5.7/tor-browser-linux64-11.5.7_en-US.tar.xz
Extraia os arquivos do navegador no diretório atual executando o seguinte comando:
tar xvf ./tor-browser-linux64-11.5.7_en-US.tar.xz
cd ./tor-browser_en-US
Além disso, certifique-se de que o binário do navegador Tor tenha os bits de execução corretos:
sudochmod +x ./start-tor-browser.desktopExecute e instale o Tor Browser em sua máquina executando o seguinte comando:
./start-tor-browser.desktop --register-app
Por fim, navegue até seu novo site Tor digitando seu nome de domínio na barra de endereços.

Perguntas Frequentes
É possível hospedar um servidor de jogos usando Tor?
Sim, mas executar um servidor de jogos Tor resultará em uma experiência de jogo muito ruim. Por exemplo, executar um servidor Minetest sobre Tor terá uma latência entre 1000 e 5000 milissegundos.
Embora existam maneiras de acelerar suas conexões Tor, os desenvolvedores do Tor não projetaram a rede para funcionar em aplicações de baixa latência. Por causa disso, o Tor é mais útil na publicação de páginas da web e aplicações que não dependem de baixa latência.
Estou tentando hospedar um site FTP, mas não consigo acessá-lo pelo Tor.
Esse problema é mais provável devido a uma configuração ausente no arquivo “/etc/tor/torrc”. Para hospedar corretamente um novo serviço pelo Tor, certifique-se de que as portas apropriadas estejam abertas tanto em seu firewall quanto no torrc.
Por exemplo, adicione HiddenServicePort 21 127.0.0.1:21 e HiddenServicePort 22 127.0.0.1:22 para criar uma porta FTP e SFTP aberta em sua máquina.
É possível hospedar meu site sobre SSL no Tor?
É importante notar que o SSL não é um requisito rígido ao proteger seu site Tor. Por padrão, o Tor já criptografa suas conexões assim que você carrega o navegador Tor, então qualquer site que você visitar no Tor é criptografado de ponta a ponta.
Se desejar, obtenha um certificado SSL para seu site Tor, embora o processo possa ser complicado, pois há apenas um punhado de autoridades certificadoras que emitem ativamente TLS para domínios .onion.
Crédito da imagem: Unsplash. Todas as alterações e capturas de tela por Ramces Red.