El panorama de la ciberseguridad cambia y evoluciona constantemente, y quizás eso esté mejor representado por SSH; incluso hace tan solo unos años, todos pensábamos que las claves SSH eran la mejor manera de implementar SSH, cuando ahora sabemos que las claves SSH son malas. Dicho esto, el hecho de que SSH se considere un estándar en la industria tanto por su seguridad como por su eficacia en el acceso a servidores remotos no significa que sea infalible. Como todo software, su éxito depende en gran medida de las configuraciones establecidas tanto en el lado del cliente como en el del servidor. En este blog, analizaremos las mejores prácticas que puede seguir para proteger SSH.
Ha dedicado mucho tiempo y esfuerzo a proteger su identidad de Entra ID con credenciales no phishing, acceso condicional y administrar RBAC a través de grupos AD. En lugar de reinventar la rueda, deberíamos transferir esa misma seguridad a SSH. Quizás esté pensando en unir el dominio a su máquina Linux con AD; sin embargo, esto sólo añadirá más problemas. En su lugar, recomendamos utilizar una herramienta como EZSSH para utilizar sus credenciales de AAD y crear un certificado SSH a corto plazo y le otorgará acceso a su punto final SSH.
Las claves SSH no se consideran MFA, para disgusto de los profesionales de la seguridad en todo el mundo. ¿Por qué es esto? Las claves SSH no son MFA porque la mayoría de las personas no las protegen con una contraseña; como tal, cualquier hacker competente puede robarlos. ¡Sí, es tan simple como eso! Es por eso que recomendamos encarecidamente cambiar de claves SSH a certificados SSH (profundizaremos en este tema en un par de párrafos).
La configuración predeterminada para SSH está controlada por el archivo de configuración que se encuentra en /etc/ssh/sshd_config. Dado que estas opciones predeterminadas son ampliamente conocidas en muchos entornos informáticos, es inteligente modificar algunas de ellas como medida de precaución para proteger sus sistemas. Las dos cosas que recomendamos hacer son cambiar el puerto predeterminado y eliminar la autenticación basada en contraseña.
Los servidores SSH están configurados para operar en el puerto 22 de forma predeterminada; Desafortunadamente, los atacantes suelen comenzar su búsqueda de puertos de servidor SSH abiertos escaneando estos puertos predeterminados. Cambiar a un puerto no estándar puede reducir significativamente la probabilidad de ataques de fuerza bruta y restringir la accesibilidad de su servidor a los escáneres de puertos.
Si bien las contraseñas pueden parecer convenientes y son la forma en que hemos realizado la autenticación durante décadas, el robo de contraseñas es una de las principales causas de ataques de seguridad. Las contraseñas simplemente ya no son lo suficientemente seguras. ¡Una alternativa más segura es eliminar por completo la autenticación basada en contraseña y utilizar certificados SSH!
Para deshabilitar la autenticación basada en contraseña, actualice el archivo de configuración SSH (una vez más, /etc/ssh/sshd_config) y cambie la opción “PasswordAuthentication” a “no”.
De hecho, escribimos un blog completo sobre por qué deberías usar certificados SSH que puedes consultar para profundizar en el tema, pero aquí está la esencia de por qué deberías usarlas en lugar de claves SSH:
1) Con los certificados SSH, solo es necesario agregar una clave por servidor, lo que simplifica la administración del acceso al servidor.
2) A las claves SSH del usuario se les asignan fechas de vencimiento, lo que garantiza que no permanezcan activas indefinidamente (lo cual es una medida de seguridad crucial).
3) La CA puede proporcionar JEA (acceso suficiente) para cada solicitud de acceso, mejorando el acceso controlado y seguro.
4) La facilidad de asociar cada clave con su respectivo propietario mejora significativamente la trazabilidad y responsabilidad del acceso.
5) El uso de certificados a corto plazo reduce en gran medida el riesgo asociado con el robo de claves SSH, un problema común que surge de la mala gestión de las claves SSH.
6) El proceso simplificado de certificados SSH acelera significativamente la incorporación de usuarios, lo que lo convierte en un sistema más eficiente y seguro para administrar el acceso al servidor.
Los firewalls son más que una simple palabra de moda en las películas sobre hackers: en realidad son actores clave para garantizar la seguridad de SSH. ¿Sabías que si expones tu puerto SSH a Internet tendrás más de 2 millones de intentos de conexión al año? La función principal de un firewall es inspeccionar el tráfico de red entrante y saliente mediante reglas específicas y predeterminadas. Adaptados a requisitos informáticos específicos, los firewalls también pueden monitorear el tráfico dentro de una red privada, mejorando significativamente la seguridad del servidor (¡digamos que el último bit es cinco veces más rápido!). Además, se pueden utilizar firewalls para limitar la velocidad de las conexiones desde direcciones IP específicas al puerto SSH, bloqueando así el acceso potencialmente dañino.
En definitiva, gestionar eficazmente un firewall y su configuración puede reducir sustancialmente el riesgo de ciberataques relacionados con SSH.