Argos OSINT
Guía · 16 min de lectura ·

Cómo montar tu página web en la red Tor con un dominio .onion

Aloja tu propio sitio o proyecto en la red Tor con un dominio .onion propio. Guía técnica paso a paso: instalación del hidden service v3, HTTPS, vanity address personalizada, onion-location y buenas prácticas de seguridad.

Los dominios .onion no se registran ni se compran: se generan criptográficamente en tu propio servidor. Cualquiera con un VPS y 30 minutos puede montar su propio sitio accesible desde la red Tor. Es legal, gratis y útil para proyectos que necesitan resistencia a censura, whistleblowing, o simplemente experimentación técnica seria.

Contexto legal. Tor y los hidden services son tecnología legal usada por Facebook, BBC, ProPublica y muchas organizaciones. Lo que subes a tu .onion sigue estando sujeto a la ley del país donde estás y del país donde está el VPS. Esta guía cubre solo configuración técnica de un sitio legítimo.

Qué vamos a montar

Requisitos

¿Aún no tienes VPS?

Argos corre en Rootnerds. VPS europeos económicos con IPv4 dedicada y buena red. Verifica antes de contratar que el proveedor permite ejecutar Tor: la mayoría de europeos serios lo permite para relay/hidden service (no exit node).

Ver planes en Rootnerds Enlace de afiliado · Argos recibe una comisión sin coste extra para ti

Paso 1: instala Tor desde el repo oficial

Los paquetes de apt por defecto suelen ir muy atrasados. Añade el repo oficial de Tor Project para mantenerte al día:

ssh root@TU_IP_DEL_VPS
apt update && apt install -y apt-transport-https curl gnupg

# Añade el repo oficial
echo "deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/tor.list

# Añade la clave GPG
curl -fsSL https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc \
  | gpg --dearmor -o /usr/share/keyrings/tor-archive-keyring.gpg

apt update
apt install -y tor deb.torproject.org-keyring

Verifica que arrancó bien:

systemctl status tor@default

Paso 2: prepara la web local

Instala nginx y sirve algo en localhost:8080 (o el puerto que prefieras). Este será el contenido que expondrás vía Tor.

apt install -y nginx

# Crea un vhost que escuche solo en localhost
cat > /etc/nginx/sites-available/onion.conf <<'EOF'
server {
    listen 127.0.0.1:8080;
    server_name _;
    root /var/www/onion;
    index index.html;

    # No enviar headers que revelen software o IP
    server_tokens off;
    more_clear_headers Server;

    location / {
        try_files $uri $uri/ =404;
    }
}
EOF

# Contenido de prueba
mkdir -p /var/www/onion
echo '<h1>Mi primera web en Tor</h1><p>Funciona.</p>' > /var/www/onion/index.html

# Activa y recarga
ln -sf /etc/nginx/sites-available/onion.conf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

# Verifica
curl http://127.0.0.1:8080/

Paso 3: configura el hidden service

Edita /etc/tor/torrc y añade la definición del hidden service:

nano /etc/tor/torrc

Añade estas líneas al final:

HiddenServiceDir /var/lib/tor/mi_sitio/
HiddenServicePort 80 127.0.0.1:8080
HiddenServiceVersion 3

# (Opcional) desactivar publicación en directorio de servicios
# HiddenServiceNonAnonymousMode 0
# HiddenServiceSingleHopMode 0

Reinicia Tor para que aplique:

systemctl restart tor@default
sleep 5
journalctl -u tor@default --since "1 minute ago" | tail -20

Deberías ver mensajes tipo "Bootstrapped 100%" y "onion service descriptor uploaded". Si hay errores de permisos, ajusta:

chown -R debian-tor:debian-tor /var/lib/tor/mi_sitio
chmod 700 /var/lib/tor/mi_sitio
systemctl restart tor@default

Paso 4: obtén tu dominio .onion

Tor ha generado un par de claves y la dirección pública se guarda en:

cat /var/lib/tor/mi_sitio/hostname

