Verificación de denegación de servicio XML
La comprobación XML Denegación de servicio (XML DoS o XDoS) examina las solicitudes XML entrantes para determinar si coinciden con las funciones de un ataque de denegación de servicio (DoS). Si hay una coincidencia, bloquea esas solicitudes. El propósito de la comprobación XML DoS es evitar que un atacante utilice solicitudes XML para iniciar un ataque de denegación de servicio en su servidor web o sitio web.
Si utiliza el asistente o la GUI, en el cuadro de diálogo Modificar comprobación de denegación de servicio XML, en la ficha General puede habilitar o inhabilitar las acciones Bloquear, Registrar, Estadísticas y Aprender:
Si utiliza la interfaz de línea de comandos, puede introducir el siguiente comando para configurar la comprobación de denegación de servicio XML:
set appfw profile <name> -xmlDoSAction [**block**] [**log**] [**learn**] [**stats**] [**none**]
Para configurar reglas de denegación de servicio XML individuales, debe usar la GUI. En la ficha Comprobaciones del cuadro de diálogo Modificar comprobación de denegación de servicio XML, seleccione una regla y haga clic en Abrir para abrir el cuadro de diálogo Modificar denegación de servicio XML para esa regla. Los cuadros de diálogo individuales difieren en función de las diferentes reglas, pero son sencillos. Algunos solo permiten habilitar o inhabilitar la regla; otros permiten modificar un número escribiendo un nuevo valor en un cuadro de texto.
Nota:
El comportamiento esperado de Learning Engine para el ataque de denegación de servicio se basa en la acción configurada. Si la acción se establece como “Bloquear”, el motor aprende el valor de enlace configurado +1 y el análisis XML se detiene cuando hay una infracción. Si la acción configurada no se establece como “Bloquear”, el motor aprende el valor real de longitud de infracción entrante.
Las reglas de denegación de servicio XML individuales son:
-
Profundidad máxima del elemento. Restringir el número máximo de niveles anidados en cada elemento individual a 256. Si esta regla está habilitada y Web App Firewall detecta una solicitud XML con un elemento que tiene más del número máximo de niveles permitidos, bloquea la solicitud. Puede modificar el número máximo de niveles a cualquier valor de uno (1) a 65.535.
-
Longitud máxima del nombre del elemento. Restringe la longitud máxima de cada nombre de elemento a 128 caracteres. Esto incluye el nombre dentro del espacio de nombres expandido, que incluye la ruta XML y el nombre del elemento con el siguiente formato:
{http://prefix.example.com/path/}target_page.xml <!--NeedCopy-->
El usuario puede modificar la longitud máxima del nombre a cualquier valor entre un (1) carácter y 65.535.
-
Número máximo de elementos. Restrinja el número máximo de cualquier tipo de elemento por documento XML a 65.535. Puede modificar el número máximo de elementos a cualquier valor entre uno (1) y 65.535.
-
Número máximo de elementos secundarios. Restringir el número máximo de elementos secundarios (incluidos otros elementos, información de caracteres y comentarios) que cada elemento individual puede tener a 65.535. Puede modificar el número máximo de elementos secundarios a cualquier valor entre uno (1) y 65.535.
-
Número máximo de atributos. Restringir el número máximo de atributos que cada elemento individual puede tener a 256. Puede modificar el número máximo de atributos a cualquier valor entre uno (1) y 256.
-
Longitud máxima del nombre de atributo. Restringir la longitud máxima de cada nombre de atributo a 128 caracteres. Puede modificar la longitud máxima del nombre de atributo a cualquier valor entre uno (1) y 2.048.
-
Longitud máxima del valor de atributo. Restringe la longitud máxima de cada valor de atributo a 2048 caracteres. Puede modificar la longitud máxima del nombre de atributo a cualquier valor entre uno (1) y 2.048.
-
Longitud máxima de datos de caracteres. Restringir la longitud máxima de datos de caracteres para cada elemento a 65.535. Puede modificar la longitud a cualquier valor entre uno (1) y 65.535.
-
Tamaño máximo de archivo. Restringir el tamaño de cada archivo a 20 MB. Puede modificar el tamaño máximo de archivo a cualquier valor.
-
Tamaño mínimo de archivo. Requiere que cada archivo tenga una longitud mínima de 9 bytes. Puede modificar el tamaño mínimo de archivo a cualquier entero positivo que represente varios bytes.
-
Número máximo de expansiones de entidad. Limite el número de expansiones de entidad permitidas al número especificado. Valor predeterminado: 1024.
-
Profundidad máxima de expansión de entidad Restringir el número máximo de expansiones de entidades anidadas a no más del número especificado. Valor predeterminado: 32.
-
Número máximo de espacios de nombres. Limite el número de declaraciones de espacio de nombres en un documento XML a no más del número especificado. Valor predeterminado: 16.
-
Longitud máxima de URI del espacio de nombres. Limite la longitud de URL de cada declaración de espacio de nombres a no más del número especificado de caracteres. Valor predeterminado: 256.
-
Instrucciones de procesamiento de bloques. Bloquee las instrucciones especiales de procesamiento incluidas en la solicitud. Esta regla no tiene valores modificables por el usuario.
-
Bloquee DTD. Bloquee cualquier definición de tipo de documento (DTD) incluida con la solicitud. Esta regla no tiene valores modificables por el usuario.
-
Bloquear entidades externas. Bloquear todas las referencias a entidades externas en la solicitud. Esta regla no tiene valores modificables por el usuario.
-
Comprobación de matriz SOAP. Habilite o inhabilite las siguientes comprobaciones de matriz SOAP:
- Tamaño máximo de matriz SOAP. El tamaño total máximo de todas las matrices SOAP en una solicitud XML antes de bloquear la conexión. Puede modificar este valor. Valor predeterminado: 20000000.
- Rango máximo de matriz SOAP. Rango o dimensiones máximas de cualquier matriz SOAP única en una solicitud XML antes de bloquear la conexión. Puede modificar este valor. Valor predeterminado: 16.