OffshoreVps
Privacidad y ley20 oct 20268 min de lecturaPor el equipo de OffshoreVps

Aloja un sitio .onion: servicio oculto de Tor en un VPS

Ejecuta un sitio web como servicio onion de Tor: instala Tor, vincula Nginx a localhost, lee tu dirección .onion, añade autorización de cliente y evita las fugas que te exponen.

Un servicio onion de Tor permite que la gente acceda a tu sitio a través de la red Tor sin que ninguna de las partes conozca la dirección IP de la otra. El servidor se conecta hacia Tor, así que no necesita ningún puerto de entrada abierto. Esta guía configura uno en un VPS con Ubuntu, con Nginx sirviendo un sitio pequeño.

Ventana de terminal en un VPS que muestra los comandos usados para publicar un servicio onion de Tor, empezando por “sudo apt update”
El tipo de comandos que ejecutarás en tu servidor en esta guía.

Qué te ofrece un servicio onion

  • Una dirección .onion derivada de una clave, por lo que se autentica sola y no necesita autoridad certificadora.
  • Cifrado de extremo a extremo entre el visitante y tu servidor, dentro de Tor.
  • No hace falta exponer la dirección IP pública de tu servidor a los visitantes.

No hace legal el contenido de tu sitio ni oculta los errores que cometas en otro lugar, como un dominio de la web clara que apunte a la misma máquina.

Paso 1: instala Tor y Nginx

sudo apt update
sudo apt install -y tor nginx
sudo systemctl enable --now tor

Paso 2: enlaza Nginx solo a localhost

El servidor web no debe responder en la interfaz pública, o la IP de la web clara y el sitio onion quedarán vinculables. Edita la configuración de tu sitio para que escuche en loopback.

server {
    listen 127.0.0.1:8080;
    server_name _;
    root /var/www/onion;
    index index.html;
    server_tokens off;
}
sudo mkdir -p /var/www/onion
echo '<h1>Hello from onion space</h1>' | sudo tee /var/www/onion/index.html
sudo nginx -t && sudo systemctl reload nginx
Los pasos de esta guía en orden: 1. Qué te ofrece un servicio onion; 2. instala Tor y Nginx; 3. vincula Nginx solo a localhost; 4. declara el servicio oculto; 5. autorización de cliente opcional; 6. cierra las fugas habituales
Los pasos de esta guía, en orden.

Paso 3: declara el servicio oculto

Añade estas líneas a /etc/tor/torrc:

HiddenServiceDir /var/lib/tor/my_site/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:8080
sudo systemctl restart tor
sudo cat /var/lib/tor/my_site/hostname

El último comando muestra tu dirección .onion de 56 caracteres. Ábrela en Tor Browser para probar. Haz una copia de la carpeta /var/lib/tor/my_site/: la clave que contiene es tu dirección, y perderla significa una dirección nueva.

Paso 4: autorización de clientes opcional

Para un servicio privado, añade una clave que solo tengan los visitantes aprobados. Crea el archivo /var/lib/tor/my_site/authorized_clients/alice.auth con una línea con el formato descriptor:x25519:PUBLIC_KEY y luego recarga Tor. Los visitantes sin la clave privada correspondiente ni siquiera pueden ver que el servicio existe.

Paso 5: cierra las fugas habituales

  • Nunca hagas referencia a recursos, fuentes o analíticas de la web clara desde tus páginas.
  • Haz genéricas las páginas de error y las cabeceras, y mantén server_tokens off.
  • Mantén el reloj del servidor preciso; Tor lo necesita.
  • Pon un firewall a todo excepto SSH: sudo ufw default deny incoming, ya que Tor no necesita ningún puerto de entrada.
  • No ejecutes un sitio de la web clara en el mismo host a menos que los hayas separado por completo.

Lee los hábitos de OpSec del servidor antes de publicar nada, y usa la lista de endurecimiento en un servidor nuevo.