Citrix ADC

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.

Vérification par déni de service XML