Seguridad SSH Empresarial: OS Login y Gestión de Claves
Autor: Eduardo Martínez Agrelo
Acceder a un servidor Linux mediante SSH es una tarea cotidiana. Sin embargo, en un entorno empresarial con cientos de servidores y decenas de ingenieros, el método tradicional de copiar claves públicas y privadas (archivo authorized_keys) se convierte en una pesadilla de seguridad. ¿Qué pasa cuando un empleado deja la empresa? Tienes que rotar las claves en todas las máquinas. En el examen Associate Cloud Engineer, la solución correcta a este problema se llama OS Login.
El Problema de las Claves SSH Estáticas
El enfoque "antiguo" o manual tiene riesgos:
- Descentralización: No sabes quién tiene acceso a qué máquina en tiempo real.
- Claves Huérfanas: Las claves de ex-empleados suelen quedarse olvidadas en los servidores.
- Falta de Auditoría: Es difícil saber quién ejecutó un comando
sudoespecífico.
La Solución: OS Login (Vinculando Linux con IAM)
OS Login conecta el mecanismo de autenticación de Linux (PAM) con el directorio de usuarios de Google Cloud (IAM). Esto transforma la gestión de acceso:
- Identidad Única: Tu usuario de Linux ya no es
rootoubuntu, sino una cuenta vinculada a tu email (ej.juan_empresa_com). - Revocación Instantánea: Si borras al usuario del IAM de Google Cloud, pierde acceso SSH a todas las máquinas inmediatamente.
- 2FA: Puedes forzar la autenticación de dos factores para entrar por SSH.
Roles IAM Críticos para el Examen
Para que OS Login funcione, no basta con activarlo. El usuario necesita permisos IAM específicos. Memoriza estos dos roles:
roles/compute.osLogin: Permite conectarse por SSH, pero sin permisos de administrador (no puede usarsudo).roles/compute.osAdminLogin: Permite conectarse y ejecutar comandos con privilegios de root (sudo).
Activación mediante Metadata
En este ejercicio, aprendemos a activar esta característica a nivel de proyecto (para que aplique a todas las VMs) o a nivel de instancia individual. La clave está en los metadatos:
enable-oslogin = TRUE
Una vez configurada esta bandera, el comando gcloud compute ssh negocia las claves automáticamente con Google, sin que tú tengas que generar archivos id_rsa manualmente.
Conclusión: Auditoría y Control
Al finalizar este ejercicio, habrás configurado un entorno donde el acceso a los servidores está centralizado en IAM. Has eliminado la necesidad de gestionar archivos de texto con claves criptográficas y has elevado la postura de seguridad de tu infraestructura, cumpliendo con las mejores prácticas de Google.