ADC

Modèles de règles de signature

Vous pouvez ajouter un modèle ou modifier un modèle existant pour spécifier une chaîne ou une expression qui caractérise une attaque si la signature correspond. Pour détecter les tendances d’une attaque, vous pouvez consulter les journaux de votre serveur Web. Vous pouvez utiliser un outil pour observer les données de connexion en temps réel, ou obtenir la chaîne ou l’expression à partir d’un rapport tiers concernant l’attaque.

Attention :

Tout nouveau modèle que vous ajoutez à une règle de signature est en relation AND avec les modèles existants. N’ajoutez pas de modèle à une règle de signature existante si vous ne souhaitez pas qu’une attaque potentielle doive correspondre à tous les modèles correspondant à la signature.

Chaque modèle peut consister en une chaîne simple, une expression régulière au format PCRE ou le modèle intégré d’injection SQL ou de script intersite. Avant d’essayer d’ajouter un modèle basé sur une expression régulière, vous devez vous assurer que vous comprenez les expressions régulières au format PCRE. Les expressions PCRE sont complexes et puissantes. Si vous ne comprenez pas comment ils fonctionnent, vous pouvez créer involontairement un modèle qui correspond à quelque chose que vous ne vouliez pas (un faux positif) ou qui ne correspond pas à ce que vous vouliez (un faux négatif).

Modèle de signature personnalisé pour les types de contenu autres que ceux par défaut

Le Citrix ADC Web App Firewall (WAF) prend désormais en charge un nouvel emplacement pour inspecter le contenu canonique. Par défaut, WAF ne bloque pas la charge utile codée avec des types de contenu autres que ceux par défaut. Lorsque ces types de contenu figurent sur la liste blanche et qu’aucune action configurée n’est appliquée, le contrôle de protection contre les scripts SQL et intersites ne filtre pas les attaques par script SQL ou intersite dans les charges utiles codées. Pour résoudre le problème, un utilisateur peut créer une règle de signature personnalisée à l’aide de ce nouvel emplacement (HTTP_CANON_POST_BODY) qui examine les charges utiles codées pour les types de contenu autres que ceux par défaut et, en cas d’attaque SQL ou par script intersite, bloque le trafic après la canonicalisation du corps du message.

Remarque :

Cette prise en charge s’applique uniquement aux requêtes HTTP.

Si vous n’êtes pas déjà familiarisé avec les expressions régulières au format PCRE, vous pouvez utiliser les ressources suivantes pour en savoir plus ou pour obtenir de l’aide concernant un problème spécifique :

Si vous devez encoder des caractères non ASCII dans une expression régulière au format PCRE, la plate-forme Citrix ADC prend en charge le codage des codes hexadécimaux UTF-8. Pour plus d’informations, voir Format de codage de caractères PCRE.

Pour configurer un modèle de règle de signature

  1. Accédez à Sécurité > Citrix Web App Firewall > Signatures.
  2. Dans le volet de détails, sélectionnez l’objet de signatures que vous souhaitez configurer, puis cliquez sur Ouvrir.
  3. Dans la boîte de dialogue Modifier l’objet des signatures, au milieu de l’écran, sous la fenêtre Résultats filtrés, cliquez sur Ajouter pour créer une règle de signature ou sélectionnez une règle de signature existante et cliquez sur Ouvrir.

    Remarque :

    Vous ne pouvez modifier que les règles de signature que vous avez ajoutées. Vous ne pouvez pas modifier les règles de signature par défaut.

    En fonction de votre action, la boîte de dialogue Ajouter une règle de signature locale ou Modifier la règle de signature locale s’affiche. Les deux boîtes de dialogue ont le même contenu.

  4. Dans la fenêtre Modèles de la boîte de dialogue, cliquez sur Ajouter pour ajouter un nouveau motif, ou sélectionnez un modèle existant dans la liste située sous le bouton Ajouter et cliquez sur Ouvrir. En fonction de votre action, la boîte de dialogue Créer un nouveau modèle de règle de signature ou Modifier le modèle de règle de signature s’affiche. Les deux boîtes de dialogue ont le même contenu.
  5. Dans la liste déroulante Type de modèle, choisissez le type de connexion auquel le modèle est censé correspondre.

    • Si le modèle est destiné à correspondre à des éléments ou à des fonctionnalités de requête, tels que du code SQL injecté, des attaques contre des formulaires Web, des scripts intersites ou des URL inappropriées, choisissez Request.
    • Si le modèle est destiné à correspondre à des éléments ou à des fonctionnalités de réponse, tels que des numéros de carte de crédit ou des objets sécurisés, choisissez Réponse.
  6. Dans la zone Emplacement, définissez les éléments à examiner à l’aide de ce modèle. La zone Emplacement décrit les éléments de la requête ou de la réponse HTTP à examiner pour détecter ce modèle. Les choix qui apparaissent dans la zone Emplacement dépendent du type de motif choisi. Si vous avez choisi Request comme type de modèle, les éléments relatifs aux requêtes HTTP apparaissent. Si vous choisissez Réponse, les éléments relatifs aux réponses HTTP apparaissent. En outre, lorsque vous choisissez une valeur dans la liste déroulante Zone, les autres parties de la zone Localisation changent de manière interactive. Vous trouverez ci-dessous tous les éléments de configuration susceptibles d’apparaître dans cette section.

    • Région. Liste déroulante d’éléments qui décrivent une partie particulière de la connexion HTTP. Les choix sont les suivants :
      • HTTP_N’ IMPORTE QUEL. Toutes les parties de la connexion HTTP.
      • HTTP_COOKIE. Tous les cookies figurant dans les en-têtes de requête HTTP après toute transformation de cookie. Remarque : ne recherche pas les en-têtes « Set-Cookie : » des réponses HTTP.
      • CHAMP HTTP_FORM_FIELD. Les champs de formulaire et leur contenu, après le décodage de l’URL, le pourcentage de décodage et la suppression des espaces blancs excédentaires. Vous pouvez utiliser la <Location> balise pour restreindre davantage la liste des noms de champs de formulaire dans lesquels la recherche doit être effectuée.
      • HTTP_HEADER. Portions de valeur de l’en-tête HTTP après toute transformation de script intersite ou de décodage d’URL.
      • HTTP_METHODE. La méthode de requête HTTP.
      • URL D’ORIGINE HTTP. URL d’origine d’un formulaire Web.
      • HTTP_POST_BODY. Le corps du message HTTP et les données du formulaire Web qu’il contient.
      • HTTP_RAW_COOKIE. Tous les cookie de requête HTTP, y compris la partie du nom « Cookie : ». Remarque : ne recherche pas les en-têtes « Set-Cookie : » des réponses HTTP.
      • HTTP_RAW_HEADER. L’en-tête HTTP complet, avec les en-têtes individuels séparés par des caractères de ligne (\ n) ou des chaînes de retour/d’alimentation en ligne (\ r \ n).
      • HTTP_RAW_RESP_HEADER. L’intégralité de l’en-tête de réponse, y compris les parties nom et valeur de l’en-tête de réponse une fois la transformation de l’URL effectuée, et l’état complet de la réponse. Comme pour HTTP_RAW_HEADER, les en-têtes individuels sont séparés par des caractères d’entrée de ligne (\ n) ou des chaînes de retour de carrière/d’alimentation en ligne (\ r \ n).
      • HTTP_RAW_SET_COOKIE. L’intégralité de l’en-tête Set-Cookie après toute transformation d’URL Remarque : la transformation d’URL peut modifier à la fois les parties domaine et chemin de l’en-tête Set-Cookie.
      • HTTP_RAW_URL. L’URL complète de la demande avant toute transformation d’URL, y compris les parties de la requête ou du fragment.
      • HTTP_RESP_HEADER. La partie valeur des en-têtes de réponse complets après toute transformation d’URL.
      • HTTP_RESP_BODY. Le corps de la réponse HTTP
      • HTTP_SET_COOKIE. Tous les en-têtes « Set-Cookie » dans les en-têtes de réponse HTTP.
      • HTTP_STATUS_CODE. Le code d’état HTTP.
      • MESSAGE D’ÉTAT HTTP. Le message d’état HTTP.
      • URL HTTP. Portion de valeur de l’URL dans les en-têtes HTTP, à l’exclusion de tout port de requête ou de fragment, après conversion au jeu de caractères UTF-*, décodage de l’URL, suppression des espaces et conversion des URL relatives en URL absolues. N’inclut pas le décodage des entités HTML.
      • URL. Examine toutes les URL présentes dans les éléments spécifiés par le paramètre Zone. Sélectionnez l’un des paramètres suivants.
      • N’importe lequel. Vérifie toutes les URL.
      • Littéral. Vérifie les URL qui contiennent une chaîne littérale. Une fois que vous avez sélectionné Literal, une zone de texte s’affiche. Tapez la chaîne littérale souhaitée dans la zone de texte.
      • PCRE. Vérifie les URL qui correspondent à une expression régulière au format PCRE. Une fois que vous avez sélectionné ce choix, la fenêtre d’expression régulière s’affiche. Tapez l’expression régulière dans la fenêtre. Vous pouvez utiliser les jetons Regex pour insérer des éléments d’expression régulière courants au niveau du curseur, ou vous pouvez cliquer sur Regex Editor pour afficher la boîte de dialogue de l’éditeur d’expressions régulières, qui fournit une assistance supplémentaire pour créer l’expression régulière souhaitée.
      • Expression : Vérifie les URL qui correspondent à une expression par défaut de Citrix ADC.
      • Nom du champ. Examine tous les noms de champs de formulaire trouvés dans les éléments spécifiés par la sélection Zone. N’importe lequel. Vérifie toutes les URL.
      • Littéral. Vérifie les URL qui contiennent une chaîne littérale. Une fois que vous avez sélectionné Literal, une zone de texte s’affiche. Tapez la chaîne littérale souhaitée dans la zone de texte.
      • PCRE. Vérifie les URL qui correspondent à une expression régulière au format PCRE. Une fois que vous avez sélectionné ce choix, la fenêtre d’expression régulière s’affiche. Tapez l’expression régulière dans la fenêtre. Vous pouvez utiliser les jetons Regex pour insérer des éléments d’expression régulière courants ou vous pouvez utiliser l’éditeur Regex pour vous aider à créer l’expression régulière de votre choix.
      • Expression : Vérifie les URL qui correspondent à une expression par défaut de Citrix ADC.
  7. Dans la zone Motif, définissez le motif. Un modèle est une chaîne littérale ou une expression régulière au format PCRE qui définit le modèle auquel vous souhaitez faire correspondre. La zone Pattern contient les éléments suivants : - Correspondance. Liste déroulante des méthodes de recherche que vous pouvez utiliser pour la signature. Cette liste varie selon que le type de modèle est Request ou Response.

    Types de correspondance de demandes PCRE. Expression régulière au format PCRE.

    Remarque :

    Lorsque vous choisissez PCRE, les outils d’expression régulière situés sous la fenêtre Pattern sont activés. Ces outils ne sont pas utiles pour la plupart des autres types de motifs.

    • Injection. Indique au Web App Firewall de rechercher le code SQL injecté à l’emplacement spécifié. La fenêtre Pattern disparaît car le Web App Firewall possède déjà les modèles pour l’injection SQL.

    • Scripting intersite. Demande au Web App Firewall de rechercher des scripts intersites à l’emplacement spécifié. La fenêtre Pattern disparaît car le Web App Firewall possède déjà les modèles pour les scripts intersites.

    • Expression : Une expression dans le langage d’expressions par défaut de Citrix ADC est le même langage d’expression que celui utilisé pour créer des politiques de Web App Firewall sur l’appliance Citrix ADC. Bien que le langage d’expressions Citrix ADC ait été initialement développé pour les règles de politique, il s’agit d’un langage à usage général très flexible qui peut également être utilisé pour définir un modèle de signature.

    Lorsque vous choisissez Expression, l’éditeur Citrix ADC Expression s’affiche sous la fenêtre Motif. Pour plus d’informations sur l’éditeur d’expression et des instructions sur son utilisation, reportez-vous à la section Pour ajouter une règle de pare-feu (expression) à l’aide de la boîte de dialogue Ajouter une expression.

    Types de correspondance de réponse :

    -  Literal. A literal string
    -  PCRE. A PCRE-format regular expression.
    

    Remarque

    Lorsque vous choisissez PCRE, les outils d’expression régulière situés sous la fenêtre Pattern sont activés. Ces outils ne sont pas utiles pour la plupart des autres types de motifs.

    • Carte de crédit. Un modèle intégré correspondant à l’un des six types de numéro de carte de crédit pris en charge.

    Remarque :

    Le type de correspondance Expression n’est pas disponible pour les signatures côté réponse.

    • Fenêtre à motifs (non étiquetée)

    Dans cette fenêtre, tapez le modèle auquel vous souhaitez faire correspondre, puis renseignez les données supplémentaires.

    • Littéral. Tapez la chaîne que vous souhaitez rechercher dans la zone de texte.
    • SOINS. Tapez l’expression régulière dans la zone de texte. Utilisez l’éditeur Regex pour obtenir plus d’aide lors de la création de l’expression régulière que vous souhaitez, ou les jetons Regex pour insérer des éléments d’expression régulière courants au niveau du curseur. Pour activer les caractères UTF-8, cliquez sur UTF-8.
    • Expression : Tapez l’expression avancée Citrix ADC dans la zone de texte. Utilisez le préfixe pour choisir le premier terme de votre expression, ou l’opérateur pour insérer des opérateurs courants au niveau du curseur. Cliquez sur Ajouter pour ouvrir la boîte de dialogue Ajouter une expression afin d’obtenir de l’aide pour créer l’expression régulière de votre choix. Cliquez sur Evaluer pour ouvrir l’évaluateur d’expression avancé qui vous aidera à déterminer l’effet de votre expression.
    • Décalage. Le nombre de caractères à ignorer avant de commencer à correspondre sur ce modèle. Vous utilisez ce champ pour commencer à examiner une chaîne à un moment autre que le premier caractère.
    • Profondeur. Combien de caractères à partir du point de départ doivent être examinés pour trouver des correspondances. Ce champ permet de limiter les recherches d’une grande chaîne à un certain nombre de caractères.
    • Longueur minimale. La chaîne à rechercher doit avoir au moins le nombre d’octets spécifié. Les chaînes plus courtes ne correspondent pas.
    • Longueur maximale. La chaîne à rechercher ne doit pas dépasser le nombre d’octets spécifié. Les chaînes plus longues ne correspondent pas.
    • Méthode de recherche. Une case à cocher intitulée fastmatch. Vous pouvez activer fastmatch uniquement pour un modèle littéral, afin d’améliorer les performances.
  8. Cliquez sur OK.
  9. Répétez les quatre étapes précédentes pour ajouter ou modifier d’autres modèles.
  10. Lorsque vous avez terminé d’ajouter ou de modifier des modèles, cliquez sur OK pour enregistrer vos modifications et revenir au volet Signatures.

Attention :

Tant que vous ne cliquez pas sur OK dans la boîte de dialogue Ajouter une règle de signature locale ou Modifier une règle de signature locale, vos modifications ne sont pas enregistrées. Ne fermez aucune de ces boîtes de dialogue sans cliquer sur OK, sauf si vous souhaitez annuler vos modifications.

Modèles de règles de signature