¿Cómo puedo utilizar AWS WAF para bloquear las solicitudes HTTP sin un encabezado de agente de usuario?

6 minutos de lectura
0

Quiero restringir las solicitudes HTTP que no contengan un agente de usuario concreto o que contengan un valor de encabezado de agente de usuario concreto en la solicitud.

Breve descripción

De forma predeterminada, los filtros de AWS WAF no comprueban si los parámetros de la solicitud HTTP están presentes o no. Para comprobarlo, siga estos pasos:

Utilice reglas administradas de AWS para bloquear las solicitudes que no contengan un encabezado de agente de usuario.

\Alternativa:

Utilice reglas personalizadas para bloquear las solicitudes que no contengan un encabezado de agente de usuario o para bloquear el tráfico si las solicitudes contienen un agente de usuario concreto.

Solución

Utilización de reglas administradas de AWS para bloquear las solicitudes que no contengan un encabezado de agente de usuario

Utilice reglas administradas de AWS para AWS WAF con el fin de bloquear las solicitudes HTTP que no contengan un encabezado de agente de usuario sin tener que escribir reglas propias.

Nota: Las reglas administradas están sujetas a cambios de versión y vencen. Para obtener más información, consulte Best practices for handling managed rule group versions.

Las siguientes reglas inspeccionan las solicitudes sin el encabezado de agente de usuario HTTP y las cadenas de agente de usuario que aparentemente no proceden de un navegador web:

NoUserAgent_HEADER
Esta regla procede del grupo de reglas administradas del conjunto de reglas principales (CRS). Esta regla inspecciona las solicitudes sin el encabezado de agente de usuario HTTP.

SignalNonBrowserUserAgent
Esta regla procede del grupo de reglas de Bot Control de AWS WAF. Esta regla inspecciona las cadenas de agente de usuario que aparentemente no proceden de un navegador web, incluidas las solicitudes sin agente de usuario.

Para agregar un grupo de reglas administradas de AWS a su ACL web

  1. Abra la consola de AWS WAF.

  2. En el panel de navegación, en AWS WAF, seleccione ACL web.

  3. En Región, seleccione la región de AWS en la que haya creado la ACL web.
    Nota: Seleccione Global si la ACL web se ha configurado para Amazon CloudFront.

  4. Seleccione la ACL web.

  5. Seleccione Reglas y, a continuación, elija Agregar reglas. Seleccione Agregar grupos de reglas administrados en el menú desplegable.

  6. Amplíe la sección Grupos de reglas administrados por AWS.

  7. Busque el grupo de reglas y active Agregar a la ACL web.
    Por ejemplo, puede activar Agregar a la ACL web en la opción de Conjunto de reglas principales que contenga la regla NoUserAgent_HEADER.

  8. (Opcional) Seleccione Editar para ver y modificar la configuración del grupo de reglas.

  9. Seleccione Agregar reglas.

  10. Seleccione Guardar.

Para editar un grupo existente de reglas administradas de AWS en su ACL web

  1. Abra la consola de AWS WAF.
  2. En el panel de navegación, en AWS WAF, seleccione ACL web.
  3. En Región, seleccione la región de AWS en la que haya creado la ACL web.
    Nota: Seleccione Global si la ACL web se ha configurado para Amazon CloudFront.
  4. Seleccione la ACL web.
  5. Seleccione Reglas y, a continuación, elija Editar para ver y modificar la configuración.
    Nota: Para obtener más información sobre cómo editar la configuración, consulte Working with managed rule groups.
  6. Cuando termine con la edición, seleccione Guardar.

Si con los grupos de reglas administradas de AWS obtiene escenarios con falsos positivos, consulte AWS Managed Rules for AWS WAF.

Utilización de reglas personalizadas para bloquear las solicitudes que no contengan un encabezado de agente de usuario

Para bloquear las solicitudes que no contengan un encabezado de agente de usuario mediante una regla personalizada, siga estos pasos:

  1. Abra la consola de AWS WAF.
  2. En el panel de navegación, en AWS WAF, seleccione ACL web.
  3. En Región, elija la región de AWS en la que haya creado la ACL web.
    Nota: Seleccione Global si la ACL web se ha configurado para Amazon CloudFront.
  4. Seleccione la ACL web.
  5. Elija Reglas y, a continuación, seleccione Agregar reglas, Agregar reglas y grupos de reglas propios.
  6. Elija Creador de reglas en Tipo de regla.
  7. En Nombre, introduzca un nombre para identificar la regla.
  8. En Tipo, elija Regla normal.
  9. En Si una solicitud, elija no cumple la afirmación (NOT).
  10. En Afirmación, en Inspeccionar, seleccione Encabezado individual.
    En Nombre de campo de encabezado, introduzca un nombre para el campo. Por ejemplo: Agente de usuario.
    En Tipo de coincidencia, elija Tamaño mayor que.
    En Tamaño en bytes, escriba 0 (cero).
    (Opcional) Elija una opción de Transformación de texto o elija Ninguna.
  11. En Acción, seleccione Bloquear.
  12. Elija Agregar regla.
  13. (Opcional) En Establecer la prioridad de las reglas, seleccione su regla y ajuste la prioridad. Las reglas se procesan en el orden en que aparecen. Para obtener más información, consulte Processing order of rules and rule groups in a web ACL.
  14. Seleccione Guardar.

Utilización de reglas personalizadas para bloquear el tráfico si las solicitudes contienen un agente de usuario concreto

Para bloquear el tráfico si las solicitudes contienen un agente de usuario concreto mediante una regla personalizada, siga estos pasos:

  1. Abra la consola de AWS WAF.
  2. En el panel de navegación, en AWS WAF, seleccione ACL web.
  3. En Región, elija la región de AWS en la que haya creado la ACL web.
    Nota: Seleccione Global si la ACL web se ha configurado para Amazon CloudFront.
  4. Seleccione la ACL web.
  5. Elija Reglas y, a continuación, seleccione Agregar reglas, Agregar reglas y grupos de reglas propios.
  6. Elija Creador de reglas en Tipo de regla.
  7. En Nombre, introduzca un nombre para identificar la regla.
  8. En Tipo, elija Regla normal.
  9. En Si una solicitud, elija cumple una afirmación.
  10. En Afirmación, en Inspeccionar, seleccione Encabezado individual.
    En Nombre de campo de encabezado, introduzca un nombre para el campo. Por ejemplo: Agente de usuario.
    En Tipo de coincidencia, elija Contiene la cadena.
    En Cadena para coincidencia, introduzca el valor de su agente de usuario concreto para el bloqueo.
    (Opcional) Elija una opción de Transformación de texto o elija Ninguna.
  11. En Acción, seleccione Bloquear.
  12. Elija Agregar regla.
  13. (Opcional) En Establecer la prioridad de las reglas, seleccione su regla y ajuste la prioridad. Las reglas se procesan en el orden en que aparecen. Para obtener más información, consulte Processing order of rules and rule groups in a web ACL.
  14. Seleccione Guardar.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años