No usar contraseñas en Linux nunca ha sido un paseo por el parque. Anteriormente cubrimos la historia y evolución de la autenticación SSH, por qué debería dejar de usar claves SSH y cómo los certificados SSH funcionan, pero pensé que ya era hora de volver a abordar el tema. Profundicemos…
“Las contraseñas son un problema” ha sido un eslogan entre la comunidad PKI desde hace años. Aquí en Keytos usamos con orgullo nuestras camisetas “TENGO #ZEROTRUST EN CONTRASEÑAS” en casi todos los eventos a los que asistimos. Teniendo esto en cuenta, no debería sorprender que los desarrolladores hayan estado buscando “dejar de tener contraseñas” durante décadas. Sin embargo, lo que comenzó como una empresa bien intencionada pronto se convirtió en una pesadilla operativa. El uso de claves SSH para autenticar simplemente no era escalable y, en última instancia, generaba mayores vulnerabilidades. En esta publicación en particular, lo pondremos al día sobre el tema relacionado con Linux, que todos sabemos es un verdadero dolor de cabeza en…ya-sabe-qué.
Tatu Ylonen, el inventor de SSH, mencionó que en su experiencia ha visto entre 50-200 claves por servidor, de las cuales el 90% no se utilizan. Hablando de negocios arriesgados, no me refiero a la exitosa película de Tom Cruise.
¿Recuerdas en 2018 cuando Cisco fue hackeado? Aquí está el TL;DR: Fueron hackeados por un ex empleado usando una clave quienes luego eliminaron un montón de cosas y les costó millones de dólares arreglarlas. Un espectáculo de mierda total. Perdón por mi francés.
Además, recuerde cuando Facebook tuvo la amabilidad de escribir un documento técnico, dándonos acceso a sus procesos, delinear el problema general y demostrar cómo las organizaciones más grandes estaban comenzando a resolver el problema utilizando certificados? Muy amables por su parte, pero no del todo prácticos para el profesional de seguridad cotidiano.
Así como Facebook, nos mudamos de llaves ssh a los certificados ssh por diversas razones, empezando por la escalabilidad. Las cosas se hicieron más grandes. La gestión de claves era demasiado manual. En pocas palabras, los certificados hacen más que claves. Contienen/capturan metadatos, pueden tener tiempos de caducidad y funcionan con una autoridad de certificación, lo que reduce exponencialmente el riesgo de acceso no autorizado. ¿Capice? Sigue leyendo para un poco más de detalle.
La autenticación de certificados se basa en una Autoridad de certificación (CA) para firmar claves SSH. El servidor confía en cualquier clave SSH firmada por una CA confiable, lo que simplifica el proceso de administración de claves. La clave de CA se agrega a un archivo “trusted_ca_keys.pub” en el servidor y el archivo sshd_config se modifica para reconocer el archivo trusted_ca_keys.pub como la fuente de verdad para las CA SSH. Luego, los ingenieros solicitan sus propios certificados a la CA, que los firma con propiedades específicas como clave pública, ID de clave, principios válidos, período de validez, clave de firma y firma.
Solo es necesario agregar una clave (clave CA) a cada servidor. Las claves SSH del usuario tienen fecha de vencimiento. La CA puede proporcionar acceso suficiente (JEA) a los usuarios. Es más fácil correlacionar cada clave con su propietario. Reducción de la exposición al robo de claves SSH debido a una mala gestión de claves. Incorporación de usuarios más rápida. Proteja las claves de CA con un Módulo de seguridad de hardware (HSM), si es posible.
Respuesta corta: todos los ingenieros de seguridad del planeta Tierra que buscan proteger su entorno Linux. Los certificados SSH ofrecen una solución a estos desafíos y son un componente clave de la autenticación sin contraseña en Linux. Se pueden emitir con una fecha de vencimiento y los puntos finales de Linux los admiten de forma nativa. Al agregar una autoridad de certificación (CA) SSH al archivo de CA confiable, todos los certificados emitidos por esa CA que coincidan con los requisitos de la máquina otorgarán acceso, eliminando la necesidad de agregar y eliminar cada usuario en cada punto final. La gestión centralizada reduce los costos operativos, mejora la gestión de riesgos y mejora la seguridad al minimizar la exposición a claves comprometidas o claves de ex empleados.
Si desea utilizar certificados SSH pero no quiere la sobrecarga de administrar manualmente su autoridad de certificación SSH, EZSSH es una solución basada en SSH. certificados y automatización segura que mejora la seguridad, mejora la experiencia del usuario y no requiere agente. Elimina por completo los desafíos operativos asociados con las claves y certificados SSH de la vieja escuela mediante la implementación de la automatización. EZSSH gestiona claves privadas efímeras para los usuarios y proporciona registros de auditoría fáciles de consumir.
En resumen, EZSSH mejora las bases de SSH al utilizar certificados SSH administrados centralmente, automatizar la administración de claves SSH y brindar una solución segura, escalable y fácil de usar para no usar contraseñas en Linux.