Las mejores 14 prácticas de administración de claves SSH

Una gestión eficaz de la administración de claves SSH implica: conocer el número exacto de SSH existentes en su entorno TI; cuándo y cómo se usan; cómo generar, almacenar, revocar y eliminar de forma segura las claves en su red y entorno TI, entre otras cosas. Las mejores prácticas que podemos aplicar para una mejor gestión son: 

1.- Utilizar un administrador de claves SSH

Usar una herramienta de administración de claves SSH confiable es un modo de facilitar y conocer el ciclo de vida de la administración de claves; al tiempo en que ayuda a descubrir dónde existen claves dentro de su infraestructura de TI.

Todo esto con el propósito de identificar posibles vulnerabilidades en la posible extracción a través de las claves SSH temporalmente olvidadas, huérfanas o falsas. Además, permite la administración de claves SSH mensual, permitiendo también la automatización de muchas funciones. 

2.- Utilizar un almacén de claves y un almacenamiento de claves SSH físicas

No es más que un lugar seguro y centralizado en el que se pueden almacenar diferentes tipos de elementos criptográficos para que las aplicaciones web automatizadas tengan acceso a ellos cuando lo necesiten. Otra opción es almacenar las claves SSH en un entorno fuera de línea físicamente seguro en el que solo tienen acceso determinadas personas. 

3.- Implementar el depósito de claves para permitir el acceso a las claves SSH a entidades autorizadas:

Un modo eficaz de garantizar que las claves privadas permanezcan seguras es mediante el uso de un proceso conocido como custodia de claves. Esto no es más que utilizar una herramienta o un tercero de confianza para conservar una copia de la clave privada SSH

4.- Implementar las políticas y procesos estrictos de administración de claves SSH:

La administración de claves SSH es tan buena como las políticas que se tengan implementadas y se cumplan. Hay que tener en cuenta que las políticas deben funcionar como el eje central de la infraestructura y procesos de claves SSH; y que además garanticen la responsabilidad de quienes las administran.

5.- Evitar crear credenciales de cuentas compartidas:

Para una efectiva administración de credenciales es mejor crear una cuenta individual. Esto se traduce en crear pares de claves SSH para todo aquel que necesite acceso. Parte de este proceso deberá incluir aprobaciones formales de acceso y documentación adjunta, para ayudar a proporcionar un registro de claves vinculado al acceso de un usuario. 

administracion de claves ssh

6.- Implementar una política de privilegios mínimos (PLP):

Para lograrlo, se debe configurar la clave SSH de una persona para que esté asociada a una cuenta que limite el acceso a lo que este usuario necesita. 

7.- Eliminar las claves públicas SSH antiguas:

Las claves SSH antiguas, huérfanas y olvidadas representan un gran problema, pues estas claves no auditadas son claves activas que crean puertas traseras a los ciberdelincuentes; por lo que es importante contar con políticas y procesos establecidos como el de cancelar el acceso a las cuentas asociadas con un usuario. Otro método es el de eliminar todas las claves públicas que están asociadas a esos usuarios, evitando, a su vez, que las privadas permitan el acceso a sistemas autorizados. 

8.- Cumplir con el tamaño mínimo recomendado:

Las claves SSH son versátiles, por lo que pueden generar distintos tamaños. Pero el NIST IR 7966 asegura que “las claves de usuario deben cumplir con los estándares de la organización para las longitudes mínimas de clave utilizadas con algoritmos aprobados”. La idea es que el tamaño de la clave ayude a que los intentos de factorización sean muchos, evitando la invasión de atacantes.

9.- Invalidar las claves después de cierto tiempo:

Las claves SSH no caducan después de cierto tiempo, se pueden revocar. Para que caduquen se debe forzar manualmente al servidor para que rechace las claves antiguas o las elimine directamente del sistema TI. 

10.- Girar las teclas regularmente:

Como las claves SSH no caducan, lo ideal es rotarlas con regularidad, asegurándose de eliminar las claves inactivas. La rotación regular de claves ayuda a evitar la explotación de claves comprometidas. 

11.- Utilizar diferentes claves SSH para distintos usuarios, hots y entornos:

Lo ideal es usar claves SSH únicas para diferentes usuarios y entornos, de modo que si alguien logra comprometer una clave SSH no pueda usar esa misma clave para acceder a otros entornos en sus sistemas.

12.- Cambiar el puerto SSH predeterminado y desactivar el reenvío de puertos:

Si bien cambiar el puerto de comunicación no es un requisito necesario, es una buena práctica porque ayuda a reducir los ataques automatizados.

13.- Evitar el uso de protocolos SSH débiles:

Con esto no solo se evitarán vulnerabilidades de seguridad, sino que también es más seguro para clientes y servidores

14.- Mantener sus servidores y clientes SSH actualizados:

Los fabricantes publican actualizaciones y parches para abordar errores que pueden dejar sus datos y organización abiertos para ataques. La administración de parches es un área en la que se puede implementar una automatización, evitando los espacios abiertos a ataques.  

Finalmente, las claves SSH sirven como un medio alternativo de acceso para los usuarios, que permite que estos se autentiquen en los servidores de manera segura. Sin embargo, para que este proceso de conexión y autenticación se produzca de forma segura, requiere de políticas y procesos estrictos de gestión de claves.