Vérification par déni de service XML
La vérification par déni de service XML (DoS XML ou XDoS) examine les demandes XML entrantes afin de déterminer si elles correspondent aux caractéristiques d’une attaque par déni de service (DoS) et bloque ces demandes. Le but de la vérification DoS XML est d’empêcher un attaquant d’utiliser des requêtes XML pour lancer une attaque par déni de service sur votre serveur Web ou site Web.
Si vous utilisez l’assistant ou l’interface graphique, dans la boîte de dialogue Modifier le contrôle par déni de service XML, sous l’onglet Général, vous pouvez activer ou désactiver les actions Bloquer, Journal, Statistiques et Apprendre :
Si vous utilisez l’interface de ligne de commande, vous pouvez entrer la commande suivante pour configurer la vérification de déni de service XML :
set appfw profile <name> -xmlDoSAction [**block**] [**log**] [**learn**] [**stats**] [**none**]
Pour configurer des règles de déni de service XML individuelles, vous devez utiliser l’interface graphique. Sous l’onglet Vérifications de la boîte de dialogue Modifier le contrôle par déni de service XML, sélectionnez une règle et cliquez sur Ouvrir pour ouvrir la boîte de dialogue Modifier le déni de service XML pour cette règle. Les boîtes de dialogue individuelles diffèrent selon les règles, mais sont extrêmement simples. Certains vous permettent uniquement d’activer ou de désactiver la règle ; d’autres vous permettent de modifier un nombre en tapant une nouvelle valeur dans une zone de texte.
Les règles de déni de service XML individuelles sont les suivantes :
-
Profondeur maximale de l’élément
Limitez le nombre maximal de niveaux imbriqués dans chaque élément individuel à 256. Si cette règle est activée et que le Web App Firewall détecte une demande XML avec un élément dont le nombre maximal de niveaux autorisés est supérieur au nombre maximal, il bloque la demande. Vous pouvez modifier le nombre maximal de niveaux à n’importe quelle valeur de un (1) à 65 535.
-
Longueur maximale du nom d’élément
Limitez la longueur maximale de chaque nom d’élément à 128 caractères. Cela inclut le nom dans l’espace de noms développé, qui inclut le chemin d’accès XML et le nom de l’élément dans le format suivant :
{http://prefix.example.com/path/}target_page.xml
L’utilisateur peut modifier la longueur maximale du nom à n’importe quelle valeur comprise entre un (1) caractère et 65 535.
-
Nombre maximum d’éléments
Limitez le nombre maximal d’un type d’élément par document XML à 65 535. Vous pouvez modifier le nombre maximal d’éléments à n’importe quelle valeur comprise entre un (1) et 65 535.
-
Nombre maximum d’enfants d’élément
Limitez le nombre maximal d’enfants (y compris les autres éléments, les informations de caractère et les commentaires) que chaque élément individuel est autorisé à avoir à 65 535. Vous pouvez modifier le nombre maximal d’enfants d’élément à n’importe quelle valeur comprise entre un (1) et 65 535.
-
Nombre maximal d’attributs
Restreindre le nombre maximal d’attributs que chaque élément individuel est autorisé à avoir à 256. Vous pouvez modifier le nombre maximal d’attributs à n’importe quelle valeur comprise entre un (1) et 256.
-
Longueur maximale du nom d’attribut
Limitez la longueur maximale de chaque nom d’attribut à 128 caractères. Vous pouvez modifier la longueur maximale du nom d’attribut à n’importe quelle valeur comprise entre un (1) et 2,048.
-
Longueur maximale de la valeur d’attribut
Limitez la longueur maximale de chaque valeur d’attribut à 2048 caractères. Vous pouvez modifier la longueur maximale du nom d’attribut à n’importe quelle valeur comprise entre un (1) et 2,048.
-
Longueur maximale des données de caractères
Limitez la longueur maximale des données de caractères pour chaque élément à 65 535. Vous pouvez modifier la longueur à n’importe quelle valeur comprise entre un (1) et 65 535.
-
Taille maximale du fichier
Limitez la taille de chaque fichier à 20 Mo. Vous pouvez modifier la taille maximale du fichier à n’importe quelle valeur.
-
Taille minimale du fichier
Exiger que chaque fichier ait une longueur d’au moins 9 octets. Vous pouvez modifier la taille minimale du fichier en n’importe quel entier positif représentant un nombre d’octets.
-
Nombre maximal d’extensions d’entités
Limitez le nombre d’extensions d’entités autorisées au nombre spécifié. Par défaut : 1024.
-
Profondeur maximale d’extension de l’entité
Limitez le nombre maximal d’expansions d’entités imbriquées au nombre spécifié. Par défaut : 32.
-
Nombre maximum d’espaces de noms
Limitez le nombre de déclarations d’espace de noms dans un document XML au maximum au nombre spécifié. Par défaut : 16.
-
Longueur maximale de l’URI de l’espace de noms
Limitez la longueur d’URL de chaque déclaration d’espace de noms au maximum le nombre de caractères spécifié. Par défaut : 256.
-
Instructions de traitement des blocs
Bloquer toutes les instructions spéciales de traitement incluses dans la demande. Cette règle ne comporte aucune valeur modifiable par l’utilisateur.
-
Bloquer la DTD
Bloquer toutes les définitions de type de document (DTD) incluses dans la demande. Cette règle ne comporte aucune valeur modifiable par l’utilisateur.
-
Bloquer les entités externes
Bloquer toutes les références aux entités externes dans la demande. Cette règle ne comporte aucune valeur modifiable par l’utilisateur.
-
Vérification du tableau SOAP
Activez ou désactivez les vérifications de tableau SOAP suivantes :
- Taille maximale du tableau SOAP. Taille totale maximale de toutes les baies SOAP dans une requête XML avant que la connexion ne soit bloquée. Vous pouvez modifier cette valeur. Par défaut : 20000000.
- Rang maximum du tableau SOAP. Rang ou dimensions maximum d’un tableau SOAP unique dans une requête XML avant que la connexion ne soit bloquée. Vous pouvez modifier cette valeur. Par défaut : 16.