Servidor Web Oculto con Tor
Proyecto desarrollado durante el bootcamp de ciberseguridad de 42Madrid
Este proyecto tiene como objetivo la creación de un servicio web oculto accesible a través de la red Tor, permitiendo así publicar una página web estática bajo una URL .onion
. A través de este ejercicio se busca comprender los fundamentos de los servicios ocultos y el uso seguro de conexiones anónimas.
🌐 ¿Qué es Tor y qué hicimos?
Tor es una red de anonimato que enruta el tráfico a través de múltiples nodos alrededor del mundo, protegiendo la identidad y privacidad del usuario. En este proyecto configuramos un servicio web oculto dentro de esta red, cumpliendo con una serie de requisitos técnicos relacionados con Nginx, SSH y Tor, todo ejecutado de forma aislada mediante contenedores Docker.

🧩 Requisitos principales del proyecto
-
El sitio web estático debe ser accesible únicamente a través de una URL
.onion
. -
El servidor debe correr sobre Nginx (HTTP por puerto 80) y permitir acceso por SSH en el puerto 4242.
-
No se permite la apertura de otros puertos ni el uso de reglas de firewall.
-
Archivos de configuración requeridos:
index.html
,nginx.conf
,sshd_config
,torrc
.
🐳 Arquitectura con Docker
El proyecto está dividido en dos contenedores principales:
🔧 Contenedor Server
Encargado de ejecutar los servicios de Nginx, SSH y Tor, junto con todas las configuraciones necesarias.
Se construye desde una imagen de Debian e instala los paquetes requeridos, copia los archivos de configuración y levanta los servicios.
Además, crea un usuario (sshusr
) con acceso al servicio SSH (contraseña: onion
).
💻 Contenedor Client
Diseñado para realizar pruebas de conexión SSH al servicio oculto. También basado en Debian, instala Tor y SSH, permitiendo el uso de torify
para las conexiones.
⚙️ Makefile incluido
Se incluyó un Makefile para facilitar el despliegue del entorno:
-
make
– Construye ambos contenedores e imágenes. -
make server
– Construye solo la imagen del servidor. -
make client
– Construye la imagen del cliente. -
make exe
– Lanza el contenedor cliente y abre una terminal Bash. -
make clean
– Elimina y detiene los contenedores.
🔐 Servicios ocultos
El contenedor del servidor genera dos URLs .onion
dentro del volumen /srv/url/
, una para el servicio HTTP y otra para SSH:
-
/srv/url/hidden_service/hostname
→ URL del servicio web -
/srv/url/other_hidden_service/hostname
→ URL del servicio SSH
Para acceder al sitio, simplemente abre el navegador Tor e introduce la URL correspondiente. Para el servicio SSH, ejecuta dentro del cliente:
🧪 Extra (Bonus)
-
Fortificación del acceso SSH.
-
Sitio web estático mejorado (interactivo) sin frameworks, utilizando solo librerías externas permitidas.
-
Aislamiento completo del entorno para evitar comprometer el sistema real.

- Date: 2022-08-06
- Categories: Linux
- Código Fuente goldcod3/Ft_onion