Guide de déploiement de validation de concept pour Citrix Web Application Firewall

Aperçu

Ce guide de validation de concept (PoC) est conçu pour vous aider à déployer rapidement Citrix Web App Firewall (WAF) soit autonome, soit dans le cadre d’un déploiement ADC existant afin de protéger les applications et les services Web. Ce guide couvre certaines des bases de Citrix WAF, les meilleures pratiques de déploiement et les prochaines étapes de vos projets WAF. Ce guide ne couvrira PAS toutes les protections disponibles et ne couvrira pas toutes les technologies Web disponibles aujourd’hui.

Ces instructions couvrent le clonage d’une application ou d’un serveur déjà en cours d’exécution par proxy par une appliance ADC, ce qui permet aux administrateurs de créer des stratégies et des règles sans perturber le trafic existant. Ce n’est pas la seule façon de déployer un PoC pour le pare-feu d’applications Web, mais c’est plus facile que d’autres méthodes.

Architecture conceptuelle

Citrix Web Application Pare-feu et architecture d'applications

Un pare-feu d’applications Web fonctionne au niveau de la couche 7, la couche d’application, contrairement aux pare-feu réseau traditionnels fonctionnant à la couche 3 ou à la couche 4. Il comprend les protocoles Web et applicatifs tels que HTTP, XML, SQL et HTML.

Citrix WAF fournit à la fois des modèles de sécurité positifs et négatifs pour la protection la plus large possible. Le modèle de sécurité négative utilise des signatures de vulnérabilité pour prévenir les attaques connues. Il permet également un déploiement initial rapide et fournit un mécanisme de « mise à jour virtuelle » des applications en important les résultats d’outils d’évaluation tiers.

Citrix Web Application Pare-feu et architecture d'applications

Le modèle de sécurité positif définit les modèles de trafic et les comportements des utilisateurs autorisés et bloque tout le reste. Le profilage dynamique est utilisé par le moteur WAF pour créer des ensembles de règles pour le comportement acceptable.

Citrix Web Application Pare-feu et architecture d'applications

Conditions préalables

Ce guide suppose que les éléments suivants sont déjà configurés sur votre Citrix ADC ou Citrix WAF autonome :

  1. Une compréhension de base des concepts de mise en réseau et de la gestion du Citrix ADC
  2. L’appliance ADC est déjà déployée et accessible sur le réseau
  3. Une licence appropriée a été appliquée - soit WAF autonome, soit pour ADC, une licence Premium est requise
  4. Un NSIP a été assigné et est accessible à la direction
  5. Un SNIP a été attribué et peut communiquer avec un ou plusieurs services protégés
  6. Une adresse IP interne uniquement et une entrée DNS pour un autre VIP (le service peut déjà être équilibré par l’ADC, assurez-vous qu’une adresse IP et un DNS distincts sont disponibles)

    Remarque :

    L’utilisation d’un nom DNS et d’une URL différents pour accéder à une application PEUT nécessiter l’ajout d’une configuration à l’application pour la mettre au courant du nouveau nom

  7. Une compréhension de base de l’architecture et de la structure de l’application ou du service que vous protégez. Par exemple, si le site traite les informations de carte de crédit détermine si les protections de carte de crédit sont activées, ou si l’application utilise une base de données SQL pour le stockage détermine si les protections SQLi sont utilisées
  8. Une compréhension de base des protocoles et technologies Web tels que HTTP, HTML, expressions régulières, JavaScript et plus encore, selon l’application protégée
  9. Compréhension de base de l’équilibrage de charge de couche 4 et de la configuration sur le Citrix ADC
  10. Un serveur syslog dédié - alors que les syslogs locaux sont disponibles, il est recommandé d’avoir un serveur syslog dédié configuré. Sinon, Citrix ADM avec Security Insight fournit des analyses détaillées sur le moteur WAF et la sécurité des applications

Considérations relatives à la preuve de concept WAF

Plus que probablement, le service Web ou l’application que nous voulons protéger est déjà mandaté par l’ADC pour l’équilibrage de charge ou d’autres services de gestion du trafic. Pendant le déploiement WAF PoC, nous ne voulons PAS perturber la fonctionnalité ou la disponibilité de l’application pour les utilisateurs existants. Pour ce faire, un serveur virtuel dupliqué est créé avec la seule différence étant que le serveur virtuel dupliqué a des stratégies WAF liées à lui.

Cette méthode permet également aux utilisateurs de tester l’application pour s’assurer qu’elle fonctionne correctement et pour créer des règles WAF pour un trafic acceptable.

Le dimensionnement du déploiement ADC doit être pris en compte avant d’activer le pare-feu d’application Web, car il peut entraîner une consommation importante de ressources. La meilleure façon d’estimer le dimensionnement consiste à utiliser le serveur Web pour analyser et estimer la taille des demandes, la taille des réponses et le nombre de formulaires. Citrix ADC peut être utilisé pour collecter des mesures de dimensionnement Web de base, mais uniquement si l’application est déjà en cours de proxy :


show httpband -type RESPONSE
show httpband -type REQUEST
<!--NeedCopy-->

Certaines protections nécessitent beaucoup plus de ressources que d’autres, ainsi appelées protections avancées. Les protections avancées consomment plus de ressources car elles se souviennent des champs de formulaire, des URL, des cookies et d’autres données dans la transaction Web. Le moteur WAF valide que les données ne changent pas entre les transactions afin de s’assurer que les demandes et les réponses ne sont pas falsifiées et consomment donc plus de mémoire matérielle-logicielle. Certaines protections avancées prennent en charge la vérification sans session comme indiqué dans la configuration - la protection sans session nécessite plus de ressources CPU que de mémoire.

Par exemple, une appliance dotée de stratégies avancées peut traiter environ un dixième plus de trafic qu’une appliance identique avec uniquement des protections de base. Reportez-vous aux fiches techniques Citrix ADC pour connaître les capacités de débit WAF prises en charge pour chaque appliance différente.

Protections recommandées

Ces contrôles de sécurité peuvent généralement être activés dans le profil WAF. La plupart de ces vérifications nécessitent l’application de règles apprises avant d’activer le blocage. N’activez PAS BLOCK par défaut, sans déployer d’abord les règles apprises.

Note :

Cette liste n’est PAS exhaustive. Certaines protections ne sont pas compatibles avec certaines applications et certaines protections n’apportent aucun avantage à d’autres applications.

  • Cohérence des
    • Permet de chiffrer ou de chiffrer les cookies de session de l’application par proxy par le moteur WAF
    • La cohérence des cookies empêche un acteur malveillant de falsifier les cookies
    • La cohérence des cookies est une protection avancée

      Remarque :

      N’activez PAS ce paramètre lorsque les utilisateurs utilisent activement l’application, car les cookies de session non chiffrés ne seront pas autorisés

    • Plus d’informations dans Citrix Prod Docs
  • Dépassement de tampon
    • Empêche les attaques contre les systèmes d’exploitation ou les logiciels de serveur Web non sécurisés qui peuvent se comporter de façon imprévisible lors de la réception de données plus volumineuses qu’il ne peut gérer
    • Dépassement de tampon détecte si l’URL, les cookies ou les en-têtes sont plus longs que la taille maximale spécifiée
    • Plus d’informations dans Citrix Prod Docs
  • Vérification de la cohérence des champs de formulaire
    • Valide que les formulaires Web renvoyés par les utilisateurs n’ont pas été modifiés avant d’être envoyés au serveur
    • La cohérence des champs de formulaire est une protection avancée avec une prise en charge sans session
    • Plus d’informations dans Citrix Prod Docs
  • Injection SQL
    • Bloque ou transforme des mots-clés et des caractères spéciaux SQL à partir du corps, de l’en-tête et des cookies POST
    • Uniquement applicable si l’application Web utilise une base de données SQL
    • Plus d’informations dans Citrix Prod Docs
  • Vérification des scripts inter-sites (XSS)
    • Vérifie les en-têtes et les corps POST des demandes d’attaques de script intersite
    • WAF peut soit bloquer complètement la requête, soit transformer les scripts incriminés pour les empêcher d’exécuter
    • Plus d’informations dans Citrix Prod Docs
  • Refuser URL
    • Bloque les connexions aux URL fréquemment consultées par les pirates et les codes malveillants ou les scripts
    • Vous pouvez ajouter des règles d’URL de refus personnalisées dans Règles de relaxation > Refuser l’interface utilisateur de l’URL, en cliquant sur Modifier puis sur Ajouter
    • Plus d’informations dans Citrix Prod Docs
  • URL de démarrage (fermeture de l’URL)
    • Empêche l’accès direct aux URL aléatoires sur un site (navigation forcée) par le biais de signets, de liens externes, de sauts de page ou de saisie manuelle d’URL
    • L’URL de démarrage est une protection avancée avec prise en charge sans session ; les règles apprises DOIVENT être déployées avant le blocage en fonction de l’URL de démarrage
    • Plus d’informations dans Citrix Prod Docs

Configuration WAF initiale

Il existe deux options lors de la configuration de la protection WAF :

  • Option 1 : Utiliser l’Assistant de configuration du Web App Firewall pour créer un profil WAF et une stratégie WAF
    • L’assistant vous guide tout au long de la création d’un jeu de signatures initial ainsi que d’autres vérifications et paramètres de sécurité comme suit :
      • Dans l’interface utilisateur Web, accédez à : Sécurité > Citrix Web App Firewall

      Citrix Web Application Pare-feu et architecture d'applications

      • Choisissez un nom pour le profil WAF et le type de profil (Web, XML ou JSON selon le type d’application que vous protégez)

      Citrix Web Application Pare-feu et architecture d'applications

      • Spécifiez l’expression qui détermine le trafic traité par le moteur WAF

      Citrix Web Application Pare-feu et architecture d'applications

      • Sélectionnez les signatures qui appliquent des protections pour les vulnérabilités connues. Il existe des options permettant d’utiliser un jeu de signatures existant ou de créer un nouveau jeu. Pour choisir les signatures à appliquer à ce profil de protection, deux options d’éditeur offrent des fonctionnalités de base ou avancées.

      • Il existe des options de navigation sur les deux éditeurs pour sélectionner les signatures puis activer, bloquer, enregistrer ou statistiques. Méfiez-vous des pages de signatures multiples et assurez-vous que toutes les signatures sont sélectionnées. L’éditeur Basic est plus facile à démarrer, tandis que l’éditeur avancé offre plus de fonctionnalités

      Remarque :

      Assurez-vous que les signatures sont marquées comme ACTIVÉ avant de passer à l’étape suivante.

      Citrix Web Application Pare-feu et architecture d'applications

      Citrix Web Application Pare-feu et architecture d'applications

      • Choisissez les Protections profondes applicables à l’application. Il est recommandé de commencer par activer la journalisation, les statistiques et l’apprentissage ; ne pas activer le blocage initialement car de nombreuses protections nécessitent un certain nombre de règles apprises

      Citrix Web Application Pare-feu et architecture d'applications

      IMPORTANT :

      Si l’assistant WAF est utilisé pour créer un profil et une stratégie, il devient lié GLOBALEMENT ! Si l’expression de filtrage est laissée par défaut (true), tout le trafic est traité par le moteur WAF, ce qui entraîne probablement un mauvais comportement des applications. L’action recommandée consiste à délier la stratégie du point de liaison Global par défaut et à la place de lier au serveur virtuel LB créé ultérieurement. Pour délier une stratégie WAF du point de liaison global, procédez comme suit :

      • Accédez à Sécurité > Citrix Web App Firewall > Stratégies > Pare-feu
      • Choisissez Policy Manager, puis Global par défaut
      • Mettez en surbrillance la stratégie WAF répertoriée, puis choisissez Unlier

    Citrix Web Application Pare-feu et architecture d'applications

  • Option 2 : Vous pouvez également appliquer la protection WAF à une application ou à un site en créant manuellement un profil WAF, une stratégie WAF et en appliquant un jeu de signatures
    1. Créer un jeu de signatures pour l’application
      1. Accédez à Sécurité > Citrix Web App Firewall > Signatures
      2. Mettez en surbrillance les signatures par défaut, puis appuyez sur Ajouter pour créer une copie du jeu de signatures par défaut
      3. Sélectionnez les signatures appropriées en fonction de l’application ou du site protégé et assurez-vous que les signatures sont définies sur ACTIVÉ
    2. Créer un profil de Web App Firewall
      1. Accédez à Sécurité > Citrix Web App Firewall > Profils
      2. Donnez un nom descriptif au profil, puis sélectionnez Web, XML ou JSON en fonction du type d’application que vous protégez
      3. Sélectionnez Basic pour appliquer les paramètres par défaut de base.
      4. Une fois créé, mettez en surbrillance le nouveau profil et appuyez sur Modifier.
      5. Ouvrez les contrôles de sécurité et désélectionnez BLOQUER sur tous les éléments
      6. Ouvrir les paramètres du profil
        • Sélectionnez le jeu de signatures précédemment créé dans le paramètre Signatures liées
        • Si le serveur d’applications back-end prend en charge les requêtes tronquées, activez la fonctionnalité Streaming pour améliorer les performances
        • Modifier les paramètres supplémentaires en fonction de l’application ou du site Web protégé
    3. Créer une stratégie de Web App Firewall
      1. Accédez à Sécurité > Citrix Web App Firewall > Stratégies > Pare-feu
      2. Appuyez sur Ajouter pour créer une nouvelle stratégie
      3. Donnez un nom descriptif à la stratégie et sélectionnez le profil WAF créé précédemment
      4. Créer une expression de trafic qui détermine quel trafic est traité par le moteur WAF

