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
.onionson 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



