¿Por qué no funciona mi regla personalizada de AWS WAF?

4 minutos de lectura
0

He creado una regla de AWS WAF personalizada, pero no funciona como esperaba. ¿Qué puedo hacer para solucionar el problema?

Resolución

Si la regla personalizada de AWS WAF no funciona según lo previsto, compruebe lo siguiente:

  • La prioridad de una regla
  • La transformación de texto
  • La lógica booleana

La prioridad de una regla

Comprueba que has asignado la regla personalizada con la prioridad correcta. Para obtener más información, consulte Processing order of rules and rule groups in a web ACL (Orden de procesamiento de reglas y grupos de reglas en una ACL web).

Puede acceder a una regla por su nombre en el grupo de reglas o la ACL web donde está definida.

El orden de evaluación de reglas de AWS WAF es descendente y, a continuación, se detiene en la primera regla de terminación Allow (permiso), Block (bloqueo) o CAPTCHA coincidente. Si su solicitud coincide con una de las reglas de terminación colocadas por encima de la regla personalizada, AWS WAF llevará a cabo la acción especificada en esa regla. La solicitud no se evaluará en función de la regla personalizada. Para obtener más información, consulte Basic handling of the rule and rule group actions in a web ACL (Gestión básica de las acciones de reglas y grupos de reglas en una ACL web).

Por ejemplo, supongamos que va a crear una regla de permiso personalizada para permitir la solicitud que está bloqueando un grupo de reglas administradas (AMR) por AWS. Debe colocar la regla personalizada por encima (con una prioridad numérica inferior) de la AMR que bloquea la solicitud.

Puede administrar el orden de prioridad a través del Rule Builder (Creador de reglas) de la consola de AWS WAF, que está disponible para las ACL web y los grupos de reglas. Para cambiar el orden de prioridad mediante la API de AWS, utilice las llamadas a la API UpdateWebACL y UpdateRuleGroup. Para cambiar el orden de prioridad mediante la CLI de AWS, utilice los comandos update-web-acl y update-rule-group.

La transformación de texto

Si utiliza transformaciones de texto en su regla personalizada, compruebe que las ha aplicado correctamente. Para obtener más información, consulte Text transformations (Transformaciones de texto) de AWS WAF.

AWS WAF aplica la transformación antes de inspeccionar la solicitud. Si especifica más de una transformación, AWS WAF las procesará en el orden indicado. Debe verificar la transformación y el orden de la transformación en la regla personalizada si utiliza varias transformaciones.

Por ejemplo, si creó una regla personalizada para realizar la descodificación de Base64 y la descodificación de URL para una cadena en el argumento de la consulta. AWS WAF primero realiza la descodificación de Base64 de la cadena de consulta en la solicitud entrante. La cadena resultante de la descodificación de Base64 se transforma aún más mediante una descodificación de URL. A continuación, la cadena resultante de la descodificación de URL se inspecciona con respecto a la cadena que proporcionó en la configuración de la regla.

La lógica booleana

Si utiliza instrucciones de reglas lógicas, compruebe que las lógicas AND, OR o NOT utilizadas para la regla personalizada sean correctas. Para obtener más información, consulte Rule statements list (Lista de instrucciones de reglas) y siga las instrucciones de Logical rules statements (Instrucciones de reglas lógicas).

Para comprobar que esto es mediante el uso de la lógica booleana, tenga en cuenta este ejemplo:

Si crea una regla personalizada que coincide con una solicitud con los criterios siguientes: el URI de la solicitud es “/tes” y (AND) la IP de origen está en el conjunto de IP X, entonces Block (Bloqueo).

Solicitud 1

Si el URI de la solicitud es “/test” (booleano 1) y (AND) la IP no (NOT) está en el conjunto de IP X (booleano 0), entonces booleano 1 y (AND) booleano 0 da como resultado booleano 0.

Esta solicitud no coincidirá con la regla personalizada.

Solicitud 2

Si el URI de la solicitud no es “/test” (booleano 0) y (AND) la IP no NOT está en el conjunto de IP X (booleano 0), entonces booleano 0 y (AND) booleano 0 da como resultado booleano 0.

Esta solicitud no coincidirá con la regla personalizada.

Solicitud 3

Si el URI de la solicitud es “/test” (booleano 1) y (AND) la IP está en el conjunto de IP X (booleano 1), entonces booleano 1 y (AND) booleano 1 da como resultado booleano 1.

Esta solicitud coincidirá con la regla personalizada.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años