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 avez définis et envoie ce trafic au Web App Firewall pour le 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 NetScaler. La syntaxe des expressions NetScaler est un puissant langage de programmation 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 NetScaler ou qui préfèrent configurer leur appliance NetScaler à 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 NetScaler pour configurer leurs appliances NetScaler.

Remarque :

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

Pour des informations détaillées sur les langages d’expressions NetScaler, consultezla 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 NetScaler.

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 stratégie appropriée pour protéger un blog hébergé sous 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 Créer Web App Firewall s’affiche.
    • Pour modifier une stratégie de pare-feu existante, sélectionnez la stratégie, 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 Create Web App Firewall Policy, zone de texte Policy Name, tapez le nom de votre nouvelle stratégie.

    Le nom peut commencer par une lettre, un chiffre ou le symbole de soulignement et peut comprendre de 1 à 128 lettres, chiffres et le tiret (-), le point (.), la livre (#), l’espace (), l’arobase (@), l’égal (=), les deux points (:) et le trait de 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, puis 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 créer la règle.
  6. Cliquez sur Créer ou sur OK, puis 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 ( ouexpressions) de stratégie NetScaler, les règles du Web App Firewall utilisent la syntaxe des expressions NetScaler. Cette syntaxe est puissante, flexible et extensible. C’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 pour obtenir une vue d’ensemble 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 de NetScaler 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. Choisissez un protocole HTTP si vous souhaitez examiner certains aspects de la demande qui se rapportent au protocole.
    • SYS. Choisissez des sites Web protégés si vous souhaitez examiner certains aspects de la demande qui concernent le destinataire de la demande.
    • CLIENT. Choisissez le client qui a envoyé la demande. Choisissez cette option si vous souhaitez examiner certains aspects de l’expéditeur de la demande.
    • SERVER. Choisissez le 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 mandat.

    Si vous avez choisi le protocole HTTP comme préfixe, votre seul choix est REQ, qui spécifie la paire Requête/Réponse. (Le Web App Firewall fonctionne sur la demande et la réponse comme une unité plutôt que séparément.) Si vous choisissez 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 les informations le concernant dans la fenêtre contextuelle inférieure.

    Lorsque vous avez choisi le terme que vous souhaitez utiliser, 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 ensuite invité à choisir votre prochain terme, comme décrit à l’étape précédente. Lorsqu’un terme nécessite que vous saisissiez une valeur, renseignez 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 à partir des instructions et à saisir les valeurs nécessaires jusqu’à ce que votre expression soit terminée.

    Vous trouverez ci-dessous quelques exemples d’expressions destinées à des fins spécifiques.

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

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

      Remplacez par le nom de l’hébergeur auquel vous souhaitez faire correspondre le nom. shopping.example.com

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

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

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

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

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

      Pour faire correspondre des images d’un autre format, remplacez .gif par une autre chaîne.

    • 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")
       <!--NeedCopy-->
      

      Pour associer tous les fichiers 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, pensez à éviter les guillemets doubles dans les expressions NetScaler. Par exemple, l’expression suivante est correcte si elle est saisie dans l’interface graphique :

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

    Toutefois, si vous la saisissez sur la ligne de commande, vous devez plutôt 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’expressions) permet aux utilisateurs qui ne sont pas familiarisés avec le langage d’expressions NetScaler d’élaborer une stratégie correspondant au trafic qu’ils souhaitent 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 de NetScaler :
    • 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. Choisissez le protocole HTTP si vous souhaitez examiner certains aspects de la demande qui se rapportent au protocole HTTP. Le choix par défaut.
    • SYS. Choisissez des sites Web protégés si vous souhaitez examiner certains aspects de la demande qui concernent 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.
    • SERVER. 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 varient en fonction du 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 qui sont 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 requêtes. É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 terme, une troisième zone de liste apparaît à droite du second. La fenêtre d’aide affiche la 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 sur la droite et la fenêtre d’aide change pour afficher la description du nouveau terme. La fenêtre Aperçu de l’expression se met à jour pour afficher l’expression telle que vous l’avez spécifiée jusqu’à présent.
  6. Continuez à choisir des termes et, lorsque vous y êtes invité, à saisir des arguments, jusqu’à ce que votre expression soit complète. Si vous faites une erreur ou souhaitez modifier votre expression alors que vous avez déjà sélectionné un terme, vous pouvez simplement en choisir un autre. 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 créer 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 .