Controles de Security Hub para AWS KMS - AWS Security Hub

Controles de Security Hub para AWS KMS

Estos controles de AWS Security Hub CSPM evalúan el servicio y los recursos de AWS Key Management Service (AWS KMS). Es posible que estos controles no estén disponibles en todas las Regiones de AWS. Para obtener más información, consulte Disponibilidad de los controles por región.

[KMS.1] Las políticas gestionadas por los clientes de IAM no deberían permitir acciones de descifrado en todas las claves de KMS

Requisitos relacionados: NIST.800-53.r5 AC-2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6, NIST.800-53.r5 AC-6(3)

Categoría: Proteger - Administración de acceso seguro

Gravedad: media

Tipo de recurso: AWS::IAM::Policy

AWS Config Regla de: iam-customer-policy-blocked-kms-actions

Tipo de horario: provocado por un cambio

Parámetros:

  • blockedActionsPatterns: kms:ReEncryptFrom, kms:Decrypt (no personalizable)

  • excludePermissionBoundaryPolicy: True (no personalizable)

Comprueba si la versión predeterminada de las políticas gestionadas por los clientes de IAM permite a los directores utilizar las acciones de descifrado de AWS KMS en todos los recursos. El control falla si la política está lo suficientemente abierta como para permitir realizar acciones de kms:Decrypt o kms:ReEncryptFrom en todas las claves de KMS.

El control solo comprueba las claves de KMS en el elemento Recurso y no tiene en cuenta ningún condicional del elemento Condición de una política. Además, el control evalúa las políticas administradas por el cliente asociadas y no asociadas. No comprueba las políticas integradas ni las políticas gestionadas de AWS.

Con AWS KMS, usted controla quién puede usar sus claves KMS y acceder a sus datos cifrados. Las políticas de IAM definen qué acciones puede realizar una identidad (usuario, grupo o rol) en qué recursos. Siguiendo las prácticas recomendadas de seguridad, AWS recomienda conceder los privilegios mínimos. En otras palabras, debe conceder a las identidades únicamente los permisos kms:Decrypt o kms:ReEncryptFrom y únicamente para las claves que se requieren para realizar una tarea. De lo contrario, es posible que el usuario utilice claves que no sean adecuadas para sus datos.

En lugar de conceder permisos para todas las claves, determine el conjunto mínimo de claves que los usuarios necesitan para acceder a los datos cifrados. Luego, diseñe políticas que permitan a los usuarios usar solo esas claves. Por ejemplo, no permita permisos de kms:Decrypt en todas las claves KMS. En su lugar, permita únicamente kms:Decrypt las claves de su cuenta en una región determinada. Al adoptar el principio del privilegio mínimo, puede reducir el riesgo de que sus datos se divulguen de forma no intencionada.

Corrección

Para modificar una política de IAM administrada por el cliente, consulte Edición de políticas gestionadas por el cliente en la Guía del usuario de IAM. Al editar su política, proporcione para el campo Resource el nombre de recurso de Amazon (ARN) de la clave o claves específicas en las que desea permitir acciones de descifrado.

[KMS.2] Los directores de IAM no deberían tener políticas integradas de IAM que permitan realizar acciones de descifrado en todas las claves de KMS

Requisitos relacionados: NIST.800-53.r5 AC-2, NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6, NIST.800-53.r5 AC-6(3)

Categoría: Proteger - Administración de acceso seguro

Gravedad: media

Tipo de recurso:

  • AWS::IAM::Group

  • AWS::IAM::Role

  • AWS::IAM::User

AWS Config Regla de: iam-inline-policy-blocked-kms-actions

Tipo de horario: provocado por un cambio

Parámetros:

  • blockedActionsPatterns: kms:ReEncryptFrom, kms:Decrypt (no personalizable)

Este control comprueba si las políticas integradas en sus identidades de IAM (rol, usuario o grupo) permiten las acciones de descifrado y recrifrado de AWS KMS de todas las claves de KMS. El control falla si la política está lo suficientemente abierta como para permitir realizar acciones de kms:Decrypt o kms:ReEncryptFrom en todas las claves de KMS.

El control solo comprueba las claves de KMS en el elemento Recurso y no tiene en cuenta ningún condicional del elemento Condición de una política.

Con AWS KMS, usted controla quién puede usar sus claves KMS y acceder a sus datos cifrados. Las políticas de IAM definen qué acciones puede realizar una identidad (usuario, grupo o rol) en qué recursos. Siguiendo las prácticas recomendadas de seguridad, AWS recomienda conceder los privilegios mínimos. En otras palabras, debe conceder a las identidades únicamente los permisos que necesitan y únicamente para las claves que se requieren para realizar una tarea. De lo contrario, es posible que el usuario utilice claves que no sean adecuadas para sus datos.

En lugar de conceder permisos para todas las claves, determine el conjunto mínimo de claves que los usuarios necesitan para acceder a los datos cifrados. Luego, diseñe políticas que permitan a los usuarios usar solo esas claves. Por ejemplo, no permita permisos de kms:Decrypt en todas las claves KMS. En su lugar, conceda el permiso solo a claves específicas de una región específica de su cuenta. Al adoptar el principio del privilegio mínimo, puede reducir el riesgo de que sus datos se divulguen de forma no intencionada.

Corrección

Para modificar una política en línea de IAM, consulte Edición de políticas en línea en la Guía del usuario de IAM. Al editar su política, proporcione para el campo Resource el nombre de recurso de Amazon (ARN) de la clave o claves específicas en las que desea permitir acciones de descifrado.

