Hidden Service - Disponibilizando seu site na Deep Web através do Tor

Vou mostrar a configuração de um Hidden Service através do Tor. Ou seja, como fazer um site na Deep Web!

[ Hits: 22.661 ]

Por: Marcelo Theodoro em 27/04/2015


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

HiddenServiceDir /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 <marcelotheodoro@outlook.com>

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. :)

Página anterior     Próxima página

Páginas do artigo
   1. Deixe tudo preparado
   2. Instalação e configuração do Tor (jeito fácil)
   3. Instalação e configuração do Tor de um jeito AINDA MAIS FÁCIL
   4. Conclusão
Outros artigos deste autor

Solicitações através do Tor utilizando Python

Tor e Hidden Service Protocol - Explicando tecnicamente a "Deep Web"

Leitura recomendada

Integrando ModSecurity ao NGINX e Apache

Segurança em seu Linux (parte 2)

Configurando um servidor Freeradius + openLDAP

Consegue guardar um segredo?

Bloqueio de Países com IPTables

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts