Servidor Debian con SSH y Apache2 sobre Tor + conexión desde cliente

🧾 Tutorial: Servidor Debian con SSH y Apache2 sobre Tor + conexión desde cliente

📌 Requisitos

  • 2 máquinas con Debian (o derivadas):
    • 🖥️ Servidor (donde correrán SSH, Apache2 y Tor)
    • 💻 Cliente (desde donde te conectarás)
  • Acceso root o sudo en ambas
  • Conexión a internet

1️⃣ Instalación básica en el servidor

Actualiza paquetes:

sudo apt update && sudo apt upgrade -y

Instala servicios:

sudo apt install openssh-server apache2 tor -y

Verifica que estén activos:

sudo systemctl status ssh
sudo systemctl status apache2
sudo systemctl status tor

2️⃣ Configurar Apache2 (opcional prueba)

Edita la página de prueba:

echo "<h1>Servidor oculto en Tor funcionando</h1>" | sudo tee /var/www/html/index.html

3️⃣ Configurar Tor como servicio oculto

Edita el archivo de configuración de Tor:

sudo nano /etc/tor/torrc

Añade al final:

# Servicio oculto para SSH
HiddenServiceDir /var/lib/tor/ssh_service/
HiddenServicePort 22 127.0.0.1:22

# Servicio oculto para Apache (web)
HiddenServiceDir /var/lib/tor/web_service/
HiddenServicePort 80 127.0.0.1:80

También puedes hacer que sea la misma ruta y el mismo link onion

# Servicio oculto para SSH
HiddenServiceDir /var/lib/tor/servicio_tor
HiddenServicePort 22 127.0.0.1:22

# Servicio oculto para Apache (web)
HiddenServicePort 80 127.0.0.1:80

Guarda y reinicia Tor:

sudo systemctl restart tor

4️⃣ Obtener las direcciones .onion

Tor genera automáticamente las direcciones:

sudo cat /var/lib/tor/ssh_service/hostname
sudo cat /var/lib/tor/web_service/hostname

Ejemplo:

abc123xyz.onion   (SSH)
def456uvw.onion   (Web)

⚠️ Guarda estas direcciones, las necesitarás en el cliente.


5️⃣ Configuración básica de seguridad (recomendado)

Editar SSH:

sudo nano /etc/ssh/sshd_config

Recomendaciones:

PermitRootLogin no
PasswordAuthentication yes

Reinicia SSH:

sudo systemctl restart ssh

6️⃣ Instalación en el cliente (máquina desde donde te conectarás)

Actualiza:

sudo apt update

Instala Tor y torsocks:

sudo apt install tor torsocks -y

Inicia Tor:

sudo systemctl start tor

Verifica:

systemctl status tor

7️⃣ Conectarse al servidor SSH vía Tor

Usa torsocks para enrutar el tráfico por Tor:

torsocks ssh usuario@abc123xyz.onion

Ejemplo:

torsocks ssh juan@abc123xyz.onion

8️⃣ Acceder al sitio web oculto

Desde el cliente:

Opción 1: Navegador Tor (recomendado)

Instala Tor Browser y abre:

http://def456uvw.onion

Opción 2: Curl con torsocks

torsocks curl http://def456uvw.onion

⚠️ IMPORTANTE

  • 🔴 Tor debe estar corriendo en ambas máquinas (servidor y cliente):sudo systemctl status tor
  • 🔐 SSH sobre Tor es más lento que normal (latencia alta)
  • 🌐 No necesitas abrir puertos en el router (Tor hace el túnel)
  • 🧠 Las direcciones .onion son privadas y dependen de Tor

🧪 Prueba final

✔️ Desde cliente:

torsocks ssh usuario@tu_onion_ssh

✔️ Desde navegador Tor:

http://tu_onion_web

🚀 Consejos extra

  • Usa autenticación por clave SSH en vez de contraseña
  • Puedes limitar SSH solo a localhost (más seguro con Tor):
ListenAddress 127.0.0.1
  • Revisa logs:
journalctl -u tor

Deja un comentario