Verás algo así:

3g2upl4pq6kufc4m7f7q6nn5xkjaycfl3vjmbn7q5s4dpszrjq6rjqad.onion

Esa es tu dirección. Cópiala y ábrela en Tor Browser (no en Chrome o Firefox estándar — solo Tor Browser resuelve .onion). Deberías ver la página de prueba servida por nginx.

Paso 5: (opcional) dirección vanity personalizada

Las direcciones v3 son de 56 caracteres. Puedes generar una que empiece por letras concretas usando mkp224o — fuerza bruta computacional en tu equipo:

# En tu ordenador local (más rápido que en el VPS)
apt install -y git build-essential libsodium-dev autoconf
git clone https://github.com/cathugger/mkp224o.git
cd mkp224o
./autogen.sh && ./configure && make
./mkp224o argos -d ~/onion-keys -n 1

Buscará una dirección que empiece por "argos". Los tiempos:

Cuando encuentre una, dentro de ~/onion-keys/ aparecerá una carpeta con nombre argosXXXX....onion y dentro tres archivos: hostname, hs_ed25519_public_key, hs_ed25519_secret_key. Sube esa carpeta entera a tu VPS y reemplaza /var/lib/tor/mi_sitio/:

# Detén Tor
systemctl stop tor@default

# Backup del anterior
mv /var/lib/tor/mi_sitio /var/lib/tor/mi_sitio.old

# Copia la vanity
mkdir -p /var/lib/tor/mi_sitio
cp ~/onion-keys/argosXXX*/hostname /var/lib/tor/mi_sitio/
cp ~/onion-keys/argosXXX*/hs_ed25519_public_key /var/lib/tor/mi_sitio/
cp ~/onion-keys/argosXXX*/hs_ed25519_secret_key /var/lib/tor/mi_sitio/

# Permisos correctos
chown -R debian-tor:debian-tor /var/lib/tor/mi_sitio
chmod 700 /var/lib/tor/mi_sitio
chmod 600 /var/lib/tor/mi_sitio/hs_ed25519_secret_key

systemctl start tor@default
cat /var/lib/tor/mi_sitio/hostname

Rootnerds (afiliado): el proveedor que usamos para alojar Argos.

Paso 6: (opcional) Onion-Location desde tu web clearnet

Si además tienes el sitio en clearnet (por ejemplo, tudominio.com), puedes añadir un header que le diga a Tor Browser: "hay una versión .onion, ábrela automáticamente". Tor Browser mostrará un botón .onion available.

En el nginx del sitio clearnet:

server {
    listen 443 ssl http2;
    server_name tudominio.com;

    # Añadir este header
    add_header Onion-Location "http://TU_DIRECCION.onion$request_uri" always;

    # ...resto de config...
}

Cualquier visitante que use Tor Browser verá el botón para pasar a la versión .onion.

Paso 7: backup del secret key (CRÍTICO)

Tu dominio .onion depende exclusivamente del hs_ed25519_secret_key. Si lo pierdes (fallo de disco, borrado accidental, VPS que se apaga sin backup), la dirección se pierde para siempre y tendrás que generar una nueva. Todos tus enlaces publicados dejarán de funcionar.

Haz backup ahora mismo:

# En el VPS: crea un tar cifrado con GPG
tar czf /root/tor-mi-sitio-backup.tar.gz -C /var/lib/tor mi_sitio
gpg --symmetric --cipher-algo AES256 /root/tor-mi-sitio-backup.tar.gz
# Introduce una passphrase muy fuerte cuando la pida

# Descárgalo a tu ordenador (fuera del VPS)
# En tu PC:
scp root@TU_IP:/root/tor-mi-sitio-backup.tar.gz.gpg ~/Documentos/

# Elimina el tar sin cifrar del VPS
rm /root/tor-mi-sitio-backup.tar.gz

Guarda el .gpg en 2-3 sitios distintos (disco externo, pen drive en caja fuerte, cifrado en cloud). Sin ese archivo, no puedes recuperar tu dominio.

