Este guia mostra como configurar um Onion Service para seu site.
Para obter detalhes técnicos de como o protocolo Onion Service funciona, consulte nossa página do protocolo Onion Service.
Passo 0: Obtenha um Tor funcionando
Como parte deste guia, assumiremos que você tem um Tor funcional em sua máquina.
Para configurar o Tor, siga o Guia de instalação do Tor.
O Tor deve estar instalado e funcionando corretamente para que este guia funcione.
Você também deve saber onde estão os arquivos de configuração do Tor.
Passo 1: Obter um servidor web funcionando
Como primeiro passo, você deve configurar um servidor web localmente, como Nginx, Apache ou seu servidor web favorito.
Configurar um servidor web pode ser complexo.
Se você ficar preso ou quiser fazer mais, encontre um amigo que possa ajudá-lo ou junte-se à nossa lista de e-mails tor-onions para falar com outros operadores.
Como exemplo, abordaremos como configurar um onionsite com Nginx e Apache no Debian.
Recomendamos que você instale um novo servidor web separado para seu Onion Service, pois mesmo que já tenha um instalado, você pode usá-lo (ou querer usá-lo mais tarde) para um site comum.
Nesta página, os comandos para gerenciar o servidor web são baseados em sistemas operacionais do tipo Debian e podem ser diferentes de outros sistemas.
Verifique o seu servidor web e a documentação do sistema operacional.
Apache
O Apache está disponível no repositório principal de várias distribuições Linux e *BSD.
Para instalar o pacote apache2:
$ sudo apt install apache2
Nginx
O Nginx está disponível no repositório principal de várias distribuições Linux e *BSD.
Para instalar o pacote nginx:
$ sudo apt install nginx
Por padrão, o servidor web estará sendo executado em localhost:80 no final da instalação.
Se você receber uma mensagem de erro, algo deu errado e você não poderá continuar até descobrir por que isso não funcionou.
Depois que seu servidor web estiver configurado, verifique se ele funciona: abra seu navegador e acesse http://localhost/.
Em seguida, tente colocar um arquivo no diretório HTML principal e certifique-se de que ele apareça quando você acessar o site.
Etapa 2: Configure seu serviço Tor Onion
O próximo passo é abrir o arquivo de configuração do Tor (torrc) e fazer as configurações apropriadas para configurar um Onion Service.
Dependendo do seu sistema operacional e setup, seu arquivo de configuração Tor pode estar em uma localização diferente ou aparenter diferente.
Você precisará adicionar as duas linhas a seguir ao seu arquivo torrc:
HiddenServiceDir /var/lib/tor/my_website/
HiddenServicePort 80 127.0.0.1:80
A linha HiddenServiceDir especifica o diretório que deve conter informações e chaves criptográficas para o seu Onion Service.
Você vai querer alterar a linha HiddenServiceDir para que assim ela indique para um diretório real que seja legível/gravável pelo usuário que estará rodando o Tor.
A linha HiddenServicePort especifica uma porta virtual (ou seja, a porta que as pessoas que visitarem seu Onion Service usarão) e, no caso acima, ela diz que qualquer tráfego de entrada na porta 80 do seu Onion Service deve ser redirecionado para 127.0.0.1:80 (que é onde o servidor web da etapa 1 está escutando).
Dica: Uma boa prática para evitar vazamento de um Onion Service para uma rede local é executar o Onion Services em soquetes Unix em vez de um soquete TCP.
Você precisará adicionar as duas linhas a seguir ao seu arquivo torrc:
HiddenServiceDir /var/lib/tor/my-website/
HiddenServicePort 80 unix:/var/run/tor/my-website.sock
Passo 3:Reiniciar o Tor e checar se funcionou
Agora salve o seu torrc e reinicie o Tor.
$ sudo systemctl restart tor
Se o Tor iniciar novamente, ótimo. Senão, alguma coisa esta errada Primeiro olhe os seus arquivos de log para dicas.
Ele exibirá alguns avisos ou mensagens de erro. Isso deve lhe dar uma ideia do que deu errado.
Normalmente, há erros de digitação no torrc ou permissões de diretório incorretas (consulte a entrada FAQ sobre registro se não souber como habilitar ou encontrar seu arquivo de registro.)
Quando o Tor iniciar, ele criará automaticamente o HiddenServiceDir que você especificou (se necessário).
Certifique-se de que este é o caso.
Etapa 4: Teste se o seu serviço Onion funciona
Agora, para obter o endereço do seu Onion Service, vá para o diretório HiddenServiceDir e encontre um arquivo chamado hostname.
O arquivo hostname no diretório de configuração do Onion Service contém o nome do host para seu novo serviço Onion v3.
Os outros arquivos são suas chaves do Onion Service, por isso é fundamental que eles sejam mantidos em sigilo.
Se suas chaves vazarem, outras pessoas podem se passar pelo seu Onion Service, considerando-o comprometido, inútil e perigoso para visitar.
Agora você pode se conectar ao seu Onion Service usando o Tor Browser e deverá obter a página HTML que você configurou na Etapa 1.
Se isso não funcionar, procure nos seus logs alguma pista, e continue se divertindo com isso até que funcione.
É importante observar que um Onion Service configurado dessa forma poderá ser lido por qualquer pessoa que saiba ou descubra o endereço.
Você pode fazer com que o Onion Services exija autenticação, e somente usuários com uma chave privada acessarão o serviço.
Leia mais sobre a documentação Autorização do cliente.
(Opcional) Etapa 5: Executando vários serviços Onion
Se você quiser encaminhar várias portas virtuais para um único Onion Service, basta adicionar mais linhas HiddenServicePort.
Se você quiser executar vários Onion Services no mesmo cliente Tor, basta adicionar outra linha HiddenServiceDir.
Todas as linhas HiddenServicePort a seguir referem-se a esta linha HiddenServiceDir, até que você adicione outra linha HiddenServiceDir:
HiddenServiceDir /var/lib/tor/onion_service/
HiddenServicePort 80 127.0.0.1:80
HiddenServiceDir /var/lib/tor/other_onion_service/
HiddenServicePort 6667 127.0.0.1:6667
HiddenServicePort 22 127.0.0.1:22
Se você estiver executando vários onionsites no mesmo servidor web, lembre-se de editar o arquivo de host virtual do servidor web e adicionar o endereço onion para cada site.
Por exemplo, no Nginx e usando Tor com soquetes Unix, a configuração ficaria assim:
server {
listen unix:/var/run/tor/my-website.sock;
server_name <your-onion-address>.onion;
access_log /var/log/nginx/my-website.log;
index index.html;
root /path/to/htdocs;
}
Or in Apache with Tor service listening on port 80:
<VirtualHost *:80>
ServerName <your-onion-address.onion>
DocumentRoot /path/to/htdocs
ErrorLog ${APACHE_LOG_DIR}/my-website.log
</VirtualHost>
Etapa 6: Conselhos de segurança e mais dicas
A versão padrão do Onion Services é a versão 3 e seu endereço tem 56 caracteres, sem as partes http:// e .onion.
A versão 2 dos serviços Onion está obsoleta e não é mais suportada desde o lançamento do Tor 0.4.6.1-alpha, em 2021.
Leia a postagem do blog Cronograma de descontinuação da versão do Onion Service para obter mais informações.
Alguns operadores de onionsites podem não querer divulgar a localização do seu Onion Service.
Portanto, você precisa configurar seu servidor web para que ele não revele nenhuma informação sobre você, seu computador ou sua localização.
Essa não é uma tarefa fácil, e esses recursos ajudarão você a tornar isso possível:
Por fim, se você planeja manter seu serviço disponível por um longo tempo, talvez seja interessante fazer uma cópia de backup do arquivo private_key em algum lugar.
Agora que você tem um onionsite funcionando, você pode querer implantar Onion-Location, ou usar ferramentas como Docker, Heroku, Terraform, Ansible ou stem para automatizar o gerenciamento dos seus Onion Services.
Se você tem um site estático, mas nunca instalou o Nginx ou o Apache, outro projeto para tentar é o OnionShare, onde executar um onionsite será mais fácil: guiado por uma interface gráfica e com configuração mínima.