[KMS.3] AWS KMS keys no debe eliminarse de forma involuntaria

Requisitos relacionados: NIST.800-53.r5 SC-12, NIST.800-53.r5 SC-12(2)

Categoría: Proteger > Protección de datos > Protección contra la eliminación de datos

Gravedad: crítica

Tipo de recurso: AWS::KMS::Key

Regla de AWS Config: kms-cmk-not-scheduled-for-deletion-2 (regla personalizada de Security Hub)

Tipo de horario: provocado por un cambio

Parámetros: ninguno

Este control comprueba si la eliminación de las claves de KMS está programada. El control falla si está programada la eliminación de una clave KMS.

Las claves KMS no se pueden recuperar una vez eliminadas. Los datos cifrados con una clave KMS tampoco se pueden recuperar permanentemente si se elimina la clave KMS. Si los datos significativos se han cifrado con una clave de KMS cuya eliminación está programada, considere la posibilidad de descifrar los datos o volver a cifrarlos con una nueva clave de KMS, a menos que esté realizando un borrado criptográfico de forma intencionada.

Cuando se programa la eliminación de una clave de KMS, se aplica un período de espera obligatorio para dar tiempo a revertir la eliminación, en caso de que se haya programado por error. El período de espera predeterminado es de 30 días, pero se puede reducir a tan solo 7 días si está programada la eliminación de la clave KMS. Durante el período de espera, se puede cancelar la eliminación programada y no se eliminará la clave KMS.

Para obtener información adicional sobre la eliminación de claves de KMS, consulte Eliminar claves de KMS en la Guía para desarrolladores de AWS Key Management Service.

Corrección

Para cancelar una eliminación de claves de KMS programada, consulte Para cancelar la eliminación de claves en Programación y cancelación de la eliminación de claves (consola) de la Guía para desarrolladores de AWS Key Management Service.

La rotación de claves AWS KMS [KMS.4] debe estar habilitada

Requisitos relacionados: Indicador de referencia de AWS de CIS v5.0.0/3.6; Indicador de referencia de AWS de CIS v3.0.0/3.6; Indicador de referencia de AWS de CIS v1.4.0/3.8; Indicador de referencia de AWS de CIS v1.2.0/2.8; NIST.800-53.r5 SC-12, NIST.800-53.r5 SC-12(2), NIST.800-53.r5 SC-28(3), PCI DSS v3.2.1/3.6.4, PCI DSS v4.0.1/3.7.4

Categoría: Proteger > Protección de datos > Cifrado de datos en reposo

Gravedad: media

Tipo de recurso: AWS::KMS::Key

AWS Config Regla de: cmk-backing-key-rotation-enabled

Tipo de programa: Periódico

Parámetros: ninguno

AWS KMS permite a los clientes rotar la clave de respaldo, que es el material de claves almacenado en AWS KMS y que está vinculado al ID de clave de la KMS. Es la clave de backup que se utiliza para realizar operaciones criptográficas como, por ejemplo, cifrado y descifrado. Actualmente, la rotación de claves automática retiene todas las claves de backup anteriores, por lo que el descifrado de los datos cifrado se puede realizar de forma transparente.

CIS recomienda que habilite la rotación de claves de KMS. La rotación de claves de cifrado ayuda a reducir el impacto potencial de una clave en peligro porque los datos cifrados con una nueva clave no son accesibles con un clave anterior que se haya visto expuesta.

Corrección

Para habilitar la rotación de claves de KMS, consulte Cómo habilitar y deshabilitar la rotación automática de claves en la Guía para desarrolladores de AWS Key Management Service.

[KMS.5] Las claves KMS no deben ser de acceso público

Categoría: Proteger > Configuración de red segura > Recursos no accesibles públicamente

Gravedad: crítica

Tipo de recurso: AWS::KMS::Key

AWS Config Regla de: kms-key-policy-no-public-access

Tipo de horario: provocado por un cambio

Parámetros: ninguno

Este control comprueba si una AWS KMS key es de acceso público. El control falla si se puede acceder de manera pública a la clave de KMS.

La implementación del acceso con privilegios mínimos es esencial a la hora de reducir los riesgos de seguridad y el impacto de los errores o intentos malintencionados. Si la política de claves de una AWS KMS key permite el acceso desde cuentas externas, es posible que terceros puedan cifrar y descifrar los datos con la clave. Esto podría provocar que una amenaza interna o externa extraiga datos de los Servicios de AWS que utilicen la clave.

nota

Este control también devuelve un resultado FAILED correspondiente a una AWS KMS key si las configuraciones impiden que AWS Config registre la política de claves en el elemento de configuración (CI) de la clave de KMS. Para que AWS Config pueda completar la política de claves en el elemento de configuración de la clave de KMS, el rol de AWS Config debe tener acceso para leer la política de claves mediante la llamada a la API GetKeyPolicy. Para resolver este tipo de resultado FAILED, revise si existen políticas que impedan que el rol de AWS Config tenga acceso de lectura a la política de claves de la clave de KMS. Por ejemplo, revise lo siguiente:

Además, este control no evalúa condiciones de políticas que utilicen caracteres comodín o variables. Para producir un resultado PASSED, las condiciones en la política de claves deben usar únicamente valores fijos, que son valores que no contienen caracteres comodín ni variables de políticas. Para obtener información sobre variables de políticas, consulte Variables y etiquetas en la Guía del usuario de AWS Identity and Access Management.

Corrección

Para obtener información sobre cómo actualizar la política de claves de una AWS KMS key, consulte Políticas de claves en AWS KMS en la Guía para desarrolladores de AWS Key Management Service.