ADC

Protection par pare-feu d’applications web pour les serveurs virtuels VPN et les serveurs virtuels d’authentification

À partir de la version 13.1 build 53.x de NetScaler, vous pouvez protéger les serveurs virtuels NetScaler Gateway, les serveurs virtuels de gestion du trafic et les serveurs virtuels d’authentification contre les attaques malveillantes en appliquant une protection par pare-feu d’applications web. Cette fonctionnalité fournit une couche de sécurité supplémentaire à vos déploiements car elle filtre les demandes entrantes en les validant à l’aide du schéma d’API, puis authentifie les utilisateurs pour qu’ils accèdent aux applications.

Remarque :

La protection Web App Firewall pour l’authentification et le point de terminaison Gateway n’est pas prise en charge sur les déploiements CPX et BLX basés sur Linux.

Lorsque la protection par pare-feu pour applications Web est activée, NetScaler exploite les profils intégrés du pare-feu pour applications Web ns-aaatm-default-appfw-profile, ns-aaa-default-appfw-profileet ns-vpn-default-appfw-profile. Les profils contiennent les fichiers de spécifications d’API intégrés associés ns-aaatm-spec, ns-aaa-spec et ns-vpn-spec qui permettent de garantir que le trafic réseau est sécurisé et conforme aux spécifications d’API.

Remarque :

Nous vous recommandons de toujours effectuer la mise à niveau vers la dernière version du logiciel, car celle-ci contient les derniers correctifs de sécurité.

Configuration requise pour le système de licences

Cette fonctionnalité est disponible avec toutes les licences (Standard, Enterprise et Premium).

Configuration de la protection par pare-feu des applications Web

Sur l’interface graphique

Pour configurer la protection par pare-feu des applications Web sur les serveurs virtuels, procédez comme suit :

  1. Accédez à Sécurité > AAA- Trafic des applications > Modifier les paramètres d’authentification.
  2. Sur la page Configurer le paramètre AAA, configurez la protection WAF.

    Les options suivantes sont prises en charge :

    • Désactivé : lorsque cette option est sélectionnée, la protection par pare-feu des applications Web n’est appliquée à aucun serveur virtuel. Par défaut, la protection du pare-feu des applications Web n’est définie sur aucune valeur.

    • AUTH : protège le serveur virtuel d’authentification.

    • VPN : protège le serveur virtuel VPN.

    • AUTH et VPN : protège l’authentification, la gestion du trafic et les serveurs virtuels VPN.

  3. Cliquez sur OK.

Protection Web App Firewall

Sur la CLI

Exécutez la commande suivante pour activer la protection par pare-feu d’applications web sur les serveurs virtuels :

set aaa parameter -wafProtection <DISABLED/AUTH/VPN>

Exemples :

Voici un exemple de protection par pare-feu d’applications web pour les serveurs virtuels d’authentification :

  • La commande set aaa parameter -wafProtection AUTH protège les serveurs virtuels d’authentification.

  • La commande set aaa parameter -wafProtection VPN protège les serveurs virtuels VPN.

  • La commande set aaa parameter -wafProtection AUTH VPN protège les serveurs virtuels d’authentification, de VPN et de gestion du trafic.

Configurer les informations de sécurité

Pour consulter les violations détectées par les profils intégrés du Web Application Firewall, configurez les informations de sécurité. Une fois configuré, NetScaler envoie les enregistrements d’informations au collecteur AppFlow (configuré dans le profil analytique) chaque fois qu’une demande est envoyée à un serveur virtuel. Les enregistrements d’informations de sécurité sont envoyés au collecteur AppFlow.

Remarques :

  • Avant de configurer les informations de sécurité, assurez-vous que le mode ULFD et la fonctionnalité AppFlow sont activés comme condition préalable. Sur l’interface graphique, vous pouvez effectuer cette étape en accédant à Système > Paramètres > Modes et fonctionnalités. Sur la CLI, vous pouvez utiliser les commandes en ns mode ULFD et en ns feature appflow.

  • Assurez-vous que vos instances NetScaler sont ajoutées à la console NetScaler. Pour plus de détails, consultez la section Gestion des instances.

Sur l’interface graphique

Sur la page Configurer le paramètre AAA, activez l’option Security Insight. Ce paramètre est désactivé par défaut.

Informations sur la sécurité

Sur la CLI

