Protección de la cuenta Root

NOTA: Aún no se completó la actualización de la versión en español a v2, sugerimos usar la versión en Inglés por ahora.

Evita el uso de root

Se recomienda evitar el uso del usuario root, y de la root account en escenarios multi-cuenta, salvo para los casos donde sea estrictamente necesario.

Dado que la root account no puede ser limitada en permisos, se recomienda ensobrarla (virtual o físicamente), y auditar los usos de la misma.

La recomendación es utilizar un Repositorio central de usuarios como AWS Directory Services (Active Directory/SimpleAD), Active Directory en EC2, Okta, PingIdentity, Azure Active Directory, OneLogin. Si actualmente no tiene un repositorio de usuarios, es preferible usar usuarios de IAM (IAM Users) que usar root hasta que se implemente el directorio, pero tenga en cuenta que los usuarios de IAM no son una buena práctica, ya que es posible que no se eliminen cuando el empleado sea desvinculado y las Access Keys asociadas a los usuarios de IAM son credenciales duraderas que debe rotar manualmente periódicamente.

Además de auditar el uso de la root account via AWS CloudTrail es recomendable generar alertas de uso con notificaciones de Amazon Simple Notification Service (SNS).

Limite el uso de root a tareas administrativas que requieren credenciales de root:

  • Gestión de usuarios - Emergencia
  • Opciones de pago
  • Cambiar el plan de soporte
  • Cambiar la Información de facturación
  • Actualizar la información de contacto…

Buenas prácticas adicionales para la cuenta root

  • Remueve las Access Keys (Nunca debe habilitar las claves de acceso en la cuenta root, ya que prácticamente no tienen restricciones, no está alineado al principio de mínimo privilegio)

Crear alertas para el uso de root: como se debe evitar el uso de root, le recomendamos configurar alertas cuando ocurra un login con root.

  • En entornos multi-cuenta, es aconsejable denegar todas las acciones de las cuentas root en las cuentas miembro utilizando AWS Control Tower o SCPs Deshabilitar la cuenta root usando Control Tower
 
{
  "Version": "2012-10-17",
  "Statement": [
    {
    "Sid": "RestrictRootOnMemberAccounts",
    "Effect": "Deny", 
    "Action": "*", 
    "Resource": "*", 
    "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::*:root" ]} }
    }
  ]
}     
  • La cuenta de administración (raíz de la organización) no se ve afectada por las Service Control Policies (SCPs), por lo tanto, es fundamental implementar MFA en la raíz de la cuenta de administración, idealmente con controles de dos personas, una que conozca la contraseña y otra que tenga acceso al dispositivo MFA. (idealmente un token de hardware o acceso al dispositivo con la aplicación TOTP/Authenticator). Asegurese de limitar quien tiene acceso fisico al segundo factor.

  • Al configurar MFA en la raíz, también fortalecerá los procedimientos de bypass del MFA (“Dispositivo MFA perdido o no funciona”). Ver también la recomendación Asignar contactos de seguridad

Cómo comprobarlo

Mitigación de riesgos

  • [Acceso a credenciales] Un usuario no autorizado que haya comprometido el servidor de correo de la organización puede intentar restablecer las contraseñas raíz para obtener acceso a sus cuentas de AWS, a menos que estén deshabilitadas o protegidas con MFA.
  • Responsabilidad: es más difícil para los investigadores identificar quién era root en un momento determinado.
  • Por definición, root no cumple con el privilegio mínimo; el uso diario/frecuente de root incrementa la probabilidad de que un usuario no autorizado obtenga esas credenciales y cause más daño que un usuario limitado.

Guía para evaluar su grado de alineación

  • ¿Usa root regularmente? ¿Tiene alguna clave de acceso configurada para los usuarios root?
  • ¿Usa algún tipo de bóveda para almacenar credenciales root? ¿Qué está usando?
  • ¿Todos los permisos en las cuentas raíz están bloqueados con AWS Control Tower o SCP?

Más detalle en la documentación: