Configurer l’insertion d’en-tête SSL
Étant donné que l’appliance Citrix ADC décharge tous les traitements SSL des serveurs, les serveurs reçoivent uniquement du trafic HTTP. Dans certaines circonstances, le serveur a besoin de certaines informations SSL. Par exemple, les audits de sécurité des transactions SSL récentes exigent que le nom du sujet 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 en tant que 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 connu sous le nom d’empreinte digitale ou d’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érer la date non antérieure ou non 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. En outre, l’authentification du client doit être activée sur le serveur virtuel SSL, car les valeurs insérées proviennent du certificat client qui est présenté au serveur virtuel pour l’authentification.
Pour configurer l’insertion d’en-tête 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 syntaxe par défaut. 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 exécuter une action (act1) si l’authentification client réussit. 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 de ligne de commande de configuration de l’insertion d’en-tête 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ête basée sur 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
- Étiquette de certificat
- Émetteur de certificat client
- Étiquette de l’émetteur
* Paramètre obligatoire
-
Cliquez sur Créer, puis sur Fermer.
-
Sous 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.
- Demander une action
* 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/Annuler 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é liée avec succès.
-
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 Citrix ADC 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 requête 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é s’il y a une 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 digitale du certificat client et un résumé (valeur de hachage) pour calculer la valeur d’empreinte digitale. L’appliance Citrix ADC prend en charge les digestes SHA1 et SHA2 (SHA224, SHA256, SHA384, SHA512). L’appliance déduit la valeur de l’empreinte digitale en calculant le résumé spécifié du codage DER du certificat client. Ensuite, créez une stratégie SSL spécifiant cette action et liez la stratégie à 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 :
clientCertFingerprint:
Insérez l’empreinte digitale du certificat dans l’en-tête HTTP de la requête envoyée au serveur Web. L’empreinte digitale est dérivée en calculant la valeur de hachage spécifiée (SHA256, par exemple) du codage DER du certificat client.
certFingerprintHeader:
Nom de l’en-tête dans lequel insérer l’empreinte digitale du certificat client.
certFingerprintDigest:
Algorithme de synthèse 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 d’informations, 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*
- Impression digitale du certificat client
- Étiquette d’empreinte digitale
- Digest d’empreinte digitale *Un paramètre requis
- Cliquez sur Créer.
- 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 *Paramètre obligatoire
- Cliquez sur Créer.
- 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, puis dans la boîte de dialogue Liaison de stratégie, sélectionnez la stratégie créée précédemment et affectez une priorité.
- Cliquez sur Bind.