Cómo alojar un sitio web en Ubuntu usando Tor

La red Tor es una pieza revolucionaria de software. Con un solo programa, ahora es posible navegar y ver la Web de forma anónima. Esto convierte a Tor en una herramienta esencial para los usuarios que desean preservar su privacidad al navegar por un sitio web. También es posible utilizar Tor para alojar un servidor web local en línea, lo que lo hace increíblemente útil para los usuarios conscientes de la privacidad que desean compartir información públicamente sin revelarse.
Nota: primero averigua qué son Tor y el enrutamiento onion antes de continuar.
Tabla de Contenidos
- ¿Por qué alojar tu sitio web a través de Tor?
- Requisitos
- Instalación de Nginx y Tor
- Configuración del Firewall
- Creación de un servicio Tor para tu sitio web
- Creación de un sitio web simple usando Nginx
- Accediendo a tu sitio web a través de Tor
- Preguntas Frecuentes
¿Por qué alojar tu sitio web a través de Tor?
Una de las mayores ventajas de alojar a través de Tor es que su conexión también pasa por nodos intermedios similares al Navegador Tor. Un visitante que consulte tu sitio web no podrá saber desde dónde lo estás alojando.

Aparte de eso, tampoco necesitas redirigir ningún puerto para que tu sitio web solo de Tor funcione. Esto hace que el alojamiento sea simple y accesible incluso en redes altamente restringidas. Por ejemplo, una máquina bajo una red Carrier-Grade NAT aún puede publicar un sitio web directamente a través de Tor.
Requisitos
Antes de que puedas instalar tanto Nginx como Tor, primero debes asegurarte de que tienes los siguientes recursos listos:
- Una conexión a Internet que no restrinja Tor para solicitudes entrantes y salientes. Esto te permite transmitir tu sitio web a través de la red Tor.
- Una máquina que pueda manejar el sitio web que estás alojando. En la mayoría de los casos, un escritorio de doble núcleo con 4GB de RAM debería ser suficiente para un sitio web básico.
- Acceso root a tu máquina de alojamiento, ya que configurar Tor requiere que accedas a archivos del sistema.
La imagen a continuación muestra cómo alojar un sitio web solo de Nginx en una máquina Ubuntu 22.04 LTS.

Instalación de Nginx y Tor
Abre una terminal. Escribe el siguiente comando para instalar Nginx y Tor:
sudo apt install nginx tor wget
Configuración del Firewall
Una vez que hayas instalado ambos paquetes en tu sistema, puedes asegurar tu servidor configurando tu firewall para aceptar solo conexiones entrantes de la red Tor escribiendo los siguientes comandos en la terminal:
sudo iptables -I INPUT -m state --state NEW -p tcp --dport80-j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport443-j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport9050-j ACCEPT
Los dos primeros comandos abren tanto los puertos HTTP como HTTPS en tu sistema, mientras que el último comando abre explícitamente el puerto SOCKS para la red Tor. Este enfoque asegura que Tor podrá redirigir adecuadamente cualquier tráfico que vaya a tu máquina.
Creación de un servicio Tor para tu sitio web
A continuación, necesitas crear una entrada de servicio oculto para tu servidor web. Esta es una configuración específica del servicio que te permitirá transmitir en la red Tor.
Primero, cambia a tu cuenta root. Puedes hacerlo ejecutando el siguiente comando:
sudo-i
Una vez que estés dentro de root, crea tu servicio oculto editando el archivo “/etc/tor/torrc”. En mi caso, estoy abriendo este archivo a través de GNU Nano.
nano/etc/tor/torrc
Encuentra la sección “location-hidden services” presionando Ctrl + W, luego escribiendo “location-hidden.”

