Directivas de auditoría de seguridad de AWS - AWS Identity and Access Management

Directivas de auditoría de seguridad de AWS

De manera periódica, audite su configuración de seguridad para asegurarse de que satisface sus necesidades de negocio actuales. Una auditoría le ofrece la oportunidad de eliminar los usuarios, los grupos, los roles y las políticas de IAM innecesarios y de asegurarse de que los usuarios y el software no posean demasiados permisos.

A continuación encontrará las directrices para revisar y monitorizar sistemáticamente los recursos de AWS en aplicación de las prácticas recomendadas de seguridad.

sugerencia

Puede monitorear el uso de IAM en relación con las prácticas recomendadas de seguridad con AWS Security Hub. Security Hub utiliza controles de seguridad para evaluar las configuraciones de los recursos y los estándares de seguridad para ayudarle a cumplir varios marcos de conformidad. Para obtener más información sobre el uso de Security Hub para evaluar recursos de IAM, consulte controles de AWS Identity and Access Management en la Guía del usuario de AWS Security Hub.

Cuándo se debe realizar una auditoría de seguridad

Audite su configuración de seguridad en las siguientes situaciones:

  • En forma periódica. Realice los pasos que se describen en este documento a intervalos regulares como práctica recomendada de seguridad.

  • Si se producen cambios en su organización; por ejemplo, si se marchan personas.

  • Si ha dejado de usar uno o más servicios de AWS individuales para comprobar que ha eliminado los permisos que los usuarios de su cuenta ya no necesitan.

  • Si ha agregado o eliminado software en las cuentas, como aplicaciones en instancias de Amazon EC2, pilas de AWS OpsWorks, plantillas de AWS CloudFormation, etc.

  • Si sospecha que una persona no autorizada podría haber accedido a su cuenta.

Directrices para la auditoría

Al revisar la configuración de seguridad de su cuenta, siga estas directrices:

  • Sea exhaustivo. Fíjese en todos los aspectos de su configuración de seguridad, incluidos aquellos que casi nunca se utilizan.

  • No haga suposiciones. Si no conoce bien algún aspecto de la configuración de seguridad (por ejemplo, los motivos para una determinada política o la existencia de un rol), investigue la necesidad de negocio hasta entender el riesgo potencial.

  • Simplifique. Para facilitar la auditoría (y la administración), utilice grupos de IAM, roles de IAM, esquemas de nomenclatura coherentes y políticas sencillas.

Revisión de las credenciales de su cuenta de AWS

Siga estos pasos al auditar las credenciales de su cuenta de AWS:

  1. Si tiene claves de acceso para el usuario raíz que no está utilizando, puede eliminarlas. Recomendamos encarecidamente no utilizar las claves de acceso raíz para el trabajo cotidiano con AWS. En cambio, utilice usuarios con credenciales temporales, como usuarios en AWS IAM Identity Center.

  2. Si necesita claves de acceso para su cuenta, asegúrese de actualizarlas cuando sea necesario.

Revisión de los usuarios de IAM

Siga estos pasos al auditar sus usuarios de IAM existentes:

  1. Enumere los usuarios y, a continuación, elimine los usuarios que no se necesitan.

  2. Elimine los usuarios de los grupos a los que no necesitan acceso.

  3. Revise las políticas adjuntas a los grupos a los que pertenece el usuario. Consulte Sugerencias para revisar las políticas de IAM.

  4. Elimine las credenciales de seguridad que el usuario no necesite o que se hayan visto expuestas. Por ejemplo, un usuario de IAM que se utiliza para una aplicación no necesita una contraseña (que solo es necesaria para iniciar sesión en los sitios web de AWS). Del mismo modo, si un usuario ya no utiliza las claves de acceso, no hay motivo para que las tenga. Para obtener más información, consulte Administración de las contraseñas de los usuarios de IAM y Administración de claves de acceso de los usuarios de IAM.

    Puede generar y descargar un informe de credenciales que contenga una lista de todos los usuarios de IAM de su cuenta y el estado de sus credenciales, tales como contraseñas, claves de acceso y dispositivos MFA. Para las contraseñas y claves de acceso, el informe de credenciales muestra la fecha y hora en que se ha utilizado la contraseña o la clave de acceso por última vez. Considere la posibilidad de eliminar de su cuenta las credenciales que no se hayan utilizado recientemente. (No elimine su usuario de acceso de emergencia). Para obtener más información, consulte Obtención de informes de credenciales para la cuenta de AWS.

  5. Actualice las contraseñas y claves de acceso cuando sea necesario para los casos de uso que requieren credenciales a largo plazo. Para obtener más información, consulte Administración de las contraseñas de los usuarios de IAM y Administración de claves de acceso de los usuarios de IAM.

  6. Como práctica recomendada, exija a los usuarios humanos que utilicen la federación con un proveedor de identidades para acceder a AWS con credenciales temporales. Si es posible, haga la transición de usuarios de IAM a usuarios federados, como los usuarios de IAM Identity Center. Retenga la cantidad mínima de usuarios de IAM necesarios para sus aplicaciones.

Revisión de los grupos de IAM

Siga estos pasos al auditar los grupos de IAM:

  1. Enumere los grupos y, a continuación, elimine los grupos que no utiliza.

  2. Revise los usuarios de cada grupo y elimine los usuarios que no les pertenecen.

  3. Revise las políticas adjuntas al grupo. Consulte Sugerencias para revisar las políticas de IAM.

Revisión de los roles de IAM

