Citrix ADC

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

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

La règle de stratégie consiste en une ou plusieurs expressions dans le langage d’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 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, pour des raisons de compatibilité ascendante, 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. 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 section Straté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 vers ou depuis l’hôte blog.example.com, et associe cette stratégie au profil pr-blog. Il s’agit d’une stratégie 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
<!--NeedCopy-->

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 Create 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 Web App 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 un nom pour votre nouvelle stratégie.

    Le nom peut commencer par une lettre, un chiffre ou le symbole de soulignement. Il peut être composé de 1 à 128 lettres, chiffres et le trait d’union (-), point (.) livre (#), espace (), à (@), é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 que vous souhaitez 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 saisir 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 instructions.
    • Vous pouvez cliquer sur Ajouter pour ouvrir la boîte de dialogue Ajouter une expression et l’utiliser pour construire la règle.
  6. Cliquez sur Créer ou sur 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 (ou expressions) Citrix ADC, les règles Web App Firewall utilisent la syntaxe des expressions Citrix ADC. Cette syntaxe est puissante, flexible et extensible. Il est trop complexe pour être décrit 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 vous pouvez la lire comme un aperçu du processus de création de stratégie.

  1. Si ce n’est 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. Sur l’écran Spécifier une règle, la boîte de dialogue Créer un profil de Web App FirewallWeb App ou la boîte de dialogue Configurer le profil de pare-feuWeb App, cliquez surPréfixe, puis choisissez le préfixe de votre expression dans la liste déroulante. Vos choix sont les suivants :

    • HTTP. Choisissez un protocole HTTP si vous souhaitez examiner certains aspects de la demande qui se rapportent au protocole.
    • DIT. Choisissez des sites Web protégés si vous souhaitez examiner certains aspects de la demande concernant le destinataire de la demande.
    • CLIENT. Choisissez un client qui a envoyé la demande. Choisissez cette option si vous souhaitez examiner certains aspects de l’expéditeur de la demande.
    • SERVEUR. Choisissez un client auquel la demande a été envoyée et si vous souhaitez examiner certains aspects du destinataire de la demande.

    Une fois que vous avez choisi un préfixe, le Web App Firewall affiche une fenêtre d’invite en deux parties qui affiche les choix suivants possibles en haut, et une brève explication de la signification du choix sélectionné en bas.

  3. Choisissez votre prochain trimestre.

    Si vous avez choisi le protocole 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 d’elles 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 le concernant dans la fenêtre d’invite inférieure.

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

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

  5. Continuez à choisir des termes à partir des invites et à renseigner 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 d’un hôte Web particulier :

       HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
       <!--NeedCopy-->
      

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

    • Dossier ou répertoire Web 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")
       <!--NeedCopy-->
      

      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 un dossier.

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

       HTTP.REQ.URL.ENDSWITH(".gif")
       <!--NeedCopy-->
      

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

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

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

      Pour faire correspondre tous les JavaScript aux extensions .js :

       HTTP.REQ.URL.ENDSWITH(".js")
       <!--NeedCopy-->
      

      Pour plus d’informations sur la création d’expressions de stratégie, voir Stratégies et expressions.

    Remarque :

    Si vous utilisez la ligne de commande pour configurer une stratégie, n’oubliez pas d’échapper aux 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")
    <!--NeedCopy-->
    

    Si vous êtes entré sur la ligne de commande, vous devez toutefois taper la commande suivante :

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    <!--NeedCopy-->
    

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 correspondant au trafic qu’ils veulent filtrer.

  1. Si ce n’est 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. Sur 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 Web App Firewall, 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. Choisissez le protocole HTTP si vous souhaitez examiner certains aspects de la requête qui se rapportent au protocole HTTP. Le choix par défaut.
    • DIT. Choisissez des sites Web protégés si vous souhaitez examiner certains aspects de la demande concernant le destinataire de la demande.
    • CLIENT. Choisissez l’ordinateur qui a envoyé la demande si vous souhaitez examiner certains aspects de l’expéditeur de la demande.
    • SERVEUR. Choisissez l’ordinateur auquel la demande a été envoyée et examinez certains aspects du destinataire de la demande.
  4. Dans la deuxième zone de liste, choisissez votre prochain terme. Les termes disponibles diffèrent en fonction du choix que vous avez fait à l’étape précédente, car la boîte de dialogue ajuste automatiquement la liste pour contenir uniquement 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. Une fois que vous avez choisi votre deuxième trimestre, une troisième zone de liste apparaît à droite du second. La fenêtre d’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 moment-là.
  6. Continuez à choisir des termes et lorsque vous y êtes invité à remplir des arguments, jusqu’à ce que votre expression soit terminée. Si vous commettez 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 autres termes que vous avez ajoutés après le terme que vous avez modifié sont effacés.
  7. Lorsque vous avez fini 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 .