Verás un par de ejemplos que demuestran cómo crear tu propio servicio oculto de Tor. Sin embargo, en su mayor parte, solo necesitas establecer dos opciones: HiddenServiceDir y HiddenServicePort.
La opción HiddenServiceDir le dice a Tor dónde debe guardar los archivos de configuración para tu servicio oculto. La opción HiddenServicePort le dice a Tor cómo debe redirigir cualquier solicitud a tu servicio oculto.
Las siguientes líneas de código crearán un nuevo servicio oculto para tu servidor web:
HiddenServiceDir /var/lib/tor/nginx-tor-service/
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 443 127.0.0.1:443
Recarga el demonio de Tor para aplicar tus nuevos ajustes ejecutando los siguientes comandos:
systemctl enable tor
systemctl restart torConsejo: aprende a usar Tor con tu conexión VPN.
Creación de un sitio web simple usando Nginx
Una vez que un servicio oculto de Tor esté en funcionamiento, comienza a configurar tu servidor web. Crea un nuevo archivo de configuración a través del comando touch:
sudotouch/etc/nginx/sites-available/nginx-tor-service
Edita tu nuevo archivo de configuración de Nginx como un servidor web básico. Por ejemplo, el siguiente bloque de código desplegará un servidor web simple en el puerto 80:
server{
listen 80 default_server;
listen[::]:80 default_server;
root /var/www/html;
server_name 4tth4kzmipldb5elklravakdwlnte3ck6m5ahl73nfbe6ni67zmyvxyd.onion;
location / {
try_files$uri$uri/ =404;
}
}- Las dos variables
listenestablecen tanto los puertos como el host al que esta configuración del servidor debe escuchar. En este caso, Nginx escucha en el puerto 80 tanto en IPv4 como en IPv6. - La variable
rootestablece la ubicación donde Nginx buscará los archivos en tu servidor web. - La variable
server_namecontiene el nombre de dominio de tu servidor. Encuéntralo ejecutandosudo less /var/lib/tor/nginx-tor-service/hostname. - La variable
locationcontiene funciones sobre cómo Nginx trata los archivos en la raíz de tu sitio web. En este ejemplo, solo establece el error 404 para cualquier archivo que falte.

Crea un enlace simbólico para tu nuevo archivo de configuración a “/etc/nginx/sites-enabled.”
sudoln-s/etc/nginx/sites-available/nginx-tor-service /etc/nginx/sites-enabled/Por último, habilita tu nuevo sitio web reiniciando Nginx:
sudo systemctl enable nginx
sudo systemctl restart nginx
Accediendo a tu sitio web a través de Tor
Con Tor y Nginx en funcionamiento, verifica si tu sitio web es accesible desde la red Tor. (¿Necesitas encontrar más sitios web en la dark web? Consulta estos motores de búsqueda.) Primero, descarga el último binario del navegador Tor:
wget https://www.torproject.org/dist/torbrowser/11.5.7/tor-browser-linux64-11.5.7_en-US.tar.xz
Extrae los archivos del navegador en el directorio actual ejecutando el siguiente comando:
tar xvf ./tor-browser-linux64-11.5.7_en-US.tar.xz
cd ./tor-browser_en-US
Además, asegúrate de que el binario del navegador Tor tenga los bits de ejecución correctos:
sudochmod +x ./start-tor-browser.desktopEjecuta e instala Tor Browser en tu máquina ejecutando el siguiente comando:
./start-tor-browser.desktop --register-app
Por último, navega a tu nuevo sitio web de Tor escribiendo su nombre de dominio en la barra de direcciones.

Preguntas Frecuentes
¿Es posible alojar un servidor de juegos usando Tor?
Sí, pero ejecutar un servidor de juegos Tor resultará en una experiencia de juego muy pobre. Por ejemplo, ejecutar un servidor de Minetest a través de Tor tendrá una latencia entre 1000 y 5000 milisegundos.
Si bien hay formas de acelerar tus conexiones Tor, los desarrolladores de Tor no diseñaron la red para funcionar en aplicaciones de baja latencia. Debido a eso, Tor es principalmente útil para publicar páginas web y aplicaciones que no dependen de baja latencia.
Estoy intentando alojar un sitio web FTP pero no puedo acceder a él a través de Tor.
Este problema se debe probablemente a una configuración faltante en el archivo “/etc/tor/torrc”. Para alojar correctamente un nuevo servicio a través de Tor, asegúrate de que los puertos adecuados estén abiertos tanto en tu firewall como en torrc.
Por ejemplo, agrega HiddenServicePort 21 127.0.0.1:21 y HiddenServicePort 22 127.0.0.1:22 para crear un puerto FTP y SFTP abierto en tu máquina.
¿Es posible alojar mi sitio web a través de SSL en Tor?
Es importante señalar que SSL no es un requisito estricto al asegurar tu sitio web de Tor. Por defecto, Tor ya cifra tus conexiones tan pronto como cargas el navegador Tor, por lo que cualquier sitio web que visites en Tor está cifrado de extremo a extremo.
Si lo deseas, obtén un certificado SSL para tu sitio web de Tor, aunque el proceso puede ser complicado, ya que solo hay un puñado de autoridades de certificación que emiten activamente TLS para dominios .onion.
Crédito de la imagen: Unsplash. Todas las alteraciones y capturas de pantalla por Ramces Red.