ProxyTcpReverse/PC3_SETUP.md

4.9 KiB

Configuración de PC3 (Servidor Linux Intermediario)

Instrucciones para configurar 91.99.210.72

🖥️ Requisitos Mínimos en PC3

PC3 solo necesita ser un servidor Linux estándar con SSH. No requiere software especial.

Software Necesario (probablemente ya instalado):

  • SSH Server (openssh-server)
  • Acceso de red (puede recibir conexiones)

🔧 Verificación y Configuración

1. Verificar SSH Server

# Verificar si SSH está instalado y ejecutándose
sudo systemctl status ssh
# o en sistemas más antiguos:
sudo service ssh status

# Si no está instalado:
sudo apt update
sudo apt install openssh-server

# Iniciar SSH si no está activo:
sudo systemctl start ssh
sudo systemctl enable ssh

2. Verificar Puerto SSH

# Verificar que SSH escucha en puerto 22
sudo netstat -tlnp | grep :22
# o
sudo ss -tlnp | grep :22

# Debería mostrar algo como:
# tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

3. Configurar Clave SSH (Método Recomendado)

# En PC3, agregar tu clave pública SSH
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# Copiar tu clave pública al archivo authorized_keys
# (La clave pública correspondiente a la privada que tienes)
nano ~/.ssh/authorized_keys

# Establecer permisos correctos
chmod 600 ~/.ssh/authorized_keys

4. Configuración SSH Opcional (para mayor seguridad)

# Editar configuración SSH
sudo nano /etc/ssh/sshd_config

# Configuraciones recomendadas:
Port 22                          # Puerto SSH (puedes cambiarlo)
PermitRootLogin yes             # Solo si usas root (no recomendado)
PubkeyAuthentication yes        # Autenticación por clave pública
PasswordAuthentication no       # Deshabilitar password (más seguro)
GatewayPorts yes               # IMPORTANTE: Permitir túneles reversos
AllowTcpForwarding yes         # IMPORTANTE: Permitir forwarding

# Reiniciar SSH después de cambios
sudo systemctl restart ssh

⚠️ Configuración CRÍTICA para Túneles Reversos

La configuración más importante es GatewayPorts:

# En /etc/ssh/sshd_config debe estar:
GatewayPorts yes

# Esto permite que los túneles SSH reversos sean accesibles
# desde cualquier IP, no solo localhost

Sin GatewayPorts:

  • Túneles solo accesibles desde localhost en PC3
  • PC2 NO puede conectar

Con GatewayPorts yes:

  • Túneles accesibles desde cualquier IP
  • PC2 SÍ puede conectar a 91.99.210.72:puerto

🔥 Firewall (si está habilitado)

# Verificar si hay firewall activo
sudo ufw status
# o
sudo iptables -L

# Si ufw está activo, permitir SSH:
sudo ufw allow 22

# Permitir rango de puertos para túneles (9000-9999)
sudo ufw allow 9000:9999/tcp

# Si usas iptables directamente:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9000:9999 -j ACCEPT

🧪 Verificar Configuración Desde PC1

Desde PC1 (WSL2), probar la conexión SSH:

# Probar conexión SSH básica
ssh -i certs/ssh_private_key usuario@91.99.210.72

# Probar túnel SSH reverso
ssh -i certs/ssh_private_key -R 9999:localhost:8080 usuario@91.99.210.72

# Desde otra terminal en PC3, verificar que el puerto esté abierto:
netstat -tlnp | grep 9999

📋 Checklist de Configuración PC3

  • SSH Server instalado y ejecutándose
  • Puerto 22 abierto y accesible
  • Tu clave pública en ~/.ssh/authorized_keys
  • GatewayPorts yes en /etc/ssh/sshd_config
  • AllowTcpForwarding yes en SSH config
  • Firewall permite puerto 22 y rango 9000-9999
  • Prueba de conexión SSH desde PC1 exitosa

🎯 Configuración Mínima Rápida

Si PC3 es un servidor Linux básico, estos comandos bastan:

# Instalar SSH si no está
sudo apt update && sudo apt install -y openssh-server

# Configurar SSH para túneles reversos
echo "GatewayPorts yes" | sudo tee -a /etc/ssh/sshd_config
echo "AllowTcpForwarding yes" | sudo tee -a /etc/ssh/sshd_config

# Reiniciar SSH
sudo systemctl restart ssh

# Permitir puertos en firewall
sudo ufw allow 22
sudo ufw allow 9000:9999/tcp

🔍 Verificación Final

Desde PC2 (o cualquier PC externa), verificar acceso:

# Probar acceso SSH
ssh usuario@91.99.210.72

# Una vez que PC1 establezca túneles, probar acceso a puertos:
telnet 91.99.210.72 9001
curl http://91.99.210.72:9001

📞 Soporte de Proveedores Cloud

Si PC3 está en la nube:

AWS EC2:

  • Configurar Security Group para puerto 22 y 9000-9999
  • Usar Amazon Linux o Ubuntu

Google Cloud:

  • Configurar reglas de firewall para puertos necesarios
  • Usar Compute Engine con Ubuntu/Debian

Digital Ocean:

  • Droplet básico con Ubuntu
  • Configurar Cloud Firewall

VPS Genérico:

  • Cualquier VPS Linux con acceso SSH
  • Configurar según las instrucciones de arriba

En resumen: PC3 solo necesita ser un servidor Linux con SSH configurado para túneles reversos. ¡La configuración es muy simple!