Note que antes de mais nada, você precisa de um servidor dedicado e um datacenter que permita hospedar na Deep Web, nós somos a única empresa no Brasil a fornecer esse serviço.
Veja os servidores disponíveis para hospedar seu site na Deep Web clicando aqui.
Se você busca por uma hospedagem Tor com cPanel para hospedar seu site na Deep Web, veja nossos planos clicando aqui.
Esse post foi publicado originalmente no Viva o Linux.
Bom, pessoas.
Nesse artigo explicarei como colocar seu site/blog/fórum/loja na Deep Web, mais especificamente na DarkWeb.
* Já aviso que você não vai entender nada se não entender a estrutura do Tor. Fiz um outro artigo sobre isso um tempo atrás:
Note que só vou explicar a parte relacionada a de fato, e deixar o site disponível através do Hidden Service Protocol do Tor. Ou seja, vou ensinar como instalar o Apache, NGinx e tal? Não. Já temos uns 3 bilhões de ótimos artigos sobre isso aqui no VOL, só procurar aí.
Para continuar o processo você precisa:
- Ter certeza que entendeu do que isso se trata. Ler este artigo
- Servidor Web com seu conteúdo já instalado e funcionando numa porta qualquer.
- Me pagar um cerveja e um maço de cigarros. Não, brincadeira. Mas se quiser, de boa (contrate um servidor na Impreza :p ).
INSTALAÇÃO E CONFIGURAÇÃO DO TOR (JEITO FÁCIL)
O primeiro método de instalação é através da compilação das fontes. A grande vantagem desse método é que você vai instalar a versão mais atualizada.
Antes de começar, o Tor tem algumas dependências. No caso de um Debian, recém instalado, ele só pediu essas duas:
- libevent-dev
- libssl-dev
Talvez tenha mais em outros sistemas operacionais, mas não acredito que sejam muitas.
Vamos baixar o fonte, entre em:
Clique em “Source Code” e clique em “Download”. Obs.: Não baixe a versão unstable.
Descompacte o arquivo baixado com:
tar xf tor*.gz
Nesse ponto você vai ter o arquivo compactado e ao lado, a pasta com os arquivos de fonte. Mude o nome da pasta dos arquivos de fonte para um nome mais fácil de lembrar e mova-a para o diretório /opt/:
mv tor-0.2.5.12/ tor/
# mv tor/ /opt/
Entre no diretório /opt/tor e mande o comando:
./configure
Se houver a necessidade da instalação de algumas dependências a mais, é aqui que será exibido um aviso sobre essa necessidade. Se ocorreu tudo certo, só continuar:
# make
Se não deu nenhum erro, quer dizer que o Tor já está instalado corretamente. Vamos testar, execute o binário do Tor através da linha de comando usando:
# /opt/tor/src/or/tor
Ao executar pela primeira vez, ele vai buscar algumas informações necessárias para montar o circuito. Talvez demore um pouco.
Se uma linha contendo “[notice] Bootstrapped 100%: Done” aparecer, quer dizer que o Tor conseguiu se conectar à rede perfeitamente. Então, já temos o Tor instalado e funcionando. Então, manda um Ctrl+C para fechar o Tor e vamos partir para a parte de configuração.
Uma questão importante de segurança é que você não deve executar o Tor como root. Então vamos começar criando um usuário específico para rodar o Tor:
# useradd -d /opt/tor/src/or -s /bin/bash tor-user
# passwd tor-user #– Defina uma senha para o usuário.
Altere a propriedade da pasta do Tor para o usuário novo:
# chown -R tor-user.tor-user /opt/tor/
Crie um diretório para nosso arquivo de configuração, um diretório para armazenar o PID do Tor e um diretório onde serão armazenadas as informações do nosso Hidden Service. Eu geralmente uso:
# mkdir /etc/tor/ #– Diretório para arquivo de configuração.
# mkdir /var/run/tor #– Diretório onde será armazenado o PID.
# mkdir /tor/ #– Diretório onde serão armazenados os arquivos hostname e private_key.
Altere as propriedades e permissões dessas pastas para que o usuário “tor-user” tenha permissão de escrita:
# chown tor-user.tor-user /etc/tor/
# chown tor-user.tor-user /var/run/tor/
# chown tor-user.tor-user /tor/
# chmod 700 /tor/
Ok, logue para o usuário “tor-user” e vamos começar a configuração:
# su – tor-user
Crie o arquivo “/etc/tor/torrc” e abra-o com seu editor de texto:
vi /etc/tor/torrc
Segue o conteúdo do arquivo:
#RunAsDaemon 1
PidFile /var/run/tor/tor.pidHiddenServiceDir /tor/
HiddenServicePort 80 127.0.0.1:80
As linhas que configuram de fato nosso Hidden Service são “HiddenServiceDir” e “HiddenServicePort“.
Se o seu Web Server estiver rodando na porta 80 e na mesma máquina que você está instalando o Tor, esse arquivo do jeito que está já vai servir. Se não for esse o caso, dê uma olhada na próxima página onde eu falo um pouco mais sobre esses dois arquivos.
Salve o arquivo e feche.
Agora vamos testar:
/opt/tor/src/or/tor -f /etc/tor/torrc
Ao executar, se ocorreu tudo certo, já será criado o arquivo “hostname” dentro de /tor/, que é onde está o endereço do seu Hidden Service, assim como a “private_key”.
Para pegar o endereço do seu Hidden Service:
cat /tor/hostname
Só abrir o Tor Browser agora e testar se está acessível.
Se você planeja rodar como Daemon, ainda temos algumas coisas pra fazer.
Descomentar a linha “RunAsDaemon 1” do arquivo /etc/tor/torrc.
Logar como root e criar o arquivo /etc/init.d/tor com o seguinte conteúdo:
#! /bin/sh ### BEGIN INIT INFO # Provides: tor # Required-Start: $local_fs $remote_fs $network $named $time # Required-Stop: $local_fs $remote_fs $network $named $time # Should-Start: $syslog # Should-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts The Onion Router daemon processes # Description: Start The Onion Router, a TCP overlay # network client that provides anonymous # transport. ### END INIT INFO # Author: MarceloTheodoro <[email protected]> PIDFILE=/var/run/tor/tor.pid DAEMON=/opt/tor/src/or/tor UID=1001 TOR_OPTS='-f /etc/tor/torrc' case "$1" in start) start-stop-daemon --start --quiet --chuid $UID --pidfile $PIDFILE --exec $DAEMON \ -- $TOR_OPTS echo "Ok." ;; stop) start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON rm -f $PIDFILE echo "Ok." ;; status) start-stop-daemon --status --pidfile $PIDFILE --exec $DAEMON if [ "$?" = "0" ]; then echo Tor is running. else echo Tor is not running. fi ;; *) echo "Usage: tor {start|stop|status}" >&2 exit 3 ;; esac
Esse código, do jeito que está, vai funcionar bem para Debian-like. Em outras distribuições que não tenham o “start-stop-daemon”, não vai servir. Nesse caso você pode utilizar o outro método de instalação que está descrito na próxima página.
Antes de continuar, você deve alterar a variável “UID” com as informações do usuário que você criou anteriormente. Você pode descobrir o “UID” do usuário com:
cat /etc/passwd
Ache a linha correspondente ao usuário criado, o “UID” é a terceira coluna.
Salve e feche o arquivo. Torne-o executável com:
# chmod +x /etc/init.d/tor
Coloque para iniciar automaticamente com:
# insserv tor
Pronto. :)
INSTALAÇÃO E CONFIGURAÇÃO DO TOR DE UM JEITO AINDA MAIS FÁCIL
O jeito mais fácil de se fazer esse processo é através dos repositórios. Apesar de ser o jeito mais entediante também. :(
O Tor, provavelmente, já está disponível no seu repositório se você usar Debian/RedHat. Porém, mesmo que ele esteja disponível, provavelmente está desatualizado. O ideal é configurar os repositórios próprios do Tor Project, seguem os links para configuração do repositório.
Obs.: Se você não sabe como configurar repositórios (sério?), pesquise por “como configurar repositórios no *insira aqui o nome da sua distribuição e versão*”.
RedLike, clones:
Debian, Ubuntu etc:
Bom, ok. Repositórios configurados, a instalação é o de sempre.
Para Debian-like:
# apt-get update
# apt-get install tor
Redhat-like:
# yum update
# yum install tor
Geralmente, no final da instalação, o Tor inicia automaticamente. Se esse for o caso, pare o serviço, com “service tor stop“.
Abra em um programa de edição de sua preferência o arquivo /etc/tor/torrc.
# vi /etc/tor/torrc
Com o arquivo aberto, procure por:
######### This section is just for location-hidden services ###
## Once you have configured a hidden service, you can look at the
## contents of the file “…/hidden_service/hostname” for the address
## to tell people.
##
## HiddenServicePort x y:z says to redirect requests on port x to the
## address y:z.#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80#HiddenServiceDir /var/lib/tor/other_hidden_service/
#HiddenServicePort 80 127.0.0.1:80
#HiddenServicePort 22 127.0.0.1:22
Tire o comentário (#) das seguintes linhas:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80
Na linha “HiddenServiceDir” é definido onde serão armazenados os seguintes arquivos:
- private_key :: Esse arquivo é o mais importante nessa história toda. É nele que é armazenada a chave privada exclusiva do seu servidor. É com ela que o servidor vai descriptografar as requisições enviadas para seu Hidden Service. Se um atacante conseguir acesso a esse arquivo, ele poderia, entre outras coisas, se passar por você. Se você planeja usar esse Hidden Service por muito tempo, recomendo um backup dessa chave.
- hostname :: Esse arquivo contém o link de acesso ao seu Hidden Service que será usado para acessar através do Tor. O link é composto de “16 caracteres”.onion
* Um detalhe importante: O Tor cria um usuário específico para trabalhar, uma vez que não é recomendado inicia-lo pelo root. A pasta escolhida deve ter “permissão de escrita” para o usuário que irá rodar o Tor.
No Debian, o usuário criado é o “debian-tor”. Não tenho certeza sobre outras distribuições, mas deve seguir o mesmo estilo. Na dúvida, deixe o diretório padrão.
Na linha “HiddenServicePort” vamos configurar as informações de conexão.
A sintaxe é:
HiddenServicePort x y:z
Onde “x”, é a porta onde o Tor vai receber as conexões. Pode ser usada qualquer porta aqui. Até mesmo a própria porta onde está rodando seu Servidor Web, uma vez que essa porta só é relevante dentro do contexto do Tor. Só há necessidade de alterar caso você esteja configurando mais de um Hidden Service no mesmo servidor.
Em “y:z”, fica respectivamente o endereço e a porta que seu site está funcionando. Caso você esteja instalando o Tor na mesma máquina onde está instalado o WebServer, e ele esteja rodando na porta 80, não é necessário alterar.
Após essas alterações, salvar arquivo e fechar.
Reinicie o Tor com um “service tor restart“. Caso não tenha ocorrido nenhum erro, pronto!
Vá até o arquivo “hostname”, dentro na pasta que você configurou no “HiddenServiceDir”. Abra-o e lá estará o endereço do seu Hidden Service!
Só pegar o endereço e abrir o Tor Browser para verificar se ele está acessível. Em alguns casos, pode demorar uns minutos para ele se tornar acessível, mas no geral, fica disponível na hora.
CONCLUSÃO
O Tor está instalado e configurado para trabalhar com nosso Hidden Service.
Mas alguns detalhes:
1. Falhas na aplicação Web podem FACILMENTE fazer com que um atacante descubra seu IP real. E, provavelmente, não queremos que isso aconteça. Então, tenha certeza que seu site está seguro. A grande maioria dos casos famosos de Hidden Services que foram identificados, se deu por causa de falhas na aplicação.
2. Dependendo do que você está rodando, provavelmente, vai querer que seu site seja acessado apenas através do Tor, certo? Então, faça alguma regra no Firewall para que a porta do seu WebServer descarte todas as requisições, com exceção das feitas pela endereço “127.0.0.1”, que é sua própria máquina.
3. Você não precisa rodar e configurar o Tor exatamente na mesma máquina que está rodando o servidor Web. Podem ser em máquinas diferentes, e isso até adicionaria uma camada de segurança. Não muito, mas é algo.
4. A sua aplicação Web não deve usar coisas como: Applet Java, flash etc. Se possível, evite até Javascript (boa parte dos usuários costumam deixar o Javascript desabilitado). Além disso, faça uma blindagem no seu Web Server e SO, para que ele não torne nenhum tipo de informação pública.
5. Você pode configurar mais de um Hidden Service na mesma máquina. Ou então, mais de um serviço para o mesmo Hidden Service.
No caso de dúvidas, podem postar nos comentários ou entrar em contato comigo pelo e-mail, que na medida do possível eu respondo: marcelotheodoro at outlook.com
Caso tenham sugestões de tutorias sobre o tema, podem dar sugestões também.
Até a próxima!
Por Marcelo Theodoro.
2 Comentários. Deixe novo
Bom dia, nos casos de erros na aplicação web onde um atacante descobriria meu IP real, uma VPN com IP dedicado configurada no roteador, me daria segurança?
Olá, se você acessa seu backend somente pelo navegador Tor, então seu endereço IP nunca está associado ao serviço onion. Nesse caso mesmo um atacante obtendo acesso administrador em seu site, ele não conseguiria encontrar seu real IP. Mas usar um serviço de VPN pode ajudar sim, até mesmo os relays do Tor (entrada), não saberão seu endereço real.