Citrix ADC

Création et configuration de stratégies Web App Firewall

Une stratégie de pare-feu se compose de deux éléments : une règleet un profilassocié. La règle sélectionne le trafic HTTP qui correspond aux critères que vous définissez et envoie ce trafic au Web App Firewall pour le filtrage. Le profil contient les critères de filtrage utilisés par le pare-feu des applications Web.

La règle de stratégie consiste en une ou plusieurs expressions dans le langage des expressions Citrix ADC. La syntaxe des expressions Citrix ADC est un langage de programmation puissant orienté objet qui vous permet de désigner précisément le trafic que vous souhaitez traiter avec un profil spécifique. Pour les utilisateurs qui ne connaissent pas complètement la syntaxe du langage des expressions Citrix ADC ou qui préfèrent configurer leur appliance Citrix ADC à l’aide d’une interface Web, l’interface graphique fournit deux outils : le menu Préfixe et la boîte de dialogue Ajouter une expression. Les deux vous aident à écrire des expressions qui sélectionnent exactement le trafic que vous souhaitez traiter. Les utilisateurs expérimentés qui connaissent parfaitement la syntaxe peuvent préférer utiliser la ligne de commande Citrix ADC pour configurer leurs appliances Citrix ADC.

Remarque : Outre la syntaxe des expressions par défaut, le système d’exploitation Citrix ADC prend en charge la syntaxe des expressions classiques Citrix ADC sur les appliances Citrix ADC Classic et nCore et les appliances virtuelles Citrix. Les expressions classiques ne sont pas prises en charge sur les appliances Citrix ADC Cluster et les appliances virtuelles. Les utilisateurs actuels de Citrix ADC qui souhaitent migrer des configurations existantes vers le cluster Citrix ADC doivent migrer toutes les stratégies qui contiennent des expressions classiques vers la syntaxe des expressions par défaut.

Pour plus d’informations sur les langages d’expressions Citrix ADC, reportez-vous à la sectionStratégies et expressions.

Vous pouvez créer une stratégie de pare-feu à l’aide de l’interface graphique ou de la ligne de commande Citrix ADC.

Pour créer et configurer une stratégie à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes :

  • add appfw policy <name><rule> <profileName>
  • save ns config

Exemple

L’exemple suivant montre comment ajouter une stratégie nommée pl-blog, avec une règle qui intercepte tout le trafic à destination ou en provenance de l’hôte blog.example.com et associe cette stratégie au profil pr-blog. Il s’agit d’une politique appropriée pour protéger un blog hébergé sur un nom d’hôte spécifique.

add appfw policy pl-blog "HTTP.REQ.HOSTNAME.DOMAIN.EQ("blog.example.com")" pr-blog

