La red Tor no se centra únicamente en capas de cebolla para permitir anonimato en las conexiones. Una de las características más interesantes es la que trataremos hoy: los servicios ocultos.
Un servicio oculto consiste fundamentalmente en un aplicativo en el servidor (web, bbdd, irc, etc) que está accesible únicamente desde dentro de la red TOR. La característica que hace interesante a estos servicios es que no es posible saber en qué máquina física se encuentra ejecutándose el servicio en cuestión.
Imaginemos un país en el que la libertad de expresión no esté asegurada, España por ejemplo. Resulta interesante crear una web en la que pueda asegurarse la libertad de expresión puesto que no es posible saber la máquina física en la que se ejecuta el aplicativo web. Otro enfoque interesante puede resultar crear un servicio con la intención de que nadie acceda a él, esto es posible con TOR ya que la dirección de acceso a los servicios ocultos no es publicada, ni indexada por arañas o buscadores web por el simple hecho de estar levantadas. Evidentemente si alguien publica en una web la dirección de acceso una araña conseguirá indexarlo. La principal finalidad es mantener anónima la máquina física que ejecuta el servicio.
Si te interesa el tema te estarás preguntando cómo funcionan tecnicamente los servicios ocultos. Lo explico brevemente:
Cuando un servicio oculto se crea localmente en la máquina se producen un par de claves: pública y privada. Asímismo se crea lo que se llama un descriptor de producto, que consiste en la lista de direcciones de acceso al servico junto con la clave pública del mismo. Este descriptor se publica anónimamente en los servidores de directorio de TOR, y son estos los que redireccionan al sistema en concreto (no directamente) cuando un cliente de TOR solicita acceso a la dirección del servicio oculto solicitada.
En el presente artículo crearemos un servicio web oculto. Nos basamos en la guía oficial de creación de servicios ocultos.
El primer paso es crear ese servicio de manera normal en el sistema, en nuestro caso un simple servidor web con Apache en el que colocamos una página estática, como podemos ver a continuación:
El primer paso es crear ese servicio de manera normal en el sistema, en nuestro caso un simple servidor web con Apache en el que colocamos una página estática, como podemos ver a continuación:
Una vez hecho simplemente tenemos que modificar dos variables en el fichero /etc/tor/torrc:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80
La variable HiddenServiceDir sirve para indicar un directorio del sistema en el que TOR guardará información necesaria para trabajar con el servicio oculto. Entre dicha información se encuentran la dirección de acceso al servicio, certificados, etc. Es necesario que solo root tenga acceso a dicho directorio, por ejemplo permisos 700.
La variable HiddenServicePort sirve para indicarle a TOR dónde se enucentra dicho servicio, el formato es “puerto IP:Puerto“, de esta manera indicamos el puerto al que deben referenciar los accesos y la IP y puerto real en la que el servicio se encuentra escuchando. esto es importante porque si bien en nuestro ejemplo el servicio se pide en el mismo puerto y máquina, podríamos referenciarlo a otro sistema y/o puerto.
Una vez configurado levantamos el servicio en cuestión y el servicio TOR. Para saber mediante qué dirección URL podemos acceder al servicio simplemente consultamos el nombre del mismo en el directorio local del sistema:
Para acceder a dicho servicio configuramos el navegador en la red TOR y pedimos la URL indicada:
Si observamos los ficheros de log de Apache podemos apreciar que no apareceran las IP’s de acceso de los visitantes, ya que estarán referenciadas por la IP que marcamos en el fichero de configuración de TOR:
Hasta aquí la creación de servicios ocultos, en próximos artículos me gustaría indagar sobre desventajas del uso de esta red y posibles defectos en ella.
Fuente: http://dmedianero.byethost15.com/
0 Notaciones:
Publicar un comentario