Tor

Agora você tem um site, por que não oferecê-lo em uma forma privada, como via rede Tor?

Instalação

Primeiro, precisamos garantir que nossa arquitetura de CPU seja suportada. Certifique-se de seja amd64, arm64 ou i386. Entre em seu servidor e digite o seguinte comando:

dpkg --print-architecture

Agora, vamos adicionar os repositórios do Tor para podermos ter a versão mais recente do programa:

apt install -y apt-transport-https curl gpg
echo "deb     [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $(lsb_release -cs) main
deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $(lsb_release -cs) main" > /etc/apt/sources.list.d/tor.list

Vamos então adicionar as chaves GPG do Projeto Tor ao nosso chaveiro:

curl -s https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor > /usr/share/keyrings/tor-archive-keyring.gpg

Finalmente, instalamos o Tor:

apt update
apt install tor deb.torproject.org-keyring

Configuração

Abra o arquivo /etc/tor/torrc com um editor de texto e descomente (ou seja, delete os "#" no começo) as seguintes linhas:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80

Agora inicie e habilite o Tor para que ele sempre inicie quando o servidor ligar, e reinicie-o caso já estivesse iniciado:

systemctl enable --now tor
systemctl restart tor

Se este este comando disser "Active" na cor verde, tudo deu certo!

systemctl status tor

Seu servidor agora está acessível pela rede Tor. O seguinte comando lhe mostrará o seu endereço .onion, um tipo de endereço especial usado para sites dentro do Tor.

cat /var/lib/tor/hidden_service/hostname

Configuração Nginx

A partir daqui, os passos passos são quase idênticos aos de configurar um site normal. Siga os passos de como configurar um site no tutorial nginx, como se fosse criar um novo site, até o bloco de código que começa com server { ... e ao invés de copiar o que está lá, copie e cole isso:

server { 
	listen 127.0.0.1:80 ;
	server_name seu-endereco-onion.onion ;
	root /var/www/meusite ;
	index index.html ;
	location / {
		try_files $uri $uri/ =404 ;
	}
}

A linha server_name deve conter o endereço que foi mostrando pelo comando cat acima

A linha root deve conter a pasta com os arquivos do site. Se já tem um site normal e quer espelhá-lo na rede Tor, basta colocar a mesma pasta onde ele está. Por exemplo, se seu site normal está na pasta /var/www/meusite, escreva essa mesma pasta na linha root.

Agora basta habilitar o site e reiniciar o nginx, coisas que foram explicadas no tutorial nginx.

Aunciando seu site .onion

Caso esteja espelhando um site na rede Tor, você pode adicionar a seguinte linha na configuração nginx do seu site. Por exemplo, se o arquivo de configuração está em /etc/nginx/sites-available/meusite, abra esse arquivo e adicione isso:

server {
	...
	add_header Onion-Location http://seu-endereco-onion.onion$request_uri ;
}

Somente adicione a linha add_header dentro do bloco server { ... }, não precisa mexer no resto das linhas.

A linha add_header vai fazer com que qualquer um acessando seu site usando o Navegador Tor veja uma opção que diz ".onion disponível" na barra de endereço. Clicando nela, você será levado ao site via a rede Tor.

Reinicie o Nginx para as mudanças tomarem efeito.

Atualize frequentemente!

Por ser uma rede focada em segurança e privacidade, o software Tor recebe atualizações constantes. Rode os seguintes comandos com frequência para atualizar o Tor e seu sistema como um todo.

apt update && apt upgrade

Observação: Você não precisa de um certificado SSL para seu site .onion. HTTP via Tor já é bem seguro.

Seu site agora está disponível na rede Tor! Você pode acessá-lo com o Navegador Tor colocando seu-endereço-onion.onion na barra de endereço, ou acessando seu site normal e clicando na opção ".onion disponível", também na barra de endereço.