Pour créer et configurer une stratégie à l’aide de l’interface graphique

  1. Accédez à Sécurité > Web App Firewall > Stratégies.

  2. Dans le volet d’informations, effectuez l’une des opérations suivantes :

    • Pour créer une stratégie de pare-feu, cliquez sur Ajouter. La Stratégie Créer Web App Firewall s’affiche.
    • Pour modifier une stratégie de pare-feu existante, sélectionnez-la, puis cliquez sur Modifier.

    La stratégie Créer une stratégie de Web App Firewall ou Configurer la stratégie de pare-feu d’application Web s’affiche.

  3. Si vous créez une stratégie de pare-feu, dans la boîte de dialogue Créer une stratégie de Web App Firewall, zone de texte Nom de la stratégie, tapez le nom de votre nouvelle stratégie.

    Le nom peut commencer par une lettre, un nombre ou le symbole de trait de soulignement, et peut être composé de un à 128 lettres, chiffres et le tiret (-), point (.) livre (#), espace (), arobase (@), égal (=), deux-points (:) et soulignement (_).

    Si vous configurez une stratégie de pare-feu existante, ce champ est en lecture seule. Vous ne pouvez pas le modifier.

  4. Sélectionnez le profil à associer à cette stratégie dans la liste déroulante Profil. Vous pouvez créer un profil à associer à votre stratégie en cliquant sur Nouveau, et vous pouvez modifier un profil existant en cliquant sur Modifier.

  5. Dans la zone de texte Expression, créez une règle pour votre stratégie.

    • Vous pouvez taper une règle directement dans la zone de texte.
    • Vous pouvez cliquer sur Préfixe pour sélectionner le premier terme de votre règle et suivre les invites. Pour une description complète de ce processus, reportez-vous à [To Create an Web App Firewall Rule (Expression)](/en-us/netscaler/ns-gen-Citrix ADC11-wrapper-con/ns-gen-appsec-wrapper-10-con/appfw-wrapper-con-10/appfw-policies-con/appfw-policies-firewall-tsk/appfw-policies-firewall-configuring-tsk.html)\.
    • Vous pouvez cliquer sur Ajouter pour ouvrir la boîte de dialogue Ajouter une expression et l’utiliser pour construire la règle. Pour une description complète de ce processus, reportez-vous à la section [The Add Expression Dialog Box](/en-us/netscaler/ns-gen-Citrix ADC11-wrapper-con/ns-gen-appsec-wrapper-10-con/appfw-wrapper-con-10/appfw-policies-con/appfw-policies-firewall-tsk/appfw-policies-firewall-configuring-tsk.html.
  6. Cliquez sur Créer ou OK, puis cliquez sur Fermer.

Pour créer ou configurer une règle de Web App Firewall (expression)

La règle de stratégie, également appelée expression, définit le trafic Web que le Web App Firewall filtre à l’aide du profil associé à la stratégie. Comme les autres règles de stratégie ADC Citrix (ou expressions), les règles de Web App Firewall utilisent la syntaxe des expressions Citrix ADC. Cette syntaxe est puissante, flexible et extensible. Il est trop complexe pour décrire complètement dans cet ensemble d’instructions. Vous pouvez utiliser la procédure suivante pour créer une règle de stratégie de pare-feu simple ou la lire comme une vue d’ensemble du processus de création de stratégie.

  1. Si vous ne l’avez pas déjà fait, accédez à l’emplacement approprié dans l’Assistant Web App Firewall ou dans l’interface graphique Citrix ADC pour créer votre règle de stratégie :

    • Si vous configurez une stratégie dans l’Assistant Web App Firewall, dans le volet de navigation, cliquez sur Web App Firewall, puis dans le volet d’informations, cliquez sur Assistant Web App Firewall, puis accédez à l’écran Spécifier une règle.
    • Si vous configurez une stratégie manuellement, dans le volet de navigation, développez Web App Firewall, Stratégies, puis Pare-feu. Dans le volet d’informations, pour créer une stratégie, cliquez sur Ajouter. Pour modifier une stratégie existante, sélectionnez-la, puis cliquez sur Ouvrir.
  2. Dans l’écran Spécifier une règle, la boîte de dialogue Créer un profil de Web App Firewall d’application Web ou la boîte de dialogue Configurer le profil de pare-feu d’application Web, cliquez sur Préfixe, puis choisissez le préfixe de votre expression dans la liste déroulante. Vos choix sont les suivants :

    • HTTP. Le protocole HTTP. Choisissez cette option si vous souhaitez examiner un aspect de la demande qui concerne le protocole HTTP.
    • SYS. Le(s) site(s) protégé(s). Choisissez cette option si vous souhaitez examiner un aspect de la demande qui concerne le destinataire de la demande.
    • CLIENT. Ordinateur qui a envoyé la demande. Choisissez cette option si vous souhaitez examiner un aspect de l’expéditeur de la demande.
    • SERVER. Ordinateur auquel la demande a été envoyée. Choisissez cette option si vous souhaitez examiner un aspect du destinataire de la demande.

    Après avoir choisi un préfixe, le Web App Firewall affiche une fenêtre d’invite en deux parties qui affiche les options suivantes possibles en haut et une brève explication de ce que signifie le choix sélectionné en bas.

  3. Choisissez votre terme suivant.

    Si vous avez choisi HTTP comme préfixe, votre seul choix est REQ, qui spécifie la paire Request/Réponse. (Le Web App Firewall fonctionne sur la demande et la réponse en tant qu’unité plutôt que sur chacune séparément.) Si vous avez choisi un autre préfixe, vos choix sont plus variés. Pour obtenir de l’aide sur un choix spécifique, cliquez une fois sur ce choix pour afficher des informations à ce sujet dans la fenêtre d’invite inférieure.

    Lorsque vous avez décidé du terme souhaité, double-cliquez dessus pour l’insérer dans la fenêtre Expression.

  4. Tapez un point après le terme que vous venez de choisir. Vous êtes alors invité à choisir votre prochain terme, comme décrit à l’étape précédente. Lorsqu’un terme nécessite que vous saisissiez une valeur, saisissez la valeur appropriée. Par exemple, si vous choisissez HTTP.REQ.HEADER(“”), tapez le nom de l’en-tête entre guillemets.

  5. Continuez à choisir des termes dans les invites et à remplir toutes les valeurs nécessaires, jusqu’à ce que votre expression soit terminée.

    Voici quelques exemples d’expressions à des fins spécifiques.

    • Hôte Web spécifique. Pour faire correspondre le trafic provenant d’un hôte Web particulier :

       HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
      

      Pour shopping.example.com, remplacez le nom de l’hôte Web que vous souhaitez faire correspondre.

    • Dossier Web ou répertoire spécifique. Pour faire correspondre le trafic provenant d’un dossier ou d’un répertoire particulier sur un hôte Web :

       HTTP.REQ.URL.STARTSWITH("https//www.example.com/folder")
      

      Pour www.example.com, remplacez le nom de l’hôte Web. Pour le dossier, remplacez le dossier ou le chemin d’accès au contenu que vous souhaitez faire correspondre. Par exemple, si votre panier se trouve dans un dossier appelé /solutions/orders, vous remplacez cette chaîne par dossier.

    • Type de contenu spécifique : images GIF. Pour faire correspondre les images au format GIF :

       HTTP.REQ.URL.ENDSWITH(".gif")
      

      Pour correspondre à d’autres images de format, remplacez une autre chaîne à la place de .gif.

    • Type de contenu spécifique : scripts. Pour faire correspondre tous les scripts CGI situés dans le répertoire CGI-BIN :

       HTTP.REQ.URL.STARTSWITH("https//www.example.com/CGI-BIN")
      

      Pour faire correspondre tous les Javascripts avec les extensions .js :

       HTTP.REQ.URL.ENDSWITH(".js")
      

      Pour plus d’informations sur la création d’expressions de stratégie, reportez-vous à la section “Stratégies et expressions.”

    Remarque : Si vous utilisez la ligne de commande pour configurer une stratégie, n’oubliez pas d’échapper les guillemets doubles dans les expressions Citrix ADC. Par exemple, l’expression suivante est correcte si elle est entrée dans l’interface graphique :

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    

    Si vous entrez dans la ligne de commande, cependant, vous devez taper ceci à la place :

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    

Pour ajouter une règle de pare-feu (expression) à l’aide de la boîte de dialogue Ajouter une expression

La boîte de dialogue Ajouter une expression (également appelée Éditeur d’expression) aide les utilisateurs qui ne connaissent pas le langage des expressions Citrix ADC à construire une stratégie qui correspond au trafic qu’ils veulent filtrer.

  1. Si vous ne l’avez pas déjà fait, accédez à l’emplacement approprié dans l’Assistant Web App Firewall ou dans l’interface graphique Citrix ADC :
    • Si vous configurez une stratégie dans l’Assistant Web App Firewall, dans le volet de navigation, cliquez sur Web App Firewall, puis dans le volet d’informations, cliquez sur Assistant Web App Firewall, puis accédez à l’écran Spécifier une règle.
    • Si vous configurez une stratégie manuellement, dans le volet de navigation, développez Web App Firewall, Stratégies, puis Pare-feu. Dans le volet d’informations, pour créer une stratégie, cliquez sur Ajouter. Pour modifier une stratégie existante, sélectionnez-la, puis cliquez sur Ouvrir.
  2. Dans l’écran Spécifier une règle, dans la boîte de dialogue Créer un profil de Web App Firewall ou dans la boîte de dialogue Configurer le profil de pare-feu d’application Web, cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter une expression, dans la zone Construire une expression, dans la première zone de liste, choisissez l’un des préfixes suivants :
    • HTTP. Le protocole HTTP. Choisissez cette option si vous souhaitez examiner un aspect de la demande qui concerne le protocole HTTP. Le choix par défaut.
    • SYS. Le(s) site(s) protégé(s). Choisissez cette option si vous souhaitez examiner un aspect de la demande qui concerne le destinataire de la demande.
    • CLIENT. Ordinateur qui a envoyé la demande. Choisissez cette option si vous souhaitez examiner un aspect de l’expéditeur de la demande.
    • SERVER. Ordinateur auquel la demande a été envoyée. Choisissez cette option si vous souhaitez examiner un aspect du destinataire de la demande.
  4. Dans la deuxième zone de liste, choisissez votre prochain terme. Les termes disponibles diffèrent selon le choix que vous avez fait à l’étape précédente, car la boîte de dialogue ajuste automatiquement la liste pour ne contenir que les termes valides pour le contexte. Par exemple, si vous avez sélectionné HTTP dans la zone de liste précédente, le seul choix est REQ, pour les demandes. Étant donné que le Web App Firewall traite les demandes et les réponses associées comme une seule unité et filtre les deux, vous n’avez pas besoin de réponses spécifiques séparément. Après avoir choisi votre deuxième terme, une troisième zone de liste apparaît à droite du second. La fenêtre Aide affiche une description du deuxième terme et la fenêtre Aperçu de l’expression affiche votre expression.
  5. Dans la troisième zone de liste, choisissez le terme suivant. Une nouvelle zone de liste apparaît à droite et la fenêtre d’aide change pour afficher une description du nouveau terme. La fenêtre Aperçu de l’expression est mise à jour pour afficher l’expression telle que vous l’avez spécifiée à ce point.
  6. Continuez à choisir des termes, et lorsque vous y êtes invité à remplir des arguments, jusqu’à ce que votre expression soit terminée. Si vous faites une erreur ou souhaitez modifier votre expression après avoir déjà sélectionné un terme, vous pouvez simplement choisir un autre terme. L’expression est modifiée et tous les arguments ou termes supplémentaires que vous avez ajoutés après le terme que vous avez modifié sont effacés.
  7. Lorsque vous avez terminé de construire votre expression, cliquez sur OK pour fermer la boîte de dialogue Ajouter une expression. Votre expression est insérée dans la zone de texte Expression.