ADC

Vérification du déni de service XML

La vérification par déni de service XML (XML DoS ou XDoS) examine les demandes XML entrantes afin de déterminer si elles répondent aux caractéristiques d’une attaque par déni de service (DoS). En cas de correspondance, bloque ces requêtes. 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 votre site Web.

Si vous utilisez l’Assistant ou l’interface graphique, dans la boîte de dialogue Modifier la vérification du déni de service XML, sous l’onglet Général, vous pouvez activer ou désactiver les actions Bloquer, Journal, Statistiques et Learn :

Si vous utilisez l’interface de ligne de commande, vous pouvez entrer la commande suivante pour configurer le contrôle par 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 la vérification du 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 différentes boîtes de dialogue diffèrent selon les règles, mais elles sont simples. Certains vous permettent uniquement d’activer ou de désactiver la règle ; d’autres vous permettent de modifier un nombre en saisissant une nouvelle valeur dans une zone de texte.

Remarque :

Le comportement attendu du moteur d’apprentissage en cas d’attaque par déni de service est basé sur l’action configurée. Si l’action est définie sur « Bloquer », le moteur apprend la valeur de liaison configurée +1 et l’analyse XML s’arrête en cas de violation. Si l’action configurée n’est pas définie sur « Bloquer », le moteur apprend la valeur réelle de la longueur de la violation entrante.

Les règles individuelles de déni de service XML sont les suivantes :

  • Profondeur maximale de l’élément. Limitez le nombre maximum 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 contenant un élément dont le nombre de niveaux est supérieur au nombre maximal autorisé, il bloque la demande. Vous pouvez modifier le nombre maximum de niveaux à n’importe quelle valeur comprise entre un (1) et 65 535.

  • Longueur maximale du nom de l’élément. Limitez la longueur maximale de chaque nom d’élément à 128 caractères. Cela inclut le nom dans l’espace de noms étendu, qui inclut le chemin XML et le nom de l’élément au format suivant :

     {http://prefix.example.com/path/}target_page.xml
     <!--NeedCopy-->
    

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 maximum d’un type d’élément par document XML à 65 535. Vous pouvez modifier le nombre maximum d’éléments à n’importe quelle valeur comprise entre un (1) et 65 535.

  • Nombre maximum d’enfants d’éléments. Limitez le nombre maximum d’enfants (y compris les autres éléments, les informations sur les personnages et les commentaires) que chaque élément individuel est autorisé à avoir à 65 535. Vous pouvez modifier le nombre maximal d’enfants d’éléments à n’importe quelle valeur comprise entre un (1) et 65 535.

  • Nombre maximum d’attributs. Limitez le nombre maximum d’attributs que chaque élément individuel est autorisé à posséder à 256. Vous pouvez modifier le nombre maximum 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 à 2 048 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 en 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. Exigez que chaque fichier ait une longueur minimale de 9 octets. Vous pouvez modifier la taille minimale du fichier en n’importe quel entier positif représentant différents octets.

  • Nombre maximum d’extensions d’entités. Limitez le nombre d’extensions d’entités autorisées au nombre spécifié. Par défaut : 1024.

  • Profondeur d’expansion maximale de l’entité. Limitez le nombre maximum d’extensions d’entités imbriquées à un maximum du nombre spécifié. Par défaut : 32.

  • Nombre maximum d’espaces de noms. Limitez le nombre de déclarations d’espaces de noms dans un document XML à un maximum du nombre spécifié. Par défaut : 16.

  • Longueur maximale de l’URI de l’espace de nommage. Limitez la longueur de l’URL de chaque déclaration d’espace de noms au maximum au nombre de caractères spécifié. Par défaut : 256.

  • Instructions de traitement des blocs. Bloquez toutes les instructions de traitement spéciales incluses dans la demande. Cette règle ne comporte aucune valeur modifiable par l’utilisateur.

  • Bloquer la DTD. Bloquez toutes les définitions de type de document (DTD) incluses dans la demande. Cette règle ne comporte aucune valeur modifiable par l’utilisateur.

  • Bloquez les entités externes. Bloquez toutes les références à des entités externes dans la demande. Cette règle ne comporte aucune valeur modifiable par l’utilisateur.

  • Vérification de la matrice SOAP. Activez ou désactivez les vérifications du tableau SOAP suivantes :

    • Taille maximale du tableau SOAP. Taille totale maximale de tous les tableaux SOAP d’une requête XML avant le blocage de la connexion. Vous pouvez modifier cette valeur. Par défaut : 20000000.
    • Rang maximum du tableau SOAP. Le rang ou les dimensions maximaux d’un tableau SOAP dans une requête XML avant le blocage de la connexion. Vous pouvez modifier cette valeur. Par défaut : 16.
Vérification du déni de service XML