Prise en charge des en-têtes de réponse de la stratégie de sécurité du contenu pour NetScaler Gateway et authentification des réponses générées par le serveur virtuel
À partir des versions 13.0-76.29 de NetScaler, l’en-tête de réponse Content-Security-Policy (CSP) est pris en charge pour NetScaler Gateway et les réponses générées par le serveur virtuel d’authentification.
L’en-tête de réponse Content-Security-Policy (CSP) est une combinaison de stratégies que le navigateur utilise pour éviter les attaques par script intersite (CSS). L’en-tête de réponse HTTP CSP permet aux administrateurs de sites Web de contrôler les ressources que l’agent utilisateur est autorisé à charger pour une page donnée. À quelques exceptions près, les stratégies impliquent principalement la spécification des origines du serveur et des points de terminaison de script. Cela permet de se prémunir contre les attaques de scripts intersites. L’en-tête CSP est conçu pour modifier la façon dont les navigateurs affichent les pages, et donc pour protéger contre diverses injections intersites, y compris le CSS. Il est important de définir correctement la valeur de l’en-tête, de manière à ne pas empêcher le bon fonctionnement du site Web. Par exemple, si l’en-tête est défini pour empêcher l’exécution de JavaScript en ligne, le site Web ne doit pas utiliser de JavaScript en ligne dans ses pages.
Voici les avantages de l’en-tête de réponse CSP.
- La fonction principale d’un en-tête de réponse CSP est de prévenir les attaques CSS.
- En plus de restreindre les domaines à partir desquels le contenu peut être chargé, le serveur peut spécifier quels protocoles peuvent être utilisés. Par exemple (et idéalement, du point de vue de la sécurité), un serveur peut spécifier que tous les contenus doivent être chargés à l’aide de HTTPS.
- CSP aide à protéger NetScaler contre les attaques par script intersites en sécurisant des fichiers tels que « tmindex.html » et « homepage.html ». Le fichier « tmindex.html » est lié à l’authentification et le fichier « homepage.html » est lié aux applications/liens publiés.
Configuration de l’en-tête Content-Security-Policy pour NetScaler Gateway et des réponses d’authentification générées par le serveur virtuel
Pour activer l’en-tête CSP, vous devez configurer votre serveur Web pour qu’il renvoie l’en-tête HTTP du CSP.
Points à noter
- Par défaut, l’en-tête CSP est désactivé.
- Lors de l’activation ou de la désactivation de la stratégie CSP par défaut, il est recommandé d’exécuter la commande suivante.
Flush cache contentgroup loginstaticobjects
- Pour modifier le CSP pour /logon/LogonPoint/index.html, modifiez la valeur « Header set Content-Security-Policy » comme indiqué dans la section correspondant au répertoire de connexion qui se trouve sous le répertoire
/var/netscaler/logon
.- Pour obtenir des instructions sur la configuration d’une action et d’une stratégie de réécriture à l’aide de l’interface graphique, reportez-vous à la section Réécriture.
Pour configurer le CSP pour l’authentification du serveur virtuel et les réponses générées par NetScaler Gateway à l’aide de l’interface de ligne de commande, tapez la commande suivante à l’invite de commandes :
set aaa parameter -defaultCSPHeader <ENABLE/DISABLE>
Pour configurer le CSP pour NetScaler Gateway et authentifier les réponses générées par le serveur virtuel à l’aide de l’interface graphique.
-
Accédez à NetScaler Gateway > Paramètres généraux, puis cliquez sur Modifier les paramètres d’authentification AAA sous Paramètres d’authentification.
-
Sur la page Configurer les paramètres AAA, sélectionnez le champ En-tête CSP par défaut .
En-tête personnalisé Content-Security-Policy
Vous pouvez configurer un en-tête CSP personnalisé à l’aide d’une stratégie de réécriture sur le serveur virtuel VPN et les serveurs virtuels d’authentification pour les réponses générées par les points de terminaison AAA.
Voici un exemple de personnalisation de l’en-tête CSP afin d’inclure des images et des scripts provenant uniquement des deux sources spécifiées ci-dessous, respectivement https://company.fqdn.com
, https://example.com
.
add rewrite action modify_csp insert_http_header Content-Security-Policy ""default-src 'self'; script-src 'self' https://company.fqdn.com 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src http://localhost:* https://example.com 'self' data: http: https:; style-src 'self' 'unsafe-inline'; font-src 'self'; frame-src 'self'; child-src 'self' com.citrix.agmacepa://* citrixng://* com.citrix.nsgclient://*; form-action 'self'; object-src 'self'; report-uri /nscsp_violation/report_uri""
add rewrite policy csp_pol true modify_csp
<!--NeedCopy-->
Pour lier la stratégie au serveur virtuel d’authentification,
bind authentication vserver auth_vs -policy csp_pol -priority 1 -type AAA_RESPONSE
bind authentication vserver auth_vs -policy csp_pol -priority 2 -type RESPONSE
<!--NeedCopy-->
Pour lier la stratégie au serveur virtuel VPN,
bind vpn vserver vpn_vs -policy csp_pol -priority 1 -type AAA_RESPONSE
bind vpn vserver vpn_vs -policy csp_pol -priority 2 -type RESPONSE
<!--NeedCopy-->
Remarque :
L’en-tête CSP personnalisé ne peut pas être configuré sur les serveurs virtuels de commutation de contenu et d’équilibrage de charge pour certaines réponses générées par AAA.