7 jun. 2016

Instalación de Hidden Service en Tor

Después de haber contado en otro post cómo TOR es uno de los medios disponibles para proteger nuestra privacidad y evitar la creación pasiva de la huella digital, en éste voy a explicar (muy por encima) cómo se establece la conexión entre un cliente y un servicio en la red TOR (TOR Hidden Service).

Para que un cliente se pueda conectar con un Hidden Service éste tiene que anunciar su existencia en la red TOR. Para ello, el servicio elige algunos nodos al azar, construye circuitos hacia ellos y les envía su clave pública para que actúen como punto de introducción. Después crea un descriptor formado por la clave pública y un resumen de cada punto de introducción, los firma con su clave privada y lo sube a una tabla hash distribuida. El nombre del descriptor se genera automáticamente a partir de la clave pública y tendrá la extensión .onion. Éste es el nombre que tiene que conocer el cliente para poder acceder al descriptor, donde verá cuáles son los puntos de introducción al Hidden Service y la clave pública de éste.

El cliente se puede conectar con el Hidden Service mediante de un proxy que soporte SOCKS 4a, como Polipo. Lo que hace la aplicación cliente es crear un circuito con un nodo elegido al azar, al que le dice un secreto de un solo uso para que dicho nodo actúe como punto de encuentro.

Una vez hecho eso, el cliente forma un mensaje de introducción con la dirección del punto de encuentro y el secreto de un solo uso, lo cifra con la clave pública del Hidden Service y lo envía a uno de los puntos de introducción para que éste se lo envíe al Hidden Service, quien descifrará el mensaje para saber cuál es el nodo que actúa como punto de encuentro. Con esa información, el Hidden Servicee crea un circuito para llegar hasta él y envía al punto de encuentro un mensaje de encuentro con el secreto de un solo uso enviado por el cliente. Entonces, el punto de encuentro notifica al cliente que la conexión se ha establecido. A partir de ese momento, la comunicación se realizará por los circuitos que el cliente y el Hidden Service tienen establecidos con el punto de encuentro.

Pasos para configurar nuestro propio servicio TOR (en un ordenador con Debian y sucedaneos):
1. Instalar TOR:
Archivo /etc/apt/sources.list
- deb http://deb.torproject.org/torproject.org wheezy main 
- deb-src http://deb.torproject.org/torproject.org wheezy main 
$ gpg --keyserver keys.gnupg.net --recv 886DDD89
$ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
$ apt-get install tor
Cambiar wheezy por la distro correspondiente.

2. Definir el directorio del Hidden Service y la dirección del servidor:
Para ello, introducir la siguientes líneas en el archivo /etc/tor/torrc:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8090
En vez de la dirección del localhost, poner la dirección IP externa;.

3. Arrancar TOR:
$ sudo /etc/init.d/tor restart
Con eso, se han creado dos archivos en el directorio /var/lib/tor/hidden_service - hostname y private_key.

Ahora sólo falta activar el servicio y el puerto en Apache, a través de su archivo de configuración.
Para probarlo, accedemos con un navegador TOR a la dirección .onion que aparezca en el hostname.

Más información:
https://www.torproject.org/docs/hidden-services.html.en
ttps://www.torproject.org/docs/tor-hidden-service.html.en

Fuente: A Penny of Security | @mgarciacase

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!