Manual de Hardening para SSH.

Tabla de Contenidos

Nota: Este manual contiene prácticas recomendadas actualizadas para 2025 basadas en estándares de seguridad empresarial y guías de hardening reconocidas.

1. Configuración Básica de Seguridad

1.1 Actualización y Parcheo Regular

Mantenga su sistema y el daemon SSH actualizados para cerrar vulnerabilidades conocidas.

1.2 Cambio del Puerto SSH Predeterminado

Modifique el puerto predeterminado (22) para reducir ataques automatizados.

Port 22222  # Ejemplo de puerto personalizado

1.3 Deshabilitar Inicio de Sesión como Root

Evite el acceso directo al usuario root mediante SSH para minimizar riesgos de seguridad.

PermitRootLogin no

1.4 Uso Exclusivo del Protocolo SSHv2

Force el uso del protocolo SSHv2, que incluye mejoras de seguridad sobre versiones anteriores.

Protocol 2

2. Autenticación Segura

2.1 Autenticación Basada en Claves (Recomendado)

Utilice claves SSH en lugar de contraseñas para eliminar el riesgo de ataques de fuerza bruta.

Genere claves usando el algoritmo ed25519, considerado estándar para 2025.

ssh-keygen -t ed25519 -C "usuario@empresa.com"
Advertencia: Deshabilite completamente la autenticación por contraseña una vez configuradas las claves:
PasswordAuthentication no

2.2 Rotación Periódica de Claves

Implemente un calendario de rotación de claves SSH para limitar el impacto de compromisos.

2.3 Autenticación de Dos Factores (2FA)

Agregue una capa adicional de seguridad mediante autenticación multifactor para conexiones SSH críticas.

2.4 Certificados SSH en Entornos Empresariales

Para entornos empresariales, utilice certificados SSH en lugar de claves individuales para una gestión centralizada.

3. Control de Acceso

3.1 Restricción de Usuarios Autorizados

Límite el acceso SSH solo a usuarios específicos necesarios para operaciones.

AllowUsers usuario1 usuario2 admin@192.168.1.100

3.2 Uso de Host Bastión

Implemente un servidor bastión como punto único de entrada para acceder a redes internas.

3.3 Reglas de Firewall Estrictas

Configure reglas de firewall para limitar el acceso SSH solo a direcciones IP autorizadas.

ufw allow from 192.168.1.0/24 to any port 22222

4. Monitoreo y Protección Adicional

4.1 Implementación de Fail2Ban

Utilice Fail2Ban para bloquear automáticamente intentos de conexión maliciosos repetidos.

4.2 Registro y Auditoría

Configure registros detallados y revise periódicamente los intentos de acceso:

LogLevel VERBOSE

4.3 Límites de Tiempo de Conexión

Establezca límites de tiempo para conexiones inactivas:

ClientAliveInterval 300
ClientAliveCountMax 0

5. Verificación Final de Configuración

Antes de aplicar cambios permanentes, verifique su configuración SSH:

sshd -t  # Valida la sintaxis del archivo de configuración

Resumen de Acciones Críticas

  1. Cambie el puerto predeterminado de SSH
  2. Deshabilite el inicio de sesión como root
  3. Implemente autenticación basada en claves ed25519
  4. Restrinja usuarios y direcciones IP permitidas
  5. Configure Fail2Ban para protección contra fuerza bruta