Prevención de la sustitución confusa entre servicios - AWS WAF, AWS Firewall Manager, AWS Shield Advanced y director de seguridad de red AWS Shield

Presentamos una nueva experiencia de consola para AWS WAF

Ahora puede usar la experiencia actualizada para acceder a las funciones de AWS WAF desde cualquier parte de la consola. Para obtener más información, consulta Trabajo con la experiencia de consola actualizada.

Prevención de la sustitución confusa entre servicios

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación entre servicios puede dar lugar al problema de la sustitución confusa. La suplantación entre servicios puedes producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio que lleva a cabo las llamadas se puedes manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta.

Se recomienda usar las claves de contexto de condición global aws:SourceArn y aws:SourceAccount en las políticas de recursos para limitar los permisos que AWS Firewall Manager concede a otro servicio para el recurso. Utiliza aws:SourceArn si desea que solo se asocie un recurso al acceso entre servicios. Utiliza aws:SourceAccount si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de aws:SourceArn con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si está especificando varios recursos, utilice la clave de condición de contexto global aws:SourceArn con caracteres comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:fms:*:account-id:*.

Si el valor de aws:SourceArn no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, debe utilizar ambas claves de contexto de condición global para limitar los permisos.

El valor de aws:SourceArn debe ser la cuenta de AWS del administrador de AWS Firewall Manager.

En los siguientes ejemplos se muestra cómo se puede utilizar la clave de contexto de condición global aws:SourceArn en Firewall Manager para evitar el problema del suplente confuso.

En el ejemplo siguiente se muestra cómo evitar el problema del suplente confuso usando la clave de contexto de condición global de aws:SourceArn en la política de confianza de rol de Firewall Manager. Sustituya region y account-id con su propia información.

JSON
{ "Version":"2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "servicename.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": [ "arn:aws:fms:us-east-1:123456789012:${*}", "arn:aws:fms:us-east-1:123456789012:policy/*" ] }, "StringEquals": { "aws:SourceAccount": "account-id" } } } }