Protection par pare-feu d’applications web pour les serveurs virtuels VPN et les serveurs virtuels d’authentification
À partir de la version 14.1 build 21.57 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 pour 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 la fonctionnalité de 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-profile
et 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 :
- Accédez à Sécurité > AAA- Trafic des applications > Modifier les paramètres d’authentification.
-
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.
-
- Cliquez sur OK.
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
eten 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.
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.
-
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.
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
-
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.
Pour une vue détaillée, sélectionnez l’URL dans le champ URL de la demande.
-
Appliquez les licences appropriées à votre VPN ou à votre serveur virtuel d’authentification.
-
Vérifiez si votre serveur virtuel possède une licence.
-
Dans la section Paramètres > Configuration d’Analytics de l’interface graphique de la console NetScaler, sélectionnez votre serveur virtuel et appliquez les licences. Pour plus de détails, voir Gérer les licences et activer les analyses sur les serveurs virtuels.
Remarque :
Cette étape n’est requise que si vous utilisez les versions 14.1-17.38 ou antérieures de NetScaler Console sur site.
-
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.
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.
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-->
Pour plus de détails sur la configuration des règles de relaxation, voir Configurer une règle de relaxation pour la validation du schéma d’API à l’aide de l’interface de ligne de commande.
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.
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 :
-
Accédez à Sécurité > NetScaler Web App Firewall > Importations > Importation des spécifications d’API.
-
Sélectionnez le fichier de spécification de l’API et cliquez sur Modifier.
-
Sur la page Objet d’importation des spécifications d’API, cliquez sur Fichier.
-
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.
-
Cliquez sur Terminé.
Pour plus de détails sur l’importation de fichiers, consultez la section Importations.
Pour plus de détails sur la validation des spécifications d’API, consultez la section Validation des spécifications d’API.
Limitation
Cette fonctionnalité est actuellement applicable au trafic de la partition par défaut.
Références
-
Pour plus d’informations sur la fonctionnalité NetScaler Web Application Firewall, consultez la section Présentation de NetScaler Web Application Firewall.
-
Pour plus d’informations sur la fonctionnalité AppFlow, consultez AppFlow.
-
Pour plus de détails sur la FAQ, consultez Authentification, autorisation et audit.
Dans cet article
- Configuration requise pour le système de licences
- Configuration de la protection par pare-feu des applications Web
- Configurer les informations de sécurité
- Configurer les règles de relaxation
- Journalisation des déboguages
- Mise à jour dynamique des nouveaux fichiers de spécifications d’API fournis par NetScaler
- Limitation
- Références