ADC

Création et configuration de politiques de Web App Firewall

Une politique 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 politique 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 sont pas familiarisés avec la syntaxe du langage d’expressions NetScaler ou qui préfèrent configurer leur appliance NetScaler à l’aide d’une interface Web, l’interface graphique fournit deux outils : le menuPréfixe et la boîtede 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 NetScaler Cluster doivent migrer toutes les politiques contenant des expressions classiques vers la syntaxe des expressions par défaut.

Pour des informations détaillées sur les langages d’expressions NetScaler, consultez Politiques etexpressions.

Vous pouvez créer une politique de pare-feu à l’aide de l’interface graphique ou de la ligne de commande NetScaler.

Pour créer et configurer une politique à 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 ajoute une politique 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 politique au profil pr-blog. Il s’agit d’une politique 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 politique à l’aide de l’interface graphique

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

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

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

    La fenêtre Créer une politique de Web App Firewall ou Configurer une politique de pare-feu pour applications Web s’affiche.

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

    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 politique 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 politique dans la liste déroulante Profil. Vous pouvez créer un profil à associer à votre politique 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 politique.

    • 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 politique, également appelée expression, définit le trafic Web que le Web App Firewall filtre à l’aide du profil associé à la politique. Comme les autres règles (ou expressions) de politique 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 politique de pare-feu simple, ou vous pouvez la lire comme une vue d’ensemble du processus de création de la politique.

  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 politique :

    • 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 politique manuellement, dans le volet de navigation, développez Web App Firewall, puis Politiques, puis Firewall. Dans le volet d’informations, pour créer une politique, cliquez sur Ajouter. Pour modifier une politique 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 d’ applications Web ou dans la boîte de dialogue de configuration du profil de pare-feu d’applications 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.
    • SERVEUR. 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 (« »), saisissez 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ébergeur 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 ou répertoire Web 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 politique, 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) aide les utilisateurs qui ne sont pas familiarisés avec le langage d’expressions NetScaler à élaborer une politique 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 politique manuellement, dans le volet de navigation, développez Web App Firewall, puis Politiques, puis Firewall. Dans le volet d’informations, pour créer une politique, cliquez sur Ajouter. Pour modifier une politique 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 de configuration du 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 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.
    • 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 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 .
Création et configuration de politiques de Web App Firewall