Configurer l’insertion d’en-têtes SSL
Étant donné que l’appliance NetScaler décharge tous les traitements liés au SSL des serveurs, ceux-ci ne reçoivent que du trafic HTTP. Dans certains cas, le serveur a besoin de certaines informations SSL. Par exemple, les audits de sécurité des transactions SSL récentes nécessitent que le nom de l’objet du client (contenu dans un certificat X509) soit enregistré sur le serveur.
Ces données peuvent être envoyées au serveur en les insérant dans l’en-tête HTTP sous la forme d’une paire nom-valeur. Vous pouvez effectuer l’une des opérations suivantes :
- Insérez l’intégralité du certificat client, si nécessaire, un hachage (également appelé empreinte digitale ou empreinte numérique) de l’ensemble du certificat client.
- Insérez uniquement les champs spécifiques du certificat, tels que l’objet, le numéro de série, l’émetteur, la signature, l’ID de session SSL, la suite de chiffrement.
- Insérez la date « pas avant » ou « pas après » utilisée pour déterminer la validité du certificat.
Vous pouvez activer l’insertion SSL pour les serveurs et services virtuels SSL basés sur HTTP uniquement. Vous ne pouvez pas l’appliquer aux serveurs et services virtuels SSL basés sur TCP. De plus, l’authentification du client doit être activée sur le serveur virtuel SSL, car les valeurs insérées sont extraites du certificat client présenté au serveur virtuel pour authentification.
Pour configurer l’insertion d’en-têtes SSL, créez d’abord une action SSL pour chaque ensemble spécifique d’informations à insérer, puis créez des stratégies qui identifient les connexions pour lesquelles vous souhaitez insérer les informations. Lorsque vous créez chaque stratégie, spécifiez l’action que vous souhaitez associer à la stratégie. Ensuite, liez les stratégies aux serveurs virtuels SSL qui reçoivent le trafic SSL.
L’exemple suivant utilise des stratégies de stratégie avancées. Dans l’exemple suivant, une stratégie de contrôle (ctrlpol
) est créée pour effectuer l’authentification du client si une demande est reçue pour l’URL /testsite/file5.html. Une stratégie de données (datapol
) est créée pour effectuer une action (act1) si l’authentification du client est réussie. Une action SSL (act1) est ajoutée pour insérer les détails du certificat et le nom de l’émetteur dans la demande avant de transférer la demande. Pour les autres URL, l’authentification du client est désactivée. Les stratégies sont ensuite liées à un serveur virtuel SSL (ssl_vserver) qui reçoit le trafic SSL.
Exemple en ligne de commande de configuration de l’insertion d’en-têtes SSL
Exemple :
add ssl action act1 -clientCert ENABLED -certHeader mycert -clientcertissuer ENABLED -certIssuerHeader myissuer
add ssl policy datapol -rule HTTP.REQ.URL.EQ("/testsite/file5.html") -action act1
add ssl policy ctrlpol -rule HTTP.REQ.URL.EQ("/testsite/file5.html") -action CLIENTAUTH
bind ssl vserver ssl_vserver -policyName ctrlpol -priority 1
bind ssl vserver ssl_vserver -policyName datapol -priority 1
Done
<!--NeedCopy-->
Configurer l’insertion d’en-têtes SSL à l’aide de l’interface graphique
-
Accédez à Gestion du trafic > SSL > Stratégies.
-
Dans le volet d’informations, sous l’onglet Actions, cliquez sur Ajouter.
-
Dans la boîte de dialogue Créer une action SSL, définissez les paramètres suivants :
- Nom*
- Certificat Client
- Balise de certificat
- Émetteur de certificat client
- Balise de l’émetteur
* Un paramètre obligatoire
-
Cliquez sur Créer, puis sur Fermer.
-
Dans l’onglet, cliquez sur Ajouter pour créer une stratégie de contrôle.
-
Dans la boîte de dialogue Créer une stratégie SSL, définissez les paramètres suivants :
- Nom*
- Expression
- Action de demande
* Un paramètre obligatoire
-
Cliquez sur Créer, puis sur Fermer.
-
Créez une stratégie de données en répétant les étapes 5 à 7.
-
Dans le volet de navigation, développez Déchargement SSL, puis cliquez sur Serveurs virtuels.
-
Dans le volet d’informations, dans la liste des serveurs virtuels, sélectionnez le serveur virtuel auquel vous souhaitez lier les stratégies SSL, puis cliquez sur Ouvrir.
-
Dans la boîte de dialogue Configurer le serveur virtuel (déchargement SSL), cliquez sur Paramètres SSL, puis sur Stratégies SSL.
-
Dans la boîte de dialogue Lier/délier les stratégies SSL, cliquez sur Insérer une stratégie. Sous Nom de la stratégie, sélectionnez la stratégie que vous avez créée aux étapes 5 à 7.
-
Cliquez sur OK, puis sur Fermer. Un message apparaît dans la barre d’état, indiquant que la stratégie a été correctement liée.
-
Répétez les étapes 12 et 13 et sélectionnez la stratégie que vous avez créée à l’étape 8.
Configurer une action de stratégie SSL pour insérer l’empreinte numérique du certificat client dans l’en-tête HTTP
Les appliances NetScaler prennent désormais en charge l’insertion de l’empreinte numérique (également appelée empreinte digitale) d’un certificat dans l’en-tête d’une demande envoyée à un serveur principal. Si l’authentification du client est activée, l’appliance calcule l’empreinte numérique du certificat et utilise une action de stratégie SSL pour insérer l’empreinte numérique dans la demande. Le serveur recherche l’empreinte numérique et accorde un accès sécurisé en cas de correspondance.
Configurez une action SSL pour activer l’empreinte digitale du certificat client, spécifiez un nom d’en-tête pour insérer l’empreinte du certificat client et un résumé (valeur de hachage) pour calculer la valeur de l’empreinte digitale. L’appliance NetScaler prend en charge les digests SHA1 et SHA2 (SHA224, SHA256, SHA384, SHA512). La solution matérielle-logicielle calcule la valeur de l’empreinte digitale en calculant le condensé spécifié du codage DER du certificat client. Ensuite, créez une stratégie SSL spécifiant cette action et liez-la à un serveur virtuel SSL.
Configurer une action SSL pour insérer l’empreinte numérique du certificat client à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
add ssl action <name> -clientCertFingerprint ( ENABLED | DISABLED ) -certFingerprintHeader <string> -certFingerprintDigest <certFingerprintDigest>
<!--NeedCopy-->
Arguments :
Empreinte digitale du certificat client :
Insérez l’empreinte digitale du certificat dans l’en-tête HTTP de la demande envoyée au serveur Web. L’empreinte est dérivée en calculant la valeur de hachage spécifiée (SHA256, par exemple) du codage DER du certificat client.
Tête d’empreinte digitale CERT :
Nom de l’en-tête dans lequel insérer l’empreinte digitale du certificat client.
Digest d’empreintes digitales CERT :
Algorithme de résumé utilisé pour calculer l’empreinte digitale du certificat client.
Valeurs possibles : SHA1, SHA224, SHA256, SHA384, SHA512
Exemple :
add ssl action act1 -clientcertfingerprint ENABLED -certfingerprintdigest SHA1 -certfingerprintheader example
Done
<!--NeedCopy-->
sh ssl action act1
1) Name: act1
Type: Data Insertion
Cert Fingerprint Header: ENABLED
Cert-Fingerprint Tag: example
Cert-Fingerprint Digest Algorithm: SHA1
Hits: 0
Undef Hits: 0
Action Reference Count: 0
Done
<!--NeedCopy-->
add ssl policy pol1 -rule true -action act1
Done
<!--NeedCopy-->
bind ssl vserver v1 -policyName pol1 -priority 10
Done
<!--NeedCopy-->
sh ssl vserver v1
Advanced SSL configuration for VServer v1:
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: ENABLED Client Cert Required: Mandatory
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
SSLv2: DISABLED SSLv3: DISABLED TLSv1.0: DISABLED TLSv1.1: ENABLED TLSv1.2: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: intca6 CA Certificate CRLCheck: Mandatory CA_Name Sent
2) CertKey Name: intca5 CA Certificate CRLCheck: Mandatory CA_Name Sent
3) CertKey Name: intca4 CA Certificate CRLCheck: Mandatory CA_Name Sent
4) CertKey Name: intca3 CA Certificate CRLCheck: Mandatory CA_Name Sent
5) CertKey Name: intca2 CA Certificate CRLCheck: Mandatory CA_Name Sent
6) CertKey Name: intca1 CA Certificate CRLCheck: Mandatory CA_Name Sent
Data policy
1) Policy Name: pol1 Priority: 10
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->
Configurer une action SSL pour insérer l’empreinte numérique du certificat client à l’aide de l’interface graphique
- Accédez à Gestion du trafic > SSL > Stratégies.
- Dans le volet de détails, sélectionnez l’onglet Actions SSL, puis cliquez sur Ajouter.
- Dans la boîte de dialogue Créer une action SSL, définissez les paramètres suivants :
- Nom*
- Empreinte digitale du certificat client
- étiquette d’empreinte digitale
- FingerPrint Digest *Un paramètre requis
- Cliquez sur Create.
- Sélectionnez l’onglet Stratégies SSL, puis cliquez sur Ajouter.
- Dans la boîte de dialogue Créer une stratégie SSL, définissez les paramètres suivants :
- Nom*
- Action
- Expression *Un paramètre obligatoire
- Cliquez sur Create.
- Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels.
- Dans le volet d’informations, dans la liste des serveurs virtuels SSL, sélectionnez le serveur virtuel auquel vous souhaitez lier la stratégie SSL, puis cliquez sur Modifier.
- Dans Paramètres avancés, cliquez sur Stratégies SSL.
- Cliquez sous Stratégie SSL et, dans la boîte de dialogue Liaison de stratégie, sélectionnez la stratégie créée précédemment et attribuez une priorité.
- Cliquez sur Bind.