¿Cómo puedo permitir de forma explícita la carga de archivos que una regla de AWS WAF bloquea sin excluirla?
Quiero permitir a los usuarios cargar archivos con extensiones de archivo específicas sin tener que bloquear la regla de configuración actual de AWS WAF.
Descripción corta
El contenido de carga de archivos HTTP suele ser de uno de los siguientes tipos:
- Datos del formulario: Datos que se envían desde los formularios del sitio web a las API como parte de un formulario de datos multiparte.
- Datos binarios: Un archivo que no sea una carga útil de texto. El archivo binario puede ser un archivo JPEG, un archivo GZip o un archivo PDF.
Para saber por qué AWS WAF bloquea una solicitud POST, consulta las reglas comunes que bloquean la carga de archivos. Si una regla común no bloquea la carga, revisa las opciones adicionales para permitir los archivos bloqueados.
Las siguientes reglas suelen bloquear la carga de archivos:
- CrossSiteScripting_BODY
- SQLi_BODY
- SizeRestrictions_BODY
- Reglas personalizadas que evalúan la solicitud BODY
Resolución
Determinar qué regla bloquea la carga de archivos
Sigue estos pasos para determinar qué regla bloquea la carga de archivos:
1. Abre la consola de AWS WAF.
2. Revisa las solicitudes web de muestra. Las solicitudes de muestra contienen información sobre la regla que bloquea la solicitud y los componentes de la solicitud HTTP.
3. En la página Descripción general, en Regla dentro del grupo de reglas, busca los componentes de la solicitud HTTP. Los componentes tienen un aspecto similar al de los siguientes ejemplos:
Regla dentro del grupo de reglas
awswaf:managed:aws:core-rule-set:CrossSiteScripting_Body
Solicitud
`POST /upload` `User-Agent: PostmanRuntime/7.30.0 Accept: */* Host: example.amazonaws.com Connection: keep-alive Content-Type: multipart/form-data; boundary=--------------------------421232031360350156757252 Content-Length: 4060737 `
4. Revisa los registros completos de AWS WAF para terminatingRuleMatchDetails.
Nota: El campo terminatingRuleMatchDetails solo se rellena para los ataques SQLi_BODY y CrossSiteScripting_BODY.
Identificación del tipo de contenido de los datos POST
Para identificar el tipo de contenido, revisa el encabezado HTTP de tus datos POST para ver el tipo de contenido. En el ejemplo anterior, el tipo de contenido es multiparte/datos de formulario.
Contenido de datos de formulario
Para el contenido de datos de formulario que tenga multiparte/datos de formulario para el valor del encabezado, sigue estos pasos:
1. Abre la consola de AWS WAF.
2. En el panel de navegación, en AWS WAF, selecciona ACL web.
Nota: La selección predeterminada para la **región ** es este de EE. UU. (norte de Virginia). Selecciona la región de AWS en la que hayas creado la ACL web. Selecciona Global si la ACL web se ha configurado para Amazon CloudFront.
3. Elige tu ACL web.
4. En la pestaña Reglas, elige Agregar reglas y, a continuación, selecciona Agregar mis reglas y grupos de reglas propios.
5. En la pantalla Agregar regla, en Tipo de regla, elige Generador de reglas.
En Nombre, introduce un nombre para identificar la regla.
En Tipo, elige Regla regular.
En Si una solicitud, elige cumple la instrucción.
En Inspect, selecciona Body.
En Tipo de contenido, elige JSON.
En Ámbito de coincidencia JSON, elige Valores.
En Cómo AWS WAF debe gestionar la solicitud si el JSON del cuerpo de la solicitud no es válido, elige la opción correspondiente a tu caso de uso.
En Contenido que se va a inspeccionar, selecciona Contenido JSON completo.
En Tipo de coincidencia, elige Coincide con la expresión regular.
En Expresión regular, pega el siguiente patrón de expresiones regulares de ejemplo:
(?:.pdf|.doc|.docx|.ppt)
(Opcional) En Transformación de texto, elige una transformación de texto o Ninguna. Para obtener más información, consulta Transformaciones de texto.
En Gestión de componentes de gran tamaño, elige la opción adecuada para tu configuración. Para obtener más información, consulta Gestión de componentes de solicitudes web de gran tamaño en AWS WAF.
En Acción, elige Permitir. Para obtener más información, consulta Acción de la regla.
6. Elija Agregar regla.
7. En Establecer prioridad de la regla, selecciona tu regla y muévela a una prioridad más alta que la regla que bloquea la solicitud. AWS WAF evalúa las reglas de acuerdo con la prioridad establecida. Para obtener más información, consulta Procesamiento del orden de las reglas y los grupos de reglas en ACL web.
8. Selecciona Guardar. Asegúrate de que las reglas funcionen según lo esperado.
Contenido de datos binarios
Para el contenido de datos binarios que tenga un valor similar a application/pdf o application/ppt para el valor del encabezado, sigue estos pasos:
1. Abre la consola de AWS WAF.
2. En el panel de navegación, en AWS WAF, selecciona ACL web.
Nota: La selección predeterminada para la región es este de EE. UU. (norte de Virginia. Selecciona la región de AWS en la que hayas creado la ACL web. Selecciona Global si la ACL web se ha configurado para Amazon CloudFront.
3. Elige tu ACL web.
4. En Reglas, elige Agregar reglas y, a continuación, selecciona Agregar reglas y grupos de reglas propios.
5. En la pantalla Agregar regla, en Tipo de regla, elige Generador de reglas.
En Nombre, introduce un nombre para identificar la regla.
En Tipo, elige Regla regular.
En Si una solicitud, elige cumple la instrucción.
En Inspeccionar, elige Encabezado único.
En Nombre de campo de encabezado, introduce Tipo de contenido.
En Tipo de coincidencia, elige Coincide con la expresión regular.
En Expresión regular, pega el siguiente patrón de expresiones regulares de ejemplo:
(?:pdf|jpeg)
(Opcional) En Transformación de texto, elige una transformación de texto o Ninguna. Para obtener más información, consulta Transformaciones de texto.
En Acción, elige Permitir. Para obtener más información, consulta Acción de la regla.
6. Elija Agregar regla.
7. En Establecer prioridad de la regla, selecciona tu regla y muévela a una prioridad más alta que la regla que bloquea la solicitud. AWS WAF evalúa las reglas de acuerdo con la prioridad establecida. Para obtener más información, consulta Procesamiento del orden de las reglas y los grupos de reglas en ACL web.
8. Selecciona Guardar. Asegúrate de que la regla funcione según lo esperado.
Nota: Para restringir la regla a una ruta URI de carga específica, utiliza una instrucción AND dentro de la regla de ACL web.
Información relacionada
- Etiquetas
- AWS WAF
- Idioma
- Español

Contenido relevante
- preguntada hace 7 meses
- preguntada hace 16 días
- preguntada hace 7 meses
- preguntada hace 2 meses