Mantenga su sistema y el daemon SSH actualizados para cerrar vulnerabilidades conocidas.
Modifique el puerto predeterminado (22) para reducir ataques automatizados.
Port 22222 # Ejemplo de puerto personalizado
Evite el acceso directo al usuario root mediante SSH para minimizar riesgos de seguridad.
PermitRootLogin no
Force el uso del protocolo SSHv2, que incluye mejoras de seguridad sobre versiones anteriores.
Protocol 2
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"
PasswordAuthentication no
Implemente un calendario de rotación de claves SSH para limitar el impacto de compromisos.
Agregue una capa adicional de seguridad mediante autenticación multifactor para conexiones SSH críticas.
Para entornos empresariales, utilice certificados SSH en lugar de claves individuales para una gestión centralizada.
Límite el acceso SSH solo a usuarios específicos necesarios para operaciones.
AllowUsers usuario1 usuario2 admin@192.168.1.100
Implemente un servidor bastión como punto único de entrada para acceder a redes internas.
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
Utilice Fail2Ban para bloquear automáticamente intentos de conexión maliciosos repetidos.
Configure registros detallados y revise periódicamente los intentos de acceso:
LogLevel VERBOSE
Establezca límites de tiempo para conexiones inactivas:
ClientAliveInterval 300 ClientAliveCountMax 0
Antes de aplicar cambios permanentes, verifique su configuración SSH:
sshd -t # Valida la sintaxis del archivo de configuración