Quelle que soit la méthode utilisée, une configuration de base du Web App Firewall est désormais disponible pour être liée. La dernière étape consiste à mettre à jour le fichier de signature.

  • Accédez à Sécurité > Citrix Web App Firewall > Signatures
  • Mettez en surbrillance le nouveau jeu de signatures et appuyez sur Sélectionner une action > Paramètres de mise à jour
  • Activer la mise à jour automatique des signatures et assurez-vous que l’URL de mise à jour est renseignée

    Remarque :

    La mise à jour des signatures nécessite que l’ADC puisse résoudre les noms DNS et accéder à l’Internet public à partir du NSIP

Citrix Web Application Pare-feu et architecture d'applications

  • Une fois la mise à jour automatique configurée, ADC vérifie les mises à jour une fois par heure. Les signatures peuvent également être mises à jour manuellement et une mise à jour manuelle doit être exécutée une fois après la création du profil WAF et de la stratégie

Pour vérifier si l’appliance ADC est en mesure d’atteindre les mises à jour de signature, la commande suivante est exécutée à partir de l’ interface de ligne de commande (exit to shell) :


shell
curl -I https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml
<!--NeedCopy-->

Le système doit renvoyer un HTTP/1.1 200 OK

Citrix Web Application Pare-feu et architecture d'applications

La documentation la plus récente sur la mise à jour des signatures est disponible sur Citrix Prod Docs - des mises à jour via RSS sont également disponibles.

Par défaut, la journalisation CEF (Common Event Format) n’est pas activée, le WAF utilisant le format natif de journalisation. En outre, l’enginge WAF peut inclure des informations de géolocalisation pour les demandes. Pour faciliter le dépannage, il est recommandé d’activer la journalisation CEF et la géolocalisation en accédant à Sécurité > Citrix Web App Firewall > Modifier les paramètres du moteur. Cochez les cases pour la journalisation CEF et la géo-localisation. Vous pouvez également activer ces paramètres via l’interface de ligne de commande comme suit :


set appfw settings GeoLocationLogging ON CEFLogging ON
<!--NeedCopy-->

