Association d’OCSP
L’implémentation Citrix ADC de CRL et OCSP signale l’état de révocation des certificats clients uniquement. Pour vérifier l’état de révocation d’un certificat de serveur reçu lors d’une connexion SSL, un client doit envoyer une demande à une autorité de certification.
Pour les sites Web où le trafic est important, de nombreux clients reçoivent le même certificat de serveur. Si chaque client envoyait une requête pour l’état de révocation du certificat serveur, l’autorité de certification serait inondée de requêtes OCSP pour vérifier la validité du certificat.
Solution d’agrafage OCSP
Pour éviter une congestion inutile, l’appliance Citrix ADC prend désormais en charge l’agrafage OCSP. Autrement dit, l’appliance peut désormais envoyer l’état de révocation d’un certificat de serveur à un client, au moment de la connexion SSL, après avoir validé l’état du certificat à partir d’un répondeur OCSP. L’état de révocation d’un certificat de serveur est « agrafé » à la réponse que l’appliance envoie au client dans le cadre de la poignée de main SSL. Pour utiliser la fonctionnalité d’agrafage OCSP, vous devez l’activer sur un serveur virtuel SSL et ajouter un répondeur OCSP sur l’appliance.
Remarque :
-
Les appliances Citrix ADC prennent en charge l’agrafage OCSP tel que défini dans la RFC 6066.
-
L’agrafage OCSP n’est pris en charge que sur le front-end des appliances Citrix ADC.
Important :
La prise en charge de Citrix ADC pour l’agrafage OCSP est limitée aux poignées de main utilisant le protocole TLS version 1.0 ou supérieure.
Mise en cache des réponses OCSP des certificats de serveur
Au cours de la poignée de main SSL, lorsqu’un client demande l’état de révocation du certificat de serveur, l’appliance vérifie d’abord dans son cache local une entrée pour ce certificat. Si une entrée valide est trouvée, elle est évaluée et le certificat du serveur et son état sont présentés au client. Si aucune entrée d’état de révocation n’est trouvée, l’appliance envoie une demande d’état de révocation du certificat de serveur au répondeur OCSP. S’il reçoit une réponse, il envoie le certificat et l’état de révocation au client. Si le champ de mise à jour suivant est présent dans la réponse OCSP, la réponse est mise en cache pendant la durée configurée (valeur spécifiée dans le champ Délai d’expiration).
Remarque : à partir de la version 12.1 build 49.x, vous pouvez effacer la réponse mise en cache, du certificat serveur, du répondeur OCSP même avant l’expiration du délai d’expiration. Auparavant, il n’était pas possible d’ignorer l’état mis en cache dans la paire de clés certificat-clé tant que le délai d’attente configuré n’était pas terminé.
Pour effacer l’état mis en cache à l’aide de l’interface de ligne de commande, tapez :
clear ssl certKey <certkey name> -ocspstaplingCache
<!--NeedCopy-->
Exemple :
clear ssl certKey s1 -ocspstaplingCache
<!--NeedCopy-->
Pour effacer l’état mis en cache à l’aide de l’interface graphique
- Dans l’interface graphique, accédez à Gestion du trafic > SSL > Certificats > Certificats d’autorité de certification.
- Dans le volet d’informations, sélectionnez un certificat.
- Dans la liste Sélectionner une action, sélectionnez Effacer. Lorsque vous êtes invité à confirmer, cliquez sur Oui.
Configuration de l’agrafage OCSP
La configuration de l’agrafage OCSP implique l’activation de la fonction et la configuration d’OCSP. Pour configurer OCSP, vous devez ajouter un répondeur OCSP, lier le répondeur OCSP à un certificat d’autorité de certification et lier le certificat à un serveur virtuel SSL.
Remarque :
Les répondeurs OCSP avec une URL basée uniquement sur HTTP sont pris en charge.
Activer l’agrafage OCSP à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
set ssl vserver <name> -ocspstapling [ENABLED | DISABLED]
<!--NeedCopy-->
Exemple :
set ssl vserver vip1 -ocspStapling ENABLED
Done
sh ssl vserver vip1
Advanced SSL configuration for VServer vip1:
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: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: ENABLED
OCSP Stapling: ENABLED
SSLv2: DISABLED SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: server_certificate1 Server Certificate
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->
Remarque : Si le profil (amélioré) par défaut est activé, utilisez la set ssl profile <profile name> -ocspStapling [ENABLED | DISABLED]
commande pour activer ou désactiver OCSP.
Activer l’agrafage OCSP à l’aide de l’interface graphique
- Accédez à Gestion du trafic > SSL > Serveur virtuel.
- Ouvrez un serveur virtuel et, dans Paramètres SSL, sélectionnez Agrafage OCSP.
Configuration OCSP
Un répondeur OCSP est ajouté dynamiquement ou manuellement pour envoyer des demandes d’agrafage OCSP. Un répondeur interne est ajouté dynamiquement lorsque vous ajoutez un certificat de serveur et son certificat d’émetteur basé sur l’URL OCSP dans le certificat de serveur. Un répondeur OCSP manuel est ajouté à partir de l’interface de ligne de commande ou de l’interface graphique. Pour envoyer une demande OCSP pour un certificat de serveur, l’appliance Citrix ADC sélectionne un répondeur OCSP en fonction de la priorité qui lui est attribuée lors de la liaison avec un certificat d’émetteur. Si un répondeur ne parvient pas à envoyer une demande d’agrafage OCSP, celui qui a la priorité la plus élevée est sélectionné pour l’envoi de la demande. Par exemple, si un seul répondeur est configuré manuellement et qu’il échoue et qu’un répondeur lié dynamiquement existe, il est sélectionné pour envoyer la demande OCSP.
Si l’URL OCSP est autre que HTTP, aucun répondeur OCSP interne n’est créé.
Remarque
Un répondeur OCSP ajouté manuellement a priorité sur un répondeur ajouté dynamiquement.
Différence entre un répondeur OCSP créé manuellement et un répondeur OCSP créé en interne
Répondeur OCSP créé manuellement | Répondeur OCSP créé en interne (dynamiquement) |
Créé manuellement et explicitement lié au certificat de l’émetteur avec une priorité. | Créé et lié par défaut, lors de l’ajout d’un certificat de serveur et de son certificat d’émetteur (certificat d’autorité de certification). Le nom commence par « ns_internal_ ». |
La priorité comprise entre 1 et 127 est réservée à un répondeur configuré. | La priorité est automatiquement attribuée à partir de 128. |
L’URL et la profondeur du lot peuvent être modifiées. | L’URL et la profondeur du lot ne peuvent pas être modifiées. |
Supprimé directement. | Supprimé uniquement lorsque vous supprimez le certificat de serveur ou le certificat d’autorité de certification. |
Peut être lié à n’importe quel certificat d’autorité de certification. | Lié par défaut à un certificat d’autorité de certification. Impossible d’être lié à un autre certificat d’autorité de certification. |
Enregistré dans la configuration (ns.conf). | Les commandes Ajouter ne sont pas enregistrées dans la configuration. Seules les commandes set sont enregistrées. |
Si vous liez trois répondeurs OCSP au même certificat d’émetteur avec les priorités 1, 2 et 3 respectivement, puis que vous dissociez la priorité 2 plus tard, les autres priorités ne sont pas affectées. | Trois répondeurs OCSP sont automatiquement liés à un certificat d’émetteur avec les priorités 128, 129 et 130 respectivement. Si vous supprimez le certificat de serveur utilisé pour créer un répondeur lié à la priorité 129, ce répondeur est supprimé. En outre, la priorité du répondeur suivant (priorité 130) est automatiquement modifiée à 129. |
Exemple de traitement des demandes :
- Ajouter un serveur virtuel (VIP1).
- Ajouter un certificat émetteur (CA1) et le lier à VIP1.
- Ajoutez trois certificats S1, S2 et S3. Les répondeurs internes resp1, resp2 et resp3 respectivement sont créés par défaut.
- Liez S3 à VIP1.
- Une demande vient à VIP1. Le répondeur resp3 est sélectionné.
Pour créer dynamiquement un répondeur OCSP interne, l’appliance a besoin des éléments suivants :
- Certificat de l’émetteur du certificat du serveur (généralement le certificat de l’autorité de certification).
- Paire de clé de certificat du serveur. Ce certificat doit contenir l’URL OCSP fournie par l’autorité de certification. L’URL est utilisée comme nom du répondeur interne ajouté dynamiquement.
Un répondeur OCSP interne a les mêmes valeurs par défaut qu’un répondeur configuré manuellement.
Remarque :
La mise en cache est désactivée par défaut sur un répondeur interne. Utilisez la
set ssl ocspResponder
commande pour activer la mise en cache.
Configurer OCSP à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez les commandes suivantes pour configurer OCSP et vérifier la configuration :
add ssl certKey <certkeyName> (-cert <string> [-password]) [-key <string> | -fipsKey <string> | -hsmKey <string>] [-inform <inform>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]] [-bundle ( YES | NO )]
add ssl ocspResponder <name> -url <URL> [-cache ( ENABLED | DISABLED )[-cacheTimeout <positive_integer>]] [-resptimeout <positive_integer>] [-responderCert <string> | -trustResponder] [-producedAtTimeSkew <positive_integer>][-signingCert <string>][-useNonce ( YES | NO )][ -insertClientCert ( YES | NO )]
bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]
show ssl ocspResponder [<name>]
<!--NeedCopy-->
Paramètres :
httpMethod:
Méthode HTTP utilisée pour envoyer des requêtes OCSP. Pour les requêtes de moins de 255 octets, vous pouvez configurer la méthode HTTP GET pour les requêtes vers un serveur OCSP. Si vous spécifiez la méthode GET mais que la longueur est supérieure à 255 octets, l’appliance utilise la méthode par défaut (POST).
Valeurs possibles : GET, POST
Valeur par défaut : POST
ocspUrlResolveTimeout:
Temps d’attente, en millisecondes, pour une résolution d’URL OCSP. Une fois ce temps écoulé, le répondeur avec la priorité supérieure suivante est sélectionné. Si tous les répondeurs échouent, un message d’erreur s’affiche ou la connexion est interrompue, en fonction des paramètres du serveur virtuel.
Valeur minimale : 100
Valeur maximale : 2000
Exemple :
add ssl certkey root_ca1 –cert root_cacert.pem
add ssl ocspResponder ocsp_responder1 -url "http:// www.myCA.org:80/ocsp/" -cache ENABLED -cacheTimeout 30 -resptimeout 100 -responderCert responder_cert -producedAtTimeSkew 300 -signingCert sign_cert -insertClientCert YES
bind ssl certKey root_ca1 -ocspResponder ocsp_responder1 -priority 1
sh ocspResponder ocsp_responder1
1)Name: ocsp_responder1
URL: http://www.myCA.org:80/ocsp/, IP: 192.128.22.22
Caching: Enabled Timeout: 30 minutes
Batching: 8 Timeout: 100 mS
HTTP Request Timeout: 100mS
Request Signing Certificate: sign_cert
Response Verification: Full, Certificate: responder_cert
ProducedAt Time Skew: 300 s
Nonce Extension: Enabled
Client Cert Insertion: Enabled
Done
show certkey root_ca1
Name: root_ca1 Status: Valid, Days to expiration:8907
Version: 3
…
1) OCSP Responder name: ocsp_responder1 Priority: 1
Done
<!--NeedCopy-->
Modifier OCSP à l’aide de l’interface de ligne de commande
Vous ne pouvez pas modifier le nom d’un répondeur OCSP, mais vous pouvez utiliser la set ssl ocspResponder
commande pour modifier l’un des autres paramètres.
À l’invite de commandes, tapez les commandes suivantes pour définir les paramètres et vérifier la configuration :
set ssl ocspResponder <name> [-url <URL>] [-cache ( ENABLED | DISABLED)] [-cacheTimeout <positive_integer>] [-resptimeout <positive_integer>] [ -responderCert <string> | -trustResponder][-producedAtTimeSkew <positive_integer>][-signingCert <string>] [-useNonce ( YES | NO )]
unbind ssl certKey [<certkeyName>] [-ocspResponder <string>]
bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]
show ssl ocspResponder [<name>]
<!--NeedCopy-->
Configurer OCSP à l’aide de l’interface graphique
- Accédez à Gestion du trafic > SSL > Répondeur OCSP et configurez un répondeur OCSP.
- Accédez à Gestion du trafic > SSL > Certificats, sélectionnez un certificat et, dans la liste Action, sélectionnez Liaisons OCSP. Liez un répondeur OCSP.
- Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, ouvrez un serveur virtuel et cliquez dans la section Certificats pour lier un certificat d’autorité de certification.
- Le cas échéant, sélectionnez OCSP Obligatoire.
Remarque :
Le paramètre de certificat client d’insertion dans le
add ssl ocspResponder
etset ssl ocspResponder
les commandes n’est plus valide. Autrement dit, le paramètre est ignoré lors de la configuration.