Última actualización: 24 de abril de 2020
Las claves SSH (Secure shell) son credenciales de autenticación en el protocolo SSH. Técnicamente, son claves criptográficas responsables del cifrado, pero funcionalmente actúan de forma muy similar a las contraseñas. Dentro de una empresa, las claves SSH se utilizan principalmente para conceder acceso seguro a sistemas remotos. La autenticación basada en claves, comúnmente conocida como autenticación de clave pública, utiliza un par de claves, una clave pública y una clave privada, para autenticar a los usuarios en dispositivos remotos.
Las claves públicas o claves autorizadas son las responsables de conceder el acceso de inicio de sesión a los usuarios que acceden al sistema remoto. Podemos imaginar las claves autorizadas como cerraduras, que dan acceso a quienes poseen la llave, o clave, adecuada (en este caso, la clave privada correspondiente). Las claves autorizadas se configuran por separado para cada cuenta de usuario, y suelen estar presentes en el archivo .ssh/authorized_keys del directorio personal del usuario.
Las claves privadas o claves de identidad permiten a los usuarios autenticarse en un servidor SSH. Una clave privada es análoga a una llave real que, cuando coincide, puede abrir una o varias cerraduras. A diferencia de las claves públicas, las privadas deben custodiarse en un lugar seguro, pues de lo contrario podrían acabar en malas manos y provocar un uso indebido de los privilegios.
La autenticación de clave pública basada en SSH se consigue generando un par de claves distintas (una pública y otra privada) para establecer la conexión con sistemas remotos. El usuario que se autentique en el equipo remoto necesita poseer la clave privada, mientras que la clave pública debe colocarse en el sistema o sistemas de destino a los que el usuario quiera conectarse.
Así es como se produce el proceso de autenticación de claves SSH en segundo plano.
Antes de comenzar el proceso de autenticación de claves SSH, asegúrese de que tanto el cliente como el servidor tienen instalada una versión funcional de SSH. Una gran ventaja de la autenticación basada en claves es que, cuando se aplica correctamente, simplifica enormemente el proceso de autenticación y multiplica su seguridad.
En promedio, una gran organización alberga fácilmente alrededor de un millón de claves SSH. Y a pesar de la concienciación creada en torno a la mala gestión y los riesgos de las claves SSH, la mayoría de las empresas siguen un enfoque descentralizado para la creación y el uso de claves. Con el tiempo, esto se traduce en una proliferación de claves con mucha menos visibilidad sobre el alcance del acceso que proporciona cada clave. La mala gestión de las claves SSH puede traer problemas a las empresas de muchas maneras, incluyendo las siguientes:
Un aspecto delicado de estos ataques es que, dado que las claves SSH rara vez se rotan, seguirán estando en las manos equivocadas hasta que sean descubiertas de algún modo y se cancele su acceso.
La gestión de claves SSH es el proceso de proteger y automatizar el ciclo de vida de las claves SSH distribuidas en una empresa, desde su creación hasta su implementación en los endpoints necesarios, el inicio de sesiones remotas, el monitoreo de las asignaciones clave-usuario, la rotación de claves y la eliminación periódica de las claves no utilizadas o no deseadas. Las claves SSH pertenecen a la categoría de activos digitales cruciales que se gestionan constantemente mal. La implementación de un proceso de gestión bien definido ayuda a las empresas a obtener una visibilidad completa de su entorno SSH y a evitar el uso indebido de privilegios derivados del acceso no autorizado a claves SSH.
Ahora viene la siguiente pregunta obvia: ¿Por dónde empezar?
Estos son algunos pasos que le ayudarán a empezar con el proceso de gestión de claves SSH.
El primer paso en la gestión de sus claves SSH es descubrir las claves existentes dentro de su red y consolidarlas en un repositorio centralizado.
Una vez que haya reunido todas sus claves SSH en un único lugar, tiene que trazar las relaciones de confianza existentes para que se haga una idea clara del grado de acceso que concede cada clave. A continuación, tiene que establecer la asignación clave-usuario, que le ayudará a identificar el número de usuarios de su red que tienen acceso root a cuentas privilegiadas.
Ahora que tiene una visibilidad completa sobre su entorno SSH, analice y elimine las claves SSH que ya no estén en uso. La mejor práctica en este caso es empezar de nuevo borrando todas las claves SSH asociadas a las distintas cuentas de usuario de la red y sustituirlas por pares de claves recién creados.
Para la generación de claves, se recomienda encarecidamente agilizar el proceso mediante la administración de un marco centralizado que solo permita a los usuarios con privilegios específicos crear e implementar claves en los sistemas de su red. De este modo, tendrá la ventaja en las relaciones de confianza dentro de su organización y podrá mantener a raya la proliferación de claves SSH.
Una vez que se han implementado pares de claves nuevos en los sistemas de destino, es importante definir permisos para cada clave en función de los roles de usuario, es decir, restricciones sobre el host desde el que se puede utilizar la clave y qué comandos puede ejecutar la clave.
La rotación de claves SSH es la práctica de deshacerse de la asociación clave-usuario SSH existente e implementar nuevos pares de claves de vez en cuando para combatir el desafortunado caso de que la clave SSH se vea comprometida. Tanto las claves autorizadas (colocadas en los sistemas de destino) como las claves de identidad deben rotarse periódicamente para evitar posibles abusos de privilegios.
Establezca un mecanismo de auditoría a prueba de manipulaciones para realizar un control de todas las actividades de los usuarios relacionadas con claves SSH y generar informes categorizados. Esto mejorará la sensibilidad y legibilidad de los datos recopilados y ayudará a los administradores a tomar decisiones empresariales con conocimiento de causa.
Cuando se trata de la implementación práctica y la eficiencia operativa, estos pasos son más fáciles de decir que de hacer. ¡Imagine la carga de trabajo que supone para el administrador de TI tener que realizar todas las operaciones mencionadas para un millón de claves SSH en su entorno! La mejor forma de conseguirlo es mediante la automatización, implementando una solución de gestión de claves SSH centralizada que pueda hacer todo el trabajo pesado por usted.
Key Manager Plus, la solución web de gestión de claves SSH y certificados SSL de ManageEngine, le ayuda a descubrir, consolidar, crear, implementar, rotar y controlar las claves SSH desde una única consola. Se trata de una solución todo en uno que proporciona a los administradores de TI una visibilidad y un control completos de sus entornos SSH, facilita la gestión y les ayuda a evitar infracciones y problemas de cumplimiento.
Si desea más información, envíe un correo electrónico a keymanagerplus-support@manageengine.com ¡y nuestros expertos en productos se pondrán en contacto con usted de inmediato!