Cloner la configuration du serveur virtuel

Une fois que le profil et la stratégie du Web App Firewall ont été créés, il doit être lié au serveur virtuel d’équilibrage de charge. Si l’application ou le service n’est pas déjà configuré sur l’ADC, il doit être configuré à partir de zéro. Si l’application est déjà configurée, elle doit être clonée.

Pour cloner rapidement un serveur virtuel existant, procédez comme suit :

  • Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels

Citrix Web Application Pare-feu et architecture d'applications

  • Mettez en surbrillance le serveur virtuel existant et appuyez sur Ajouter pour créer un nouveau serveur virtuel avec des paramètres similaires
    • Donnez au nouveau serveur virtuel un nouveau nom et une adresse IP différente
    • Assurez-vous que le port et le protocole sont corrects, puis appuyez sur OK.
    • Lier les services ou les groupes de services, puis appuyez sur Continuer
    • Modifier la méthode d’équilibrage de charge, la persistance et tout autre paramètre de trafic requis pour correspondre au serveur virtuel existant
    • Si ce serveur virtuel est un serveur virtuel HTTPS, assurez-vous qu’un certificat approprié est lié et qu’une suite de chiffrement sécurisée est liée

Citrix Web Application Pare-feu et architecture d'applications

Citrix Web Application Pare-feu et architecture d'applications

Ensuite, la stratégie WAF doit être liée à ce nouveau serveur virtuel :

  • Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels
  • Mettez en surbrillance le serveur virtuel nouvellement créé et appuyez sur Modifier
  • Dans la colonne Paramètres avancés de droite, choisissez Stratégies
  • Appuyez sur l’icône + (plus) pour ajouter une stratégie
    • Choisir une stratégie de pare-feu d’application avec un type de demande
    • Les détails de liaison par défaut peuvent être laissés seuls

Citrix Web Application Pare-feu et architecture d'applications

Citrix Web Application Pare-feu et architecture d'applications

Test d’acceptation utilisateur et dépannage initial

À ce stade, les utilisateurs peuvent commencer à tester l’application à l’aide de la nouvelle URL, en accédant à l’application Web avec des stratégies WAF liées. Selon la complexité de l’application, plusieurs utilisateurs de différentes unités opérationnelles doivent utiliser l’application pour générer un volume acceptable de trafic. Ce trafic est utilisé par le moteur d’apprentissage pour voir toutes les parties de l’application et pour s’assurer qu’il n’y a pas de faux blocs positifs qui empêchent la fonctionnalité de l’application.

Au cours des tests initiaux, il peut être difficile de trouver de l’information relative à la demande d’infraction, mais il y a quelques paramètres qui facilitent cette tâche. La première consiste à définir un objet d’erreur HTML personnalisé qui présente des informations de diagnostic chaque fois qu’une demande est bloquée. Si un objet d’erreur n’est pas défini, un utilisateur est souvent présenté avec une page vierge qui ne fournit aucune information.

Remarque :

Il est recommandé de supprimer ou de modifier cette application lorsque l’application protégée WAF est exposée à un public non testé.

  • Définir l’ objet Error HTML pour présenter les informations de diagnostic
    • Accédez au profil WAF, puis développez Paramètres du profil
    • Sélectionnez l’objet d’erreur HTML et cliquez sur le bouton Ajouter (ou plus) pour créer un nouvel objet
    • Dans la page « Importer des erreurs HTML », choisissez Texte
    • Donnez un nom à l’objet d’erreur et collez le code suivant :
<html>
<head>
<title>Application Firewall Block Page</title>
</head>
<body>
<h1><B>Your request has been blocked by a security policy<B><BR></H1>
<H3>Access has been blocked - if you feel this is in error, please contact the site
administrators quoting the following: </H3> <UL>
<li>NS Transaction ID: ${NS_TRANSACTION_ID}
<li>AppFW Session ID: ${NS_APPFW_SESSION_ID}
<li>Violation Category: ${NS_APPFW_VIOLATION_CATEGORY}
<li>Violation Details: ${NS_APPFW_VIOLATION_LOG} </UL>
</body>
</html>
<!--NeedCopy-->

