El protocolo Secure Shell (SSH) es un método seguro de acceso a sistemas y dispositivos remotos, autenticación y cifrado.
Aunque SSH utiliza criptografía de clave pública, tradicionalmente funciona independientemente de la Infraestructura de Clave Pública (PKI) a menos que se amplíe con mecanismos de autenticación basados en certificados. PKI puede ayudar a las organizaciones a gestionar identidades digitales y de máquinas mediante certificados SSH que autentican a usuarios y dispositivos para tareas críticas como copias de seguridad automatizadas, transferencias de archivos, administración remota de servidores y flujos de trabajo DevOps.
Con el creciente número de tecnologías y arquitecturas remotas basadas en la nube, las claves SSH son vitales para asegurar el acceso en entornos automatizados.
Las claves SSH suelen considerarse más seguras que las contraseñas para estas tareas administrativas y automatizadas. Disponen de criptografía de clave pública-privada y suelen ser bastante más largas que las contraseñas, lo que las hace mucho más difíciles de forzar.
Sin embargo, las ciberamenazas son cada vez más sofisticadas, lo que pone de manifiesto vulnerabilidades comunes de las claves SSH como la duplicación no autorizada y la mala gestión del ciclo de vida. Para proteger realmente las máquinas y las identidades digitales, las organizaciones deben ir más allá de la gestión manual de claves SSH.
El problema de las claves SSH
Las claves SSH son identidades digitales críticas utilizadas para el acceso remoto seguro, las transferencias de archivos y los flujos de trabajo automatizados. Sin embargo, plantean importantes retos en materia de seguridad y gobernanza. Los principales retos que plantean las claves son:
- Sin ciclo de vida definido: A diferencia de los certificados, las claves no caducan por defecto y carecen de mecanismos integrados de revocación o renovación, lo que las hace propensas a la dispersión y el uso indebido a largo plazo. Si un atacante se hace con el control de una clave que se utilizó hace décadas y nunca se dio de baja, podría seguir obteniendo el mismo nivel de acceso al sistema.
- Gestión descentralizada: Las claves privadas SSH se almacenan localmente en los dispositivos. Si claves privadas no están protegidasson susceptibles de copia, replicación y uso no autorizado, especialmente para acceso privilegiado.
- Visibilidad limitada: La mayoría de las organizaciones carecen de una visión completa de dónde se almacenan sus claves y cómo se utilizan. Esta carencia permite la proliferación de claves y crea oportunidades para que personas malintencionadas o despliegues mal gestionados exploten las claves no gestionadas.
- Cargas del control manual: Muchos equipos siguen dependiendo de procedimientos manuales ad hoc para descubrir, rotar y revocar claves. Este enfoque no se adapta a los entornos modernos y a menudo genera puntos ciegos operativos.
Si no se abordan estos retos, las identidades SSH no gestionadas introducen riesgos significativos en su entorno de confianza digital, socavando la integridad de los procesos de autenticación de máquinas y usuarios.
El riesgo es aún mayor para las claves SSH que tenían acceso root o de administrador, ya que pueden actuar como una puerta trasera que permita a los atacantes emitir ellos mismos nuevas claves de confianza que su organización desconoce.
Cómo Keyfactor automatiza la gestión de claves SSH
Los certificados SSH (SSH certs) abordan los riesgos inherentes de las claves SSH introduciendo automatización del ciclo de vida y fechas de caducidad incorporadas, minimizando la proliferación de claves a largo plazo y aplicando una rotación periódica.
Sin embargo, sigue siendo vital que las empresas realicen una detección exhaustiva de certificados para crear un inventario completo de todos ellos. Al igual que ocurre con las claves, las empresas que no conocen a fondo su inventario de certificados (normalmente debido a una gestión manual de los mismos) asumen un gran riesgo si esos certificados desconocidos se utilizan indebidamente.
Las ventajas de los certificados SSH y la automatización del ciclo de vida incluyen:
- A modelo de confianza centralizado en el que los certificados SSH dependen de una autoridad de certificación (CA) para firmar y validar identidades. Esto reemplaza la naturaleza descentralizada de las claves y unifica las decisiones de confianza bajo una autoridad.
- Auditoría e informes mejorados mediante metadatos estandarizados adjuntos a cada identidad, lo que favorece la visibilidad, el cumplimiento y la gobernanza en toda su infraestructura. Las capacidades mejoradas de metadatos de los certificados también permiten políticas de acceso condicional más granulares.
- Escalabilidad y automatización, porque los certificados SSH se integran fácilmente con la automatización y las soluciones de seguridad centralizadas, reduciendo los errores manuales y alineándose con los flujos de trabajo DevOps modernos. Con el aumento de la dependencia de la nube y la arquitectura interconectada, la capacidad de escalar y automatizar la gestión de certificados evita que estos caduquen o proporcionen acceso no autorizado.
- Reducción del riesgo de robo ya que las ventanas de rotación estandarizadas de los certificados SSH mantienen los certificados actualizados, lo que ayuda a su empresa a garantizar la gobernanza y reducir los riesgos de que la clave privada se vea comprometida.
La misión de Keyfactores asegurar todas las máquinas e identidades digitales, posicionando la gestión de identidades SSH, ya sea a través de claves o certificados, como un componente vital de su estrategia más amplia de confianza digital.
Keyfactor Command's Gestor de claves SSH de Keyfactor Command ayuda a las organizaciones que aún utilizan claves a centralizar el descubrimiento, la supervisión y la rotación. Esto ayuda a identificar y cerrar cualquier brecha de seguridad potencial en sus claves. Mientras tanto, la plataforma EJBCA de Keyfactortambién soporta la automatización de certificados SSH.
Buenas prácticas para la seguridad de las claves SSH y el control de acceso
Los controles y políticas de acceso aumentarán la seguridad general de su PKI y, por tanto, de su organización. Además de utilizar herramientas como Command o EJBCA para claves SSH seguras o sustituirlas por certificados SSH, le recomendamos
- Imponga el acceso de mínimo privilegio asignando sólo el nivel mínimo de acceso SSH requerido para cada usuario o dispositivo. Esto garantiza que solo los administradores directamente responsables de la configuración y los cambios que afectan a su arquitectura tengan acceso para hacerlo.
- Implemente el control de acceso basado en roles (RBAC) y limite el acceso SSH por dirección IP o grupo de usuarios.
- Deshabilite el inicio de sesión root directo a través de SSH. En su lugar, aproveche los privilegios sudo para las tareas de administración.
- Documente las políticas de gestión de identidades SSH, incluidas las directrices del ciclo de vida para la creación, aprobación, caducidad y revocación de claves y certificados. Incluya políticas para responder a posibles accesos no autorizados y otras ciberamenazas.
- Garantizar que las políticas de acceso se ajustan a ISO 27001 y otros marcos normativos centrados en la seguridad de los datos sensibles y las identidades digitales.
Control y auditoría
Sólo puede asegurarse de que sus políticas y controles protegen su organización supervisando y auditando la actividad SSH.
- Habilite un registro exhaustivo de los intentos de acceso SSH, capturando qué identidades (claves o certificados) se utilizan, cuándo y desde dónde. Si se produce algún intento de acceso fuera de su uso normal, marque el acceso para su revisión inmediata y la posible revocación de la clave.
- Centralice la recopilación de registros con herramientas como syslog, Splunk o ELK Stack para detectar y responder a actividades SSH sospechosas.
- Establezca alertas para actividades SSH inusuales, como inicios de sesión fuera de horario, desde nuevas IP o con identidades recién aprovisionadas.
- Revisar periódicamente los archivos de claves y certificados autorizados para confirmar que sólo siguen en uso las identidades aprobadas y retirar las no utilizadas o no autorizadas.
- Utilice el seguimiento automatizado de identidades para localizar identidades SSH obsoletas, inactivas o huérfanas, garantizando una rotación y retirada del servicio coherentes.
Seguridad avanzada de identidades SSH
A medida que evolucionan las amenazas, también lo hacen los métodos que debe utilizar para proteger sus identidades SSH. Le recomendamos:
- Cifre las claves SSH privadas con frases de contraseña seguras para protegerse de los ataques de fuerza bruta. Las contraseñas de más de 14 caracteres suelen considerarse seguras.
- Almacena de forma segura las claves descifradas durante una sesión para equilibrar usabilidad y seguridad. Las claves nunca deben dejarse "al descubierto" mientras están descifradas.
- Utilice hardware almacenamiento de identidades hardware(como YubiKeys, TPM o tarjetas inteligentes) para generar y proteger claves privadas SSH de forma no exportable. Estas claves pueden utilizarse para solicitar y autenticar certificados SSH. Junto con la biometría, las herramientas de almacenamiento de identidad hardware dificultan considerablemente a los atacantes la explotación de claves o certificados.
- Aplique políticas que limiten la autenticación SSH a identidades SSH hardware o efímeras, especialmente para cuentas privilegiadas y entornos sensibles.
La seguridad moderna de las identidades SSH comienza con la automatización
Para las grandes empresas que gestionan miles, o decenas de miles, de identidades y claves y certificados SSH asociados, la gestión manual de claves SSH simplemente no es escalable. Es fácil perder la pista de las claves o no revocarlas, lo que pone en peligro a la organización y hace que los equipos de seguridad tengan que responder a claves falsas en lugar de tomar medidas de seguridad más proactivas.
Las organizaciones deben dar prioridad al cambio de claves SSH a certificados SSH para garantizar un acceso SSH seguro y controlado durante todo su ciclo de vida. La automatización y los modelos de confianza centralizados, como los que permiten Keyfactor Command y EJBCA, son fundamentales para proteger las identidades digitales y mantener el cumplimiento en un entorno de TI moderno.
Trate la gestión de identidades SSH como un elemento central de su estrategia de confianza digital y seguridad de identidades de máquinas. Implemente políticas avanzadas de seguridad de claves e identidades SSH, y automatice con herramientas de confianza siempre que sea posible.
¿Desea controlar la seguridad de su clave SSH? Utilice Keyfactor Command para automatizar la rotación de claves, la aplicación y la gestión del ciclo de vida sin la molestia manual. Obtenga respuesta a todas sus preguntas aquí.