Exécutez la commande suivante pour activer les informations de sécurité pour la journalisation du débogage. Ce paramètre est désactivé par défaut.

set aaa parameter -securityInsights <ENABLED/DISABLED>

Configurer le collecteur AppFlow et le profil d’analyse sur l’interface graphique

  • Accédez à Système > Paramètres. Dans la section Modes et fonctionnalités, activez le mode ULFD et la fonctionnalité AppFlow.

  • Configurez un collecteur AppFlow.

    • Accédez à Configuration > Système > AppFlow > AppFlow Collectors. Configurez les paramètres requis et cliquez sur Créer.

    Collecteur AppFlow

  • Définissez le collecteur AppFlow configuré sur le profil d’analyse. Dans cet exemple, le collecteur AppFlow est configuré sur le profil analytique intégré ns-aaa-vpn-appfw-analytics-profile.

    • Accédez à Configuration > Système > Profils > Profils analytiques. Dans la section Détails de base, sélectionnez le collecteur AppFlow dans le champ Collecteurs.

    Profil analytique

Configurer le collecteur AppFlow et le profil d’analyse sur la CLI

-  add appflow collector col2 -IPAddress 10.146.77.19 -port 5557 -Transport logstream

-  set analytics profile ns-aaa-vpn-appfw-analytics-profile -collectors col2 -type securityinsight
<!--NeedCopy-->

Pour plus d’informations sur la configuration AppFlow, consultez Configuration de la fonctionnalité AppFlow.

Remarque :

Les informations de sécurité relatives à cette fonctionnalité ne fonctionnent qu’avec les messages Logstream. Ils ne fonctionnent pas avec les messages IPFIX.

Afficher les enregistrements AppFlow sur la console NetScaler

  1. Dans l’interface graphique locale de la console NetScaler, accédez à Sécurité > Violations de sécurité. Dans la section WAF, sélectionnez le VPN ou le serveur virtuel d’authentification. Pour plus de détails, voir Afficher les détails des violations de sécurité des applications.

    Enregistrements AppFlow

    Pour une vue détaillée, sélectionnez l’URL dans le champ URL de la demande.

    Enregistrements AppFlow

  2. Appliquez les licences appropriées à votre VPN ou à votre serveur virtuel d’authentification.

Configurer les règles de relaxation

Vous pouvez configurer une règle de relaxation sur les URL des points de terminaison ou les adresses IP des serveurs virtuels, afin d’éviter que certains trafics ne soient validés par rapport au schéma spécifié dans le fichier de spécification de l’API.

Sur l’interface graphique

Voici un exemple de relaxation de validation REST que vous pouvez appliquer à l’URL du point de terminaison d’authentification "GET:/oauth/idp/login" :

  • Accédez à Sécurité > NetScaler Web App Firewall > Profils.

  • Sélectionnez le profil ns-aaa-default-appfw-profile.

  • Dans Paramètres avancés, cliquez sur Règles de relaxation.

  • Cochez la case Validation du schéma de l’API REST.

  • Accédez au début de la section Règles de relaxation et cliquez sur Modifier.

  • Cliquez sur Ajouter.

  • Sur la page Règle de relaxation de validation du schéma de l’API REST, mettez à jour les champs obligatoires et cliquez sur Créer.

    Règle de relaxation

Voici un exemple d’assouplissement que vous pouvez appliquer à l’adresse IP d’un serveur virtuel :

  • Dans Paramètres avancés, sélectionnez Paramètres du profil.

  • Dans la section Paramètres communs, cochez la case Activer la liste de contournement.

  • Retournez à la section Paramètres avancés et sélectionnez Liste globale de contournement et de refus.

  • Dans la section Liste globale de contournement, cliquez sur Ajouter.

  • Sur la page Créer une liaison de liste de contournement AppFirewall, mettez à jour les champs obligatoires et cliquez sur Créer.

    Règle de relaxation

Sur la CLI

Voici un exemple de relaxation de validation REST que vous pouvez appliquer à l’URL du point de terminaison d’authentification "GET:/oauth/idp/login" :

bind appfwprofile ns-aaa-default-appfw-profile -restValidation "GET:/oauth/idp/login"
<!--NeedCopy-->

Voici un exemple d’assouplissement que vous pouvez appliquer à l’adresse IP d’un serveur virtuel :

set appfwprofile ns-aaa-default-appfw-profile -bypasslist on

