Como Hospedar um Site no Ubuntu Usando Tor

Host Tor Website Linux 00 Featured Image

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.

Host Tor Website Linux 02 Intermediary Nodes

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.

Host Tor Website Linux 03 Neofetch Ubuntu Machine

Instalando Nginx e Tor

Abra um terminal. Digite o seguinte comando para instalar o Nginx e o Tor:

sudo apt install nginx tor wget

Host Tor Website Linux 05 Download Packages

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

Host Tor Website Linux 06 Create Firewall Rules

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

Host Tor Website Linux 07 Switch To Root

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

Host Tor Website Linux 08 Torrc File

Encontre a seção “location-hidden services” pressionando Ctrl + W, em seguida, digitando “location-hidden.”

Host Tor Website Linux 09 Torrc Hidden Services

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

Host Tor Website Linux 10 Torrc Create New Hidden Service

Recarregue o daemon Tor para aplicar suas novas configurações executando os seguintes comandos:

systemctl enable tor  
systemctl restart tor

Dica: 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

Host Tor Website Linux 11 Create New Nginx Server

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 listen definem 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 root define a localização onde o Nginx procurará os arquivos em seu servidor web.
  • A variável server_name contém o nome de domínio do seu servidor. Encontre-o executando sudo less /var/lib/tor/nginx-tor-service/hostname.
  • A variável location conté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.

Host Tor Website Linux 12 Sample Server Configuration

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

Host Tor Website Linux 13 Nginx Running

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

Host Tor Website Linux 14 Download Tor Browser

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

Host Tor Website Linux 15 Extract Tor Browser

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.desktop

Execute e instale o Tor Browser em sua máquina executando o seguinte comando:

./start-tor-browser.desktop --register-app

Host Tor Website Linux 16 Tor Browser Running

Por fim, navegue até seu novo site Tor digitando seu nome de domínio na barra de endereços.

Host Tor Website Linux 17 Tor Website Running

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.