Por qué el usuario root de una cuenta AWS es peligroso - Filosofía de diseño de separación de privilegios y práctica de sellado
Explicamos por qué el usuario root de AWS tiene privilegios que IAM no puede restringir, la lista de operaciones que solo el usuario root puede realizar, cómo configurar MFA y la estrategia de sellado mediante la gestión de acceso root de Organizations.
Los privilegios del usuario root - IAM no puede restringirlos
El usuario root de una cuenta AWS tiene acceso completo a todos los recursos dentro de esa cuenta. No puede restringirse con políticas IAM. Ni las políticas Deny de IAM ni las Service Control Policies (SCP) pueden limitar los permisos del usuario root. Las SCP se aplican al usuario root de cuentas miembro, pero no al usuario root de la cuenta de gestión. Esta es una decisión de diseño intencional. El usuario root es el "propietario" de la cuenta y debe poder recuperar el control incluso cuando las políticas IAM están mal configuradas. Sin embargo, este mismo poder lo convierte en el mayor riesgo de seguridad de la cuenta.
Operaciones que solo el usuario root puede realizar
La razón por la que el usuario root no puede sellarse completamente es que existen operaciones que solo él puede ejecutar. Los cambios de configuración de la cuenta (nombre de cuenta, dirección de correo electrónico, cambio de contraseña) solo pueden realizarse con el usuario root. El cambio de plan de soporte de AWS también requiere el usuario root. Si se deniega explícitamente el acceso de todos en una política de bucket de S3, solo el usuario root puede modificar esa política de bucket. El cierre de la cuenta AWS también es una operación exclusiva del root. La restauración de permisos cuando una política IAM se configura incorrectamente y bloquea a todos los usuarios también requiere el usuario root. Estas operaciones son poco frecuentes pero críticas, por lo que el usuario root debe mantenerse disponible pero estrictamente protegido.
MFA del usuario root - La llave de hardware es la más fuerte
Es obligatorio configurar MFA (autenticación multifactor) para el usuario root. Un usuario root sin MFA puede iniciar sesión solo con dirección de correo electrónico y contraseña, siendo vulnerable a phishing y ataques de listas de contraseñas. Hay 3 tipos de dispositivos MFA. Los dispositivos MFA virtuales (Google Authenticator, Authy, etc.) son los más convenientes pero conllevan el riesgo de perder acceso por pérdida o avería del smartphone. Las llaves de seguridad FIDO2 (YubiKey, etc.) son dispositivos de hardware que proporcionan la autenticación más fuerte y son resistentes a phishing. Los dispositivos MFA de hardware (tipo token) generan códigos de un solo uso sin conexión a red. Para el usuario root, se recomienda una llave de seguridad FIDO2 como MFA principal y un dispositivo MFA virtual como respaldo, almacenados en una caja fuerte física.
Gestión centralizada de acceso root mediante Organizations
Si se utiliza AWS Organizations, la función de "gestión centralizada de acceso root" introducida en 2024 permite eliminar las credenciales del usuario root de las cuentas miembro. Al habilitar esta función, se eliminan la contraseña y MFA del usuario root de las cuentas miembro, haciendo imposible el inicio de sesión como usuario root. Cuando se necesita una operación que solo el root puede realizar (como la corrección de una política de bucket de S3), se puede ejecutar una "sesión root privilegiada" temporal desde la cuenta de gestión. Esta sesión tiene un tiempo de expiración y se registra en CloudTrail, proporcionando auditabilidad. Esta función es la mejor práctica actual para el sellado del usuario root.
Monitoreo del usuario root - Detección inmediata si se usa
Si se usa el usuario root, eso en sí mismo es una situación anormal. Si se ha establecido una operación donde el usuario root no se usa en el trabajo diario, un inicio de sesión del usuario root sugiere la posibilidad de acceso no autorizado. CloudTrail registra todas las llamadas API del usuario root. Se configura un filtro de métricas en CloudWatch Logs para detectar llamadas API del usuario root, y se configura una alarma de CloudWatch para notificación inmediata vía SNS. EventBridge también puede detectar eventos de inicio de sesión del usuario root y activar una función Lambda para respuesta automática. Se recomienda configurar alertas para que cualquier uso del usuario root se notifique inmediatamente al equipo de seguridad. Para aprender mejores prácticas de seguridad de AWS, los libros especializados (Amazon) son una buena referencia.