Siga estos pasos al auditar los roles de IAM:

  1. Enumere los roles y, a continuación, elimine los roles que no utiliza.

  2. Revise la política de confianza del rol. Asegúrese de saber quién es la entidad principal y de entender por qué esa cuenta o ese usuario necesitan poder asumir el rol.

  3. Revise la política de acceso del rol para asegurarse de que conceda permisos adecuados a quien asuma ese rol; consulte Sugerencias para revisar las políticas de IAM.

Revisión de los proveedores de IAM; para SAML y OpenID Connect (OIDC)

Si ha creado una entidad de IAM para establecer una relación de confianza con un proveedor de identidades (IdP) SAML u OIDC, siga estos pasos:

  1. Elimine los proveedores que no se utilicen.

  2. Descargue y revise los documentos de metadatos de AWS de cada IdP SAML y asegúrese de que reflejen las necesidades de negocio actuales.

  3. Obtenga los últimos documentos de metadatos de los proveedores de identidades SAML y actualice el proveedor en IAM.

Revisión de las aplicaciones móviles

Si ha creado una aplicación móvil que realiza solicitudes a AWS, siga estos pasos:

  1. Asegúrese de que la aplicación móvil no contenga claves de acceso integradas, incluso si están en el almacenamiento cifrado.

  2. Obtenga credenciales temporales para la aplicación mediante el uso de API diseñadas para ello.

nota

Recomendamos utilizar Amazon Cognito para administrar la identidad de los usuarios en su aplicación. Este servicio permite autenticar a los usuarios mediante Login with Amazon, Facebook, Google o cualquier proveedor de identidad compatible con OpenID Connect (OIDC). Para obtener más información, consulte Grupos de identidades de Amazon Cognito en la Guía para desarrolladores de Amazon Cognito.

Sugerencias para revisar las políticas de IAM

Las políticas son potentes y sutiles, por lo que es importante estudiar y comprender los permisos que concede cada una de ellas. Utilice las siguientes directrices al revisar las políticas:

  • Asocie políticas a grupos o roles en lugar de asociarlos a usuarios individuales. Si un usuario individual tiene una política, asegúrese de comprender por qué ese usuario la necesita.

  • Asegúrese de que los usuarios, grupos y roles de IAM tengan los permisos que necesitan y no tengan ningún permiso adicional.

  • Utilice el simulador de política de IAM para probar las políticas asociadas a usuarios o grupos.

  • Recuerde que los permisos de usuario son el resultado de todas las políticas aplicables basadas en identidad (en usuarios, grupos o roles) y basadas en recursos (en recursos como buckets de Amazon S3, colas de Amazon SQS, temas de Amazon SNS y claves de AWS KMS). Es importante examinar todas las políticas aplicables a un usuario y comprender el conjunto completo de permisos concedidos a un usuario individual.

  • Tenga en cuenta que permitir que un usuario cree un usuario, grupo, rol o política de IAM y asociar una política a la entidad principal equivale, en la práctica, a conceder a ese usuario todos los permisos sobre todos los recursos de su cuenta. Los usuarios que pueden crear políticas y asociarlas a usuarios, grupos o roles se pueden conceder a sí mismos cualquier permiso. En general, no conceda permisos de IAM a los usuarios o roles en los que no confía lo suficiente para que dispongan de pleno acceso a los recursos de su cuenta. Al realizar la auditoría de seguridad, confirme que se conceden los siguientes permisos de IAM a las identidades de confianza:

    • iam:PutGroupPolicy

    • iam:PutRolePolicy

    • iam:PutUserPolicy

    • iam:CreatePolicy

    • iam:CreatePolicyVersion

    • iam:AttachGroupPolicy

    • iam:AttachRolePolicy

    • iam:AttachUserPolicy

  • Asegúrese de que las políticas no concedan permisos para servicios que no se utilizan. Por ejemplo, si utiliza políticas administradas de AWS, asegúrese de que las políticas administradas de AWS que están en uso en su cuenta sean para servicios que utilice realmente. Para saber qué políticas administradas de AWS se utilizan en su cuenta, utilice la API GetAccountAuthorizationDetails de IAM (comando de AWS CLI: aws iam get-account-authorization-details).

  • Si la política concede a un usuario permiso para lanzar una instancia de Amazon EC2, también podría permitir la acción iam:PassRole, pero, en este caso, debería enumerar de forma explícita los roles que el usuario puede pasar a la instancia de Amazon EC2.

  • Examine todos los valores del elemento Action o Resource que incluyan *. Cuando sea posible, conceda acceso Allow a las acciones y los recursos individuales que los usuarios necesitan. Sin embargo, a continuación se citan algunas razones por las que podría ser conveniente utilizar * en una política:

    • La política está diseñada para conceder permisos de nivel administrativo.

    • El comodín se utiliza por comodidad para un conjunto de acciones similares (por ejemplo, Describe*) y usted está convencido de la idoneidad de la lista completa de acciones a las que se hace referencia de este modo.

    • El comodín se utiliza para indicar una clase de recursos o una ruta de recursos (por ejemplo, arn:aws:iam::account-id:users/division_abc/*) y usted está convencido de la idoneidad de conceder acceso a todos los recursos de esa clase o ruta.

    • Una acción de servicio no admite permisos de nivel de recursos y la única opción para un recurso es *.

  • Examine los nombres de las políticas para asegurarse de que reflejen la función que cumple cada una de ellas. Por ejemplo, el nombre de una política podría incluir el texto “solo lectura” pero, en realidad, conceder permisos de escritura o cambio.

Para obtener más información sobre cómo planificar su auditoría de seguridad, consulte las Prácticas recomendadas de seguridad, identidad y conformidad en el Centro de arquitectura de AWS.