Seguramente te has encontrado en alguna situación en la que tuviste que descargar o enviar información personal a través de la web. Según un estudio reciente, alrededor del 52 % de las organizaciones envían datos confidenciales y sensibles a nubes públicas, y el 28 % planea hacerlo en los próximos 12 a 24 meses.
Pero ¿alguna vez ha tenido dudas sobre la seguridad de sus datos, como sus credenciales de acceso o las transferencias de archivos por internet desde otra máquina remota? Es posible que haya atacantes intentando acceder a la información personal que comparte a través de una red desprotegida. Según un informe de Rapid7, el 41 % de los incidentes se debieron a la falta o no aplicación de la autenticación multifactor (MFA), especialmente en VPN y máquinas virtuales.
Para prevenir escenarios y ataques como el robo de credenciales, la fuerza bruta y el robo de claves, Tatu Ylönen inventó en 1995 el protocolo SSH ( Secure Shell) , que permite identificar y establecer fácilmente una conexión segura con el servidor. SSH funciona con un modelo cliente-servidor, creando un túnel seguro entre tu equipo (cliente) y el servidor para evitar el acceso no autorizado a tu información. SSH tiene múltiples aplicaciones, principalmente en la gestión remota de servicios y servidores, como el acceso remoto y la ejecución de comandos, la transferencia de archivos, la implementación de VPN y muchas más.
SSH ofrece varios modos de autenticación de usuarios, pero los más comunes son la autenticación mediante contraseña y clave pública. Antes de analizar la proliferación y la gestión de claves SSH, comprendamos el proceso básico del protocolo SSH utilizando la siguiente figura:

Las claves SSH
Las claves SSH son un método seguro de autenticación y se utilizan en numerosos servicios. Por ejemplo, plataformas en la nube como AWS, Azure y Google Cloud utilizan claves SSH para acceder a máquinas virtuales y otros servicios en la nube. Muchos desarrolladores de todo el mundo también utilizan estas claves para acceder a sus repositorios de GitHub y automatizar sus pipelines de CI/CD.
Las claves SSH se basan en claves asimétricas, una pública y otra privada, que conforman el par de claves SSH. Estos pares de claves se generan mediante algoritmos criptográficos robustos como Rivest-Shamir-Adleman (RSA) y el Algoritmo de Firma Digital de Curva Elíptica (ECDSA) . Estos algoritmos emplean diferentes métodos y combinaciones para garantizar la solidez e integridad del par de claves frente a cualquier actividad maliciosa o ataque. RSA es un algoritmo ampliamente utilizado, pero presenta limitaciones en cuanto a rendimiento y eficiencia. ECDSA, por su parte, utiliza claves más pequeñas, lo que se traduce en operaciones más rápidas y un menor consumo de recursos, convirtiéndolo en una opción más viable para la computación moderna.
Ahora, usted podría estar pensando que, dado que las claves SSH se utilizan principalmente para autenticación, ¿por qué querría cambiar el método de autenticación tradicional de nombre de usuario y contraseña?
La seguridad digital es fundamental al tratar con redes inseguras. Las contraseñas eran una buena opción, pero a medida que la tecnología evoluciona, este método está perdiendo credibilidad. Ofrecen un acceso lento y son fáciles de robar. Según una encuesta realizada por GoodFirms titulada "Principales fortalezas y vulnerabilidades de las contraseñas: amenazas, medidas preventivas y recuperaciones", el 45.7 % de las personas usa las mismas contraseñas para varias cuentas y el 52.9 % las comparte con sus amigos y familiares. La seguridad de las contraseñas depende principalmente de factores humanos que hacen que este tipo de autenticación sea vulnerable a ciberataques, lo cual constituye una gran preocupación.
Las claves SSH son una solución mejor y más práctica para el acceso y las operaciones remotas. Permiten conexiones más rápidas y automatización, ya que no tendrá que recordar ni introducir ninguna contraseña para los diferentes sistemas cliente. Además, la incorporación de la autenticación multifactor (MFA) junto con la autenticación mediante clave SSH puede mejorar significativamente la seguridad y la resiliencia de su sistema.
Sin embargo, la autenticación con contraseña no es mala; simplemente no es adecuada para el acceso remoto. Aun así, puedes usar contraseñas para proteger tu clave privada SSH y mayor seguridad.
| Autenticación de contraseña | Autenticación basada en clave SSH |
|---|---|
| Relativamente menos seguro y propenso a ataques. | Es más seguro ya que es extremadamente difícil descifrar la clave privada. |
| Más fácil y rápido de configurar. | Requiere generar pares de claves y configurar el servidor inicialmente. |
| No es eficiente para la automatización. | Buen soporte para scripts y servicios automatizados. |
| Es menos flexible cuando se trabaja con equipos grandes. | Relativamente más escalable y conveniente en organizaciones grandes. |
Explosión de claves SSH
Ahora que ya sabes por qué deberías preferir usar claves SSH, ten en cuenta que una mala gestión de claves SSH puede tener consecuencias . Las organizaciones generan, comparten y emiten una gran cantidad de pares de claves para todos sus dispositivos, lo que dificulta su manejo y administración. Esta acumulación de claves SSH sin gestionar se conoce como proliferación de claves SSH. En las grandes empresas, diversos factores como el rápido crecimiento de la infraestructura, la alta rotación de personal, la escalabilidad de las operaciones, la falta de una solución centralizada de gestión de claves, el uso de sistemas heredados y muchos más impulsan principalmente la proliferación de claves SSH.
La proliferación de claves SSH contribuye directamente a riesgos organizacionales significativos, especialmente en lo que respecta al incumplimiento de normativas como el RGPD , la CCPA, la PCI DSS , la HIPAA y muchas más. Las claves SSH no gestionadas pueden permitir que personas no autorizadas accedan a datos, violando el principio de mínimo privilegio y exponiendo potencialmente información confidencial, lo cual contraviene estas normativas.
En octubre de 2015, el NIST publicó la norma IR 7966 (Seguridad de la gestión de acceso interactivo y automatizado mediante Secure Shell), que incluye directrices específicas para ayudar a las organizaciones a gestionar y operar de forma segura el protocolo SSH. En ella se describen las vulnerabilidades del acceso basado en SSH y se ofrecen las mejores prácticas para proteger los datos personales.
Las organizaciones deben garantizar que solo ciertos usuarios puedan acceder a los sistemas para evitar la proliferación de claves. Según una encuesta de 2022, alrededor del 57 % de los encuestados consideraba que administrar claves SSH era complicado y difícil. Sin embargo, a medida que la población se ha vuelto más consciente de este problema, esta cifra se ha reducido significativamente hasta el 27 % en 2024.
Ahora bien, a pesar de este importante descenso, las claves SSH siguen representando una amenaza si no se gestionan con responsabilidad. Pero antes de analizar las mejores prácticas para su gestión, comprendamos varios factores que provocan su proliferación.
-
No hay gestión centralizada de claves
Muchas empresas suelen gestionar claves SSH que pueden estar almacenadas en diversas ubicaciones sin una gestión adecuada. Sin un sistema adecuado, se puede perder el rastro de las claves y comprometer la seguridad del sistema de acceso.
Según el informe "State of Machine Identity Management" de 2023, el 54 % no cuenta con un sistema centralizado y utiliza procesos manuales, como hojas de cálculo, para gestionar las claves SSH. Estos métodos de gestión manual de claves son propensos a errores humanos y requieren mucho tiempo. Ofrecen una escalabilidad limitada y son susceptibles a inconsistencias, lo que aumenta los riesgos de seguridad.
-
Generación de claves ad-hoc
Las claves SSH se pueden generar con relativa facilidad, y muchos usuarios pueden generarlas ad hoc sin seguir ningún procedimiento formal. Imagine a un desarrollador que genera rápidamente una clave SSH en su portátil para una conexión de prueba rápida a un servidor sin seguir las directrices establecidas de gestión de claves y utilizando una contraseña débil.
Esto aumentará el riesgo de vulneración y afectará la seguridad general de su sistema. La organización requiere una supervisión y políticas estrictas para controlar la usabilidad y accesibilidad de estas claves.
-
Prácticas de rotación de claves inseguras
Las claves SSH no caducan por defecto, por lo que pueden permanecer activas durante años incluso si ya no se necesitan. En ocasiones, las claves antiguas de antiguos empleados pueden seguir activas, o las claves creadas para proyectos específicos pueden permanecer incluso después de la finalización de dichos proyectos. Esto puede generar riesgos de seguridad, ya que puede resultar difícil para los administradores rastrear y eliminar estas claves SSH inactivas. Gestionar estas claves periódicamente es crucial para mantener un entorno seguro.
Situaciones como la proliferación de claves pueden tener graves consecuencias para la organización y suponer una amenaza para los datos de los usuarios. La proliferación de claves SSH aumenta el riesgo de filtraciones de datos y accesos no autorizados. Los atacantes también pueden moverse lateralmente dentro de una red, lo que les permite acceder a más sistemas y datos confidenciales.
Por ejemplo, si un atacante obtiene un par de claves SSH válido, no solo obtendrá acceso a la máquina remota, sino que también podrá instalar un programa de seguridad de la información que rastreará y capturará todas las pulsaciones de teclas, extraerá archivos, robará datos del navegador, cookies, datos de sesión y mucho más. Según el informe Tendencias de Ciberamenazas 2024 de Cisco, los programas de seguridad de la información tuvieron un bloqueo mensual promedio de alrededor de 246 millones.
Las claves SSH nunca caducan y deben revocarse explícitamente. Esto puede ser fácilmente explotado, por ejemplo, por un exempleado o un atacante, si no se gestiona de forma responsable. También puede enfrentarse a acciones legales y sanciones económicas debido a filtraciones de datos derivadas de la proliferación de claves, que pueden dañar la reputación de su empresa y minar la confianza de los clientes.
| Categoría | Mareas Ideales para Lecciones | Impacto en la organización |
|---|---|---|
| Incumplimiento de datos | Las claves SSH comprometidas pueden provocar acceso no autorizado a datos confidenciales, lo que resulta en violaciones de datos. | Sanciones financieras: Multas de organismos reguladores como GDPR, CCPA y PCI DSS. Daño reputacional: Pérdida de confianza del cliente, cobertura mediática negativa y daño a la imagen de marca. Accion legal: Demandas de personas afectadas y agencias reguladoras. |
| Falta de responsabilidad | La mala gestión de claves dificulta la capacidad de rastrear y auditar el acceso a sistemas y datos críticos. | Dificultad para el cumplimiento: Incapacidad de demostrar el cumplimiento de las regulaciones que exigen registros precisos del acceso a los datos y las medidas de seguridad. Mayor riesgo de auditoría: Mayor escrutinio por parte de auditores y reguladores, lo que podría conducir a hallazgos y recomendaciones que requieran importantes esfuerzos de remediación. |
| Protección de datos insuficiente | Las claves SSH no administradas pueden generar situaciones en las que los datos sean accesibles para personas que no deberían tener acceso, lo que viola el principio del mínimo privilegio. | Incumplimiento: Violación de las normativas de protección de datos como GDPR y CCPA. |
| Interrupciones operativas | Las claves comprometidas pueden interrumpir operaciones críticas, como el acceso al servidor, las implementaciones de aplicaciones y la conectividad de la red. | Interrupción del negocio: Pérdida de productividad, ingresos y servicio al cliente. Pérdidas financieras: Costos asociados con la respuesta a incidentes, la recuperación del sistema y la interrupción del negocio. |
Para comprender mejor los riesgos de la proliferación de claves SSH, analicemos una vulnerabilidad reciente descubierta en abril de 2024, CVE-2024-31497, en el cliente SSH PuTTY. Esta vulnerabilidad permitía a un atacante recuperar la clave secreta (privada) NIST P-521 de un usuario mediante la captura y el análisis de aproximadamente 60 firmas digitales . Esta vulnerabilidad se debe a un sesgo en la forma en que PuTTY genera secretos ECDSA al utilizar la curva elíptica NIST P-521. Por ejemplo, si una organización se enfrenta a una proliferación de claves y debe revocar las claves SSH existentes para solucionar la vulnerabilidad CVE-2024-31497, una respuesta y remediación rápidas serán un proceso largo.
Vulnerabilidades como esta suelen ser descubiertas por investigadores de seguridad mediante diversos métodos, como auditorías de código, fuzzing y pruebas de penetración. Los investigadores suelen buscar fallos de seguridad o problemas inesperados en el software. Cuando encuentran algo, suelen informar a la empresa de software. Esta analiza el problema, trabaja en una solución (o parche) y la distribuye a los usuarios. La rapidez con la que esto ocurre depende de la gravedad del problema y de la rapidez con la que la empresa pueda reaccionar. En el caso de vulnerabilidades graves, las empresas suelen priorizar la publicación de parches con prontitud para proteger a los usuarios de posibles explotaciones.
BUENAS PRÁCTICAS
Las claves SSH desempeñan un papel crucial tanto en la gestión de identidades como en la autenticación para un acceso remoto seguro. IAM (Gestión de Identidad y Acceso) proporciona los controles de seguridad fundamentales en cualquier empresa, es decir, el acceso y el control, y no hay mejor manera de proporcionar acceso a los usuarios que mediante claves SSH. Este enfoque simplifica la gestión de claves, reduce el riesgo de errores humanos y proporciona una forma más segura y eficiente de gestionar el acceso a sistemas y datos críticos.
Puedes evitar eficazmente la proliferación de claves SSH siguiendo los estándares preferidos del sector, que mejoran la visibilidad, el control y la seguridad de las claves SSH. Esto reduce el riesgo de ciberataques. Analicemos las mejores prácticas para proteger tus claves y sistemas SSH.
- Administración: Debe implementar una solución dedicada a la gestión de claves SSH que le ayude a gestionar, generar, almacenar, distribuir y revocar claves SSH, y a mejorar la eficiencia general de su negocio. El uso de estos sistemas automatizados para la generación y distribución de claves reducirá los errores e inconsistencias manuales.
- Monitoreo: La rotación regular de claves, ya sea mensual o trimestral, minimizará el impacto de las claves comprometidas y obsoletas. Debe eliminar las claves SSH no rastreadas y reemplazarlas por otras nuevas.
- Accesibilidad: Controlar los permisos de las claves SSH es muy importante, ya que solo los grupos de usuarios autorizados y específicos deben tener el privilegio de acceder a los servidores y máquinas remotos.
- Revisión de cuentas: Debe realizar controles de seguridad periódicos y auditorías para revisar los patrones de uso de claves SSH que ayudarán a su organización a identificar cualquier anomalía o actividad sospechosa.
- Sin codificación rígida: Evite utilizar contraseñas predeterminadas y codificar claves SSH en el código y los archivos de la aplicación, ya que esto puede crear una puerta trasera para los atacantes.
- Asignación de teclas: También puede asignar claves SSH a una persona en particular y no a una cuenta. De esta manera, evitará que varios usuarios accedan a la misma clave SSH y podrá supervisarla con mayor eficacia.
Conclusión
La proliferación de claves SSH puede generar diversos problemas para las organizaciones, como posibles filtraciones de datos , ineficiencias e interrupciones en las operaciones. También puede afectar negativamente la reputación de la organización. Cuando la gestión de claves no está bien controlada, a las empresas les resulta más difícil supervisar y administrar el acceso, lo que puede aumentar el riesgo de acceso no autorizado y la pérdida de información personal. Tomar medidas para gestionar la proliferación de claves es fundamental, ya que ayuda a proteger a las organizaciones de posibles problemas legales y financieros a largo plazo.
Las claves SSH también se utilizan como claves de firma, cruciales para verificar la integridad y autenticidad de los datos. Garantizan que los datos, como las confirmaciones de código, permanezcan inalterados y provengan de la fuente declarada. Por ejemplo, las claves SSH permiten firmar las confirmaciones de Git en GitHub, verificando la autenticidad e integridad de las confirmaciones al confirmar su origen por parte del usuario autenticado.
La solución CodeSign Secure de Encryption Consulting le proporcionará una plataforma sólida para gestionar todo el ciclo de vida de las claves SSH, automatizar los procesos de gestión de claves, mejorar la auditabilidad y reducir significativamente la carga de trabajo de los equipos de seguridad.
Ofrecemos servicios de asesoramiento especializado para ayudar a su organización a gestionar eficazmente las claves SSH. Nuestro equipo le ayudará a desarrollar una estrategia segura para la gestión de claves SSH, realizar auditorías periódicas, evaluaciones de vulnerabilidad y análisis de amenazas para mitigar los riesgos asociados a las claves SSH.