Paso 8: endurecimiento y buenas prácticas

El hidden service es tan seguro como el operador. Errores típicos que filtran identidad:

Casos de uso reales

Comandos útiles para gestionar

# Ver estado de Tor
systemctl status tor@default

# Ver logs en vivo
journalctl -u tor@default -f

# Recargar tras cambios de config
systemctl reload tor@default

# Reiniciar completo
systemctl restart tor@default

# Ver tu .onion
cat /var/lib/tor/mi_sitio/hostname

# Ver conexiones activas (verificar que Tor está bien conectado)
sudo -u debian-tor tor --verify-config

Verificación final

  1. Abre Tor Browser (no cualquier navegador con extensión Tor).
  2. Pega tu URL .onion.
  3. Debe cargar tu página en 3-10 segundos (Tor añade latencia).
  4. Revisa las herramientas del navegador (F12 → Red) para verificar que no hay ninguna request externa a Google, CDNs u otros dominios.
  5. Repite con Tor Browser en móvil (existe en Android; en iOS usa Onion Browser).

Con 45 minutos y un VPS básico tienes tu propio sitio en la red Tor. Sin registrador, sin ICANN, sin CA. Solo criptografía. Úsalo para lo que la tecnología fue diseñada: publicación resistente a censura, protección de fuentes y experimentación técnica.

Preguntas frecuentes

¿Es legal tener una web con dominio .onion?

Sí. La red Tor y los servicios ocultos (hidden services) son tecnología legal en España, la UE y la mayoría de países democráticos. Facebook, la BBC, ProPublica, The New York Times, DuckDuckGo y muchas organizaciones legítimas mantienen versiones .onion oficiales. Lo que se hospede sobre esa dirección es responsabilidad del operador, exactamente igual que en la web pública. Alojar un blog personal, un espejo anti-censura o un buzón de whistleblowing es perfectamente legal; alojar contenido delictivo sigue siendo delito con o sin Tor.

¿Se puede rastrear al dueño de una .onion?

Muy difícilmente si el hidden service está bien configurado. El diseño criptográfico de Tor hace que ni siquiera el propio Tor Project pueda mapear un .onion a una IP. Las desanonimizaciones históricas han venido siempre por errores del operador: filtrar la IP en headers, tener el mismo sitio también en clearnet, subir archivos con metadatos EXIF, o loguearse con la misma cuenta desde tor y desde clearnet. Con precauciones básicas y buen aislamiento, el anonimato es muy sólido.

¿Puedo hospedar cualquier tipo de contenido?

Legal, sí (dentro de la ley del país donde estás y donde está el VPS). Los TOS de tu proveedor también aplican: si Rootnerds, Hetzner o cualquier VPS prohíbe contenido X, tampoco puedes hospedarlo en tu hidden service alojado ahí. Si te preocupa la censura del proveedor, elige uno explícitamente Tor-friendly como FlokiNET o Njalla.

¿Cuánto cuesta montar y mantener una .onion?

Un VPS pequeño (1 GB RAM, 1 vCPU) es suficiente y cuesta 3-6 €/mes. No hay coste de dominio (el .onion se genera criptográficamente y no necesita registrador). El único gasto real es el VPS.

¿Qué diferencia hay entre onion v2 y v3?

v2 (direcciones cortas de 16 caracteres) está deprecada desde 2021 y ya no funciona. Solo debes usar v3 (56 caracteres). Todos los nuevos hidden services deben ser v3, más largos pero criptográficamente mucho más robustos (Ed25519 en lugar de RSA-1024).

¿Puedo usar HTTPS con un dominio .onion?

Técnicamente sí (existen certs específicos de HARICA para .onion) pero no es necesario: la conexión Tor ya está cifrada extremo a extremo por diseño. Usar HTTPS encima solo añade complejidad. Las webs .onion serias suelen servir HTTP dentro del túnel Tor sin problema.

Herramientas usadas en esta guía

Todas gratis, sin registro, en tu navegador.

← Todas las guías