bind appfwprofile ns-aaa-default-appfw-profile -bypasslist "CLIENT.IP.DST.EQ(192.0.2.255)" -valueType expression
<!--NeedCopy-->

Journalisation des déboguages

Voici un exemple de message d’erreur qui apparaît dans le fichier ns.log pour les demandes des utilisateurs bloquées par NetScaler Web Application Firewall :

Mar 22 07:04:26 <local0.info> 192.0.2.4 03/22/2024:07:04:26 GMT 0-PPE-0 : default APPFW APPFW_SCHEMA_VALUE_INCORRECT 864 0 : 10.106.31.93 107-PPE0 - ns-aaa-default-appfw-profile Parameter value incorrect as per API Spec: (ns-aaa-spec) for Endpoint: (GET https://192.0.2.5/oauth/idp/login?client_id=test&response_type=code&scope=openid%20profile&redirect_uri=https%3A%2F%2Foauthrp.aaa.local%2Foauth%2Flogin&state=Y3R4PU9tNzJ5WkNlTGJaSVhBb1lXM21ZVm40N0ZfQ1JzNjM1OGhvWEpRWkpDVFV1ZkY5U1hoOV9Edndfa282bHZ1ejBqQUFRU0hsbnBJTzF5U0NjbThQdVlqbm1Lb01ESHk5aFVVS19WR0xiaTgtVE9GaHRZZVBYWWJ3Q2F6d2JoZk5QX3hlY09BY2t1NHJUYlFqODZiaHhaZkU3RVdzJTNEA) <blocked>

Dans l’exemple précédent, le nom du profil et les URL des points de terminaison sont spécifiés pour aider les utilisateurs à effectuer l’analyse et à configurer les règles de relaxation.

La commande stat suivante affiche les compteurs des demandes des utilisateurs bloquées par les serveurs virtuels de gestion du trafic et d’authentification :

stat aaa | grep -i blocked

Total AAA Waf blocked hits     0        15
Total AAATM Waf blocked hits   0         1
<!--NeedCopy-->

La commande stat suivante affiche les compteurs du fichier de spécification de l’API :

stat apispec
API spec(s) Summary hits validate unmatched
ns-a...-spec 0 0 0
ns-aaa-spec 15 12 0
ns-vpn-spec 4 4 0
aaa 0 0 0
<!--NeedCopy-->

Mise à jour dynamique des nouveaux fichiers de spécifications d’API fournis par NetScaler

Lorsque le paramètre de protection du pare-feu des applications Web est activé, NetScaler utilise les fichiers de spécification d’API intégrés suivants pour la validation du schéma d’API.

  • ns-aaatm-spec : ce fichier effectue la validation du schéma d’API des requêtes entrantes destinées aux serveurs virtuels de gestion du trafic.
  • ns-aaa-spec : ce fichier effectue la validation du schéma d’API des requêtes entrantes adressées aux serveurs virtuels d’authentification.
  • ns-vpn-spec : ce fichier effectue la validation du schéma d’API des requêtes entrantes adressées aux serveurs virtuels VPN.

Sur l’interface graphique, vous pouvez localiser ces fichiers en accédant à Sécurité > NetScaler Web App Firewall > Importations > Importer la spécification d’API.

Fichier de spécification d'API

Vous pouvez mettre à jour dynamiquement les fichiers de spécification d’API intégrés à l’aide des fichiers de spécification d’API fournis par NetScaler. Effectuez les étapes suivantes sur l’interface graphique :

  1. Accédez à Sécurité > NetScaler Web App Firewall > Importations > Importation des spécifications d’API.

  2. Sélectionnez le fichier de spécification de l’API et cliquez sur Modifier.

  3. Sur la page Objet d’importation des spécifications d’API, cliquez sur Fichier.

  4. Téléchargez le nouveau fichier de schéma d’API et cliquez sur Continuer.

    Remarques :

    • Ne renommez pas les fichiers de spécification d’API fournis par NetScaler.
    • Assurez-vous que la case Chiffré est cochée.

    Importation de spécifications d'API

  5. Cliquez sur Terminé.

Pour plus de détails sur l’importation de fichiers, consultez la section Importations.

Limitation

Cette fonctionnalité est actuellement applicable au trafic de la partition par défaut.

Références

Protection par pare-feu d’applications web pour les serveurs virtuels VPN et les serveurs virtuels d’authentification