Citrix Web Application Pare-feu et architecture d'applications

La page d’erreur résultante présente des informations de diagnostic précieuses, y compris la catégorie de violation et les détails du journal. Ces informations permettent à l’administrateur de valider si le bloc doit être relâché en raison d’un faux positif.

Citrix Web Application Pare-feu et architecture d'applications

Important :

Certains blocs WAF empêchent uniquement le chargement de certains éléments de la page, par exemple une image, une mise en forme CSS, un script ou une fonctionnalité de bouton \ form peuvent ne pas fonctionner. Ces blocs sont toujours considérés comme des problèmes, bien que la page d’erreur de diagnostic ne s’affiche pas. Utilisez la visionneuse syslog (voir l’exemple ci-dessous) pour rechercher la signature incriminée ou le contrôle de sécurité à l’origine du problème.

Les messages Syslog générés par le moteur WAF aident à comprendre les sessions bloquées lorsque la page d’erreur de diagnostic n’est pas disponible

  • Accédez à Système > Audit > Messages Syslog

Citrix Web Application Pare-feu et architecture d'applications

  • Sous la colonne Filtrer par, sélectionnez Module et choisissez APPFW
  • Appuyez sur Appliquer

Citrix Web Application Pare-feu et architecture d'applications

Certaines violations peuvent être immédiatement relâchées à partir de la visionneuse Syslog s’il y a des faux blocs positifs

  • Dans la vue Messages Syslog (précédente), recherchez un message Syslog qui est une violation de règle
  • Cochez la case en haut à droite du message
  • Sélectionnez le menu Action, puis choisissez déployer
  • Vous pouvez également modifier la règle de relaxation avant de la déployer

Citrix Web Application Pare-feu et architecture d'applications

Remarque :

Un bloc faux positif provenant d’une violation de signature signifie souvent que l’application Web ne suit pas les normes ou est mal écrite. L’action immédiate pour permettre à l’application de fonctionner est d’appliquer une règle de relaxation, mais l’objectif à long terme est de fixer l’application elle-même. Les règles de relaxation sur les applications mal écrites peuvent permettre le contenu malveillant via le moyen de permettre à l’application de fonctionner.

En activant les statistiques pour tous les éléments, l’appliance rassemble des compteurs à chaque fois qu’une règle ou une signature est violée. Ceci est utile dans le premier car il permet aux compteurs d’être effacés pour voir si de nouvelles demandes bloquées se sont produites à la suite de la stratégie WAF.

Dans l’onglet Tableau de bord de l’interface utilisateur ADC, définissez l’affichage des statistiques sur Application Firewall pour afficher tous les comptes de statistiques associés. Les statistiques peuvent également être effacées de cette vue.

Citrix Web Application Pare-feu et architecture d'applications

Vous pouvez également afficher les statistiques à partir de la ligne de commande shell de l’appliance à l’aide de la commande suivante :


nsonmsg -d stats | grep appfw
<!--NeedCopy-->

Sachez que le pare-feu d’application Web suit les normes Web et que par défaut, les demandes mal formées sont bloquées. Pour modifier ce comportement, procédez comme suit :

  • Citrix WAF utilise une vérification HTTP stricte
  • Par défaut non valide, les requêtes HTTP non compatibles RFC sont bloquées
    • Pour modifier la gestion des demandes non conformes RFC, accédez à Sécurité > Citrix Web App Firewall, puis Modifier les paramètres du moteur
    • Voir le code suivant pour la méthode CLI pour définir uniquement la journalisation et la génération de statistiques pour les requêtes mal formées

      Remarque :

      Ce paramètre est global. Si vous désactivez l’option de blocage, le moteur WAF contourne le traitement du pare-feu d’application pour toutes les demandes non conformes RFC. Ce n’est pas recommandé.

Citrix Web Application Pare-feu et architecture d'applications


set appfw settings -malformedReqAction log stats
<!--NeedCopy-->

Apprentissage au contrôle

Les données apprises sont utilisées pour créer des règles pour le modèle de sécurité positif du moteur WAF - quelques détails rapides sur les règles apprises :

  • Stocké au format RegEx et peut être exporté au format CSV pour analyse ou migration
  • Sont propagés dans une paire d’appareils HA
  • Les contrôles de sécurité peuvent être laissés en mode d’apprentissage en permanence, mais n’est pas nécessaire
  • Rassemble des données plus utiles plus le trafic est traité lors de l’UAT
  • Il est fortement recommandé de configurer Trusted Learning Clients pour l’apprentissage lorsque la solution matérielle-logicielle reçoit du trafic provenant de clients connus et inconnus. Ce paramètre garantit que le trafic malveillant n’est pas autorisé dans une règle apprise.

Le moteur appris s’exécute lorsque le processus aslearn et les règles sont stockés au format SQLite à l’emplacement suivant :


/var/nslog/asl/appfwprofile.db
<!--NeedCopy-->

Citrix Web Application Pare-feu et architecture d'applications

Le mode d’apprentissage peut être activé de façon permanente, mais la base de données d’apprentissage a une taille limite de 20 Mo. Le moteur d’apprentissage n’ajoute pas de nouvelles données une fois que la base de données atteint cette taille.

Du point de vue du processus, l’apprentissage se déroule comme suit :

Citrix Web Application Pare-feu et architecture d'applications

Chaque fois qu’un utilisateur accède à la nouvelle application avec une stratégie WAF liée contenant des contrôles d’apprentissage activés, des règles apprises sont générées. En utilisant une approche serveur virtuel en double, le trafic de production n’est pas bloqué pendant que les utilisateurs testent l’application protégée. En outre, tout le trafic qui est passé par le moteur WAF à ce stade générera des règles apprises.

Le flux typique pour construire des règles de relaxation et s’assurer que l’application fonctionne comme prévu sans faux blocs positifs se produit en continu :

Citrix Web Application Pare-feu et architecture d'applications

Ce processus doit être répété chaque fois qu’il y a une modification d’une application ou d’un workflow où des règles n’ont pas été créées précédemment.

Pour afficher les données apprises à l’aide de l’interface utilisateur, procédez comme suit :

  • Accédez à Sécurité > Citrix Web App Firewall > Profils, sélectionnez le profil App Firewall, puis choisissez Modifier
  • Dans la colonne de droite, choisissez Règles apprenantes
  • Chacune des vérifications de sécurité qui prennent en charge l’apprentissage s’affiche avec quelques options :
    • Sélectionnez Modifier pour afficher et déployer les règles qui ont été apprises pour une vérification de sécurité spécifique.

Citrix Web Application Pare-feu et architecture d'applications

  • Une fois les règles déployées, elles passent des règles apprises aux règles de relaxation
  • À partir de l’interface utilisateur des règles apprises, les règles peuvent être exportées au format CSV à l’aide du bouton Exporter les données apprises avant de déplacer les règles vers les règles de relaxation
  • Le Visualizer est également un outil précieux spécialement pour les vérifications d’URL de démarrage pour visualiser les règles et une carte d’URL de l’application protégée

Citrix Web Application Pare-feu et architecture d'applications

Une fois que les règles apprises ont été déployées dans les règles de relaxation, la vérification de sécurité peut être définie sur Bloquer.

Remarque :

Si un trafic suffisant n’a pas été traité ou que tous les chemins d’application n’ont pas été vus par le moteur WAF, il y aura probablement des faux blocs positifs. Le processus de règle appris peut être répété jusqu’à ce que l’application se comporte comme prévu.

Importer l’exportation

La configuration complète d’un profil de pare-feu d’applications Web peut être répliquée sur plusieurs appliances. Ce processus capture tous les objets liés tels que l’objet d’erreur HTML, l’objet d’erreur XML, le schéma WSDL \ XML, les signatures, les règles de relaxation, etc. Cela peut s’avérer particulièrement utile lors de la migration d’un environnement de test \ dev vers un environnement de production ou de la sauvegarde de la configuration WAF avant d’apporter des modifications.

Remarque :

les configurations exportées nécessitent que les deux appliances soient sur la même version.

Pour exporter le profil WAF à l’aide de l’interface graphique, sur l’appliance source, accédez à Sécurité > Citrix Web App Firewall > Profils > Sélectionnez le profil WAF, puis choisissez Action > Exporter Le processus d’exportation peut prendre un certain temps pour générer le fichier d’exportation. Une fois archivé, un fichier wafProfile.tgz est téléchargé sur l’ordinateur client.

Pour importer le profil WAF à l’aide de l’interface graphique, sur l’appliance de destination, accédez à Sécurité > Citrix Web App Firewall > Profils > Sélectionner une action > Importer. Sélectionnez Importer un fichier, puis sélectionnez « Choisir un fichier » pour localiser l’archive précédemment téléchargée. Tous les problèmes liés au processus d’importation sont consignés à :


/var/log/ns.log
<!--NeedCopy-->

Remarque :

Le processus d’importation ne crée PAS de stratégie WAF ou de liaison.

Profilage dynamique

La fonctionnalité de profilage dynamique a été ajoutée au moteur WAF dans la version 13.0 et permet le déploiement automatique des données apprises dans les règles de relaxation après un seuil configuré. Une alerte est envoyée aux administrateurs pour leur permettre d’ignorer les données si elles ne sont pas valides, sinon elles sont ajoutées automatiquement. Par défaut, le profilage dynamique est désactivé pour toutes les vérifications de sécurité prises en charge. Pour l’activer et configurer les paramètres, procédez comme suit :

  • Accédez à Sécurité > Citrix Web App Firewall > Profils, sélectionnez le profil App Firewall, puis choisissez Modifier
  • Dans la colonne de droite, choisissez Profilage dynamique
    • Chaque vérification de sécurité peut être activée ou désactivée à partir de cette interface utilisateur
    • Les paramètres de profilage dynamique de ce profil WAF peuvent également être modifiés en sélectionnant Paramètres

Citrix Web Application Pare-feu et architecture d'applications

Citrix Web Application Pare-feu et architecture d'applications

Lors de l’utilisation du profilage dynamique, il est fortement recommandé d’activer Trusted Learning Clients pour s’assurer que seul le trafic d’application valide génère des règles. Ces clients peuvent être ajoutés à partir de :

  • UI des règles apprises
  • Interface utilisateur de profilage dynamique

Citrix Web Application Pare-feu et architecture d'applications

Considérations lors du passage à la production

La considération la plus importante lors de l’utilisation de la méthode du serveur virtuel en double est que toutes les règles apprises qui incluent des URL ne s’appliquent pas si l’URL de l’application change. Par exemple, les règles d’URL de démarrage et de balisage de formulaire CSRF incluent des URL.

La meilleure façon de migrer vers le serveur virtuel de production serait de désactiver le blocage pour les contrôles de sécurité et de réapprendre et de déployer des règles incluant des URL. Alternativement, les règles apprises pourraient être exportées puis réajoutées après avoir modifié l’URL. Il serait également très important de permettre aux clients d’apprentissage fiables s’ils n’ont pas déjà été ajoutés.

Enfin, si le PoC est exécuté sur une plate-forme de test dont les ressources sont différentes de celles de production, il est important de tenir compte des besoins en ressources qui changent en activant le pare-feu d’application Web.

Références

Documentation produit Citrix - Web App Firewall

Documentation produit Citrix WAF - FAQ

Comment Citrix Application Firewall modifie le trafic de données d’application

WAF Basic VS Protections avancées

Prise en charge de la journalisation du format d’événement commun (CEF) dans le pare-feu d’application

Exportation et importation d’un profil de Web App Firewall

Guide de déploiement de validation de concept pour Citrix Web Application Firewall