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.
Inserción de encabezados de solicitud personalizados para acciones no bloqueantes
Esta sección explica cómo indicarle a AWS WAF para que inserte encabezados personalizados en la solicitud HTTP original cuando una acción de regla no bloquee la solicitud. Con esta opción, solo agrega a la solicitud. No puede modificar ni reemplazar ninguna parte de la solicitud original. Los casos de uso para la inserción de encabezados personalizados incluyen indicar a una aplicación posterior que procese la solicitud de forma diferente en función de los encabezados insertados y marcar la solicitud para su análisis.
importante
Esta opción se aplica a las acciones de regla Allow, Count, CAPTCHA y Challenge, y a las acciones predeterminadas del paquete de protección (ACL web) configuradas en Allow. Para obtener más información sobre las acciones de las reglas, consulte Utilización de acciones de reglas en AWS WAF. Para obtener más información acerca de las acciones predeterminadas del paquete de protección (ACL web), consulte Cómo establecer la acción predeterminada del paquete de protección (ACL web) en AWS WAF.
Consideraciones al usar nombres de encabezado de solicitud personalizados
Se han agregado prefijos a los encabezados de las solicitudes
AWS WAF prefija todos los encabezados de solicitud que inserta con x-amzn-waf- para evitar confusiones con los encabezados que ya están en la solicitud. Por ejemplo, si especifica el nombre del encabezado sample, AWS WAF inserta el encabezado x-amzn-waf-sample.
importante
Como práctica de seguridad, puede agregar una regla de coincidencia de cadenas que bloquee las solicitudes en las que el encabezado ya comience por x-amzn-waf-. Esto bloquea las solicitudes de fuentes ajenas a AWS WAF y que imitan la cadena de prefijo x-amzn-waf- que inserta AWS WAF al procesar los encabezados de las solicitudes personalizadas.
El siguiente ejemplo muestra una regla de coincidencia de cadenas configurada para bloquear el tráfico en el caso de que AWS WAF no haya insertado el prefijo x-amzn-waf-:
"Rules": [ { "Name": "CustomHeader", "Priority": 0, "Statement": { "ByteMatchStatement": { "SearchString": " x-amzn-waf-", "FieldToMatch": { "Headers": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "STARTS_WITH" } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "CustomHeader" } } ]
Para obtener información acerca del uso de las reglas de coincidencia de cadenas, consulte Instrucción de regla de coincidencia de cadenas.
Encabezados con el mismo nombre
Si la solicitud ya tiene un encabezado con el mismo nombre que el que AWS WAF está insertando, AWS WAF sobrescribe el encabezado. Por lo tanto, si define encabezados en varias reglas con nombres idénticos, se agregará su encabezado a la última regla que inspeccione la solicitud y encuentre una coincidencia, y no a las reglas anteriores.
Uso de encabezados personalizados con acciones de regla de no finalización
A diferencia de la acción Allow, la acción Count no impide a AWS WAF procesar la solicitud web mediante el resto de las reglas del paquete de protección (ACL web). Del mismo modo, cuando CAPTCHA y Challenge determinan que el token de solicitud es válido, estas acciones no impiden a AWS WAF procesar la solicitud web. Por lo tanto, si inserta encabezados personalizados mediante una regla con una de estas acciones, es posible que las reglas subsiguientes también inserten encabezados personalizados. Para obtener más información sobre el comportamiento de las acciones de las reglas, consulte Utilización de acciones de reglas en AWS WAF.
Por ejemplo, supongamos que tiene las reglas siguientes, priorizadas en el orden que se muestra:
-
RuleA con una acción Count y un encabezado personalizado denominado
RuleAHeader. -
RuleB con una acción Allow y un encabezado personalizado denominado
RuleBHeader.
Si una solicitud coincide con la RuleA y la RuleB, AWS WAF inserta los encabezados x-amzn-waf-RuleAHeader y x-amzn-waf-RuleBHeader, y, a continuación, reenvía la solicitud al recurso protegido.
AWS WAF inserta encabezados personalizados en una solicitud web cuando termina de inspeccionar la solicitud. Por lo tanto, si utiliza una gestión de solicitudes personalizadas con una regla que tenga la acción establecida en Count, las siguientes reglas no inspeccionarán los encabezados personalizados que añada.
Ejemplo de gestión de solicitudes personalizadas
La gestión de solicitudes personalizadas se define para la acción de una regla o para la acción predeterminada de un paquete de protección (ACL web). En la siguiente lista se muestra el JSON para la gestión personalizada agregada a la acción predeterminada de un paquete de protección (ACL web).
{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample protection pack (web ACL) with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }