Agrafage OCSP
L’implémentation de CRL et OCSP par NetScaler indique uniquement l’état de révocation des certificats clients. Pour vérifier l’état de révocation d’un certificat de serveur reçu lors d’une poignée de main SSL, un client doit envoyer une demande à une autorité de certification.
Pour les sites Web à fort trafic, de nombreux clients reçoivent le même certificat de serveur. Si chaque client envoyait une requête concernant l’état de révocation du certificat du serveur, l’autorité de certification serait inondée de demandes OCSP pour vérifier la validité du certificat.
Solution d’agrafage OCSP
Pour éviter tout encombrement inutile, l’appliance NetScaler prend désormais en charge l’agrafage OCSP. En d’autres termes, au moment de la négociation SSL, l’appliance peut désormais envoyer l’état d’un certificat de serveur à un client après avoir validé la réponse d’un répondeur OCSP. L’état d’un certificat de serveur est « agrafé » au certificat que l’appliance envoie au client dans le cadre de la négociation 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.
Remarques
- À partir de la version 13.1-30.x, tous les certificats intermédiaires incluent désormais l’extension de réponse OCSP lorsque les conditions suivantes sont remplies :
- TLS 1.3 protocol is used
- Client sends a status request
Auparavant, seul le certificat du serveur incluait cette extension dans la réponse à la demande d’état du client.
Avec les autres protocoles (y compris TLS 1.2), le serveur envoie la réponse OCSP uniquement pour le certificat du serveur. En d’autres termes, la RFC 6961 n’est pas prise en charge avec le protocole TLS 1.2.
Les appliances NetScaler prennent en charge l’agrafage OCSP tel que défini dans la RFC 6066.
L’agrafage OCSP est uniquement pris en charge sur le front-end des appliances NetScaler.
L’appliance ADC se comporte comme suit lorsque le protocole TLS 1.3 est utilisé : si la réponse OCSP mise en cache n’est pas valide (vide ou a expiré), une demande est envoyée au répondeur OCSP mais la négociation SSL est terminée sans attendre la réponse. Lorsque la réponse est reçue, elle est mise en cache et est disponible pour les futures demandes d’état des clients.
- La prise en charge de l’agrafage OCSP par NetScaler est limitée aux prises de contact utilisant le protocole TLS version 1.0 ou supérieure.
Mise en cache des réponses OCSP des certificats de serveur
Remarque
À partir de la version 13.1-30.x, lorsque le protocole TLS 1.3 est utilisé, la réponse OCSP est mise en cache pour le certificat du serveur et tous les certificats intermédiaires.
Lors de la négociation 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 timeout).
Remarque : À partir de la version 12.1 build 49.x, vous pouvez effacer la réponse mise en cache, du certificat du serveur, du répondeur OCSP avant même 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 de certificat tant que le délai d’expiration configuré n’était pas écoulé.
Pour effacer l’état mis en cache à l’aide de l’interface de ligne de commande, à l’invite de commandes, tapez :
clear ssl certKey <certkey name> -ocspstaplingCache
<!--NeedCopy-->
Exemple :
clear ssl certKey s1 -ocspstaplingCache
<!--NeedCopy-->
Pour effacer l’état du 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 fonctionnalité et la configuration 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 uniquement une URL basée sur HTTP sont pris en charge.
Activer l’agrafage OCSP à l’aide de la CLI
À 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 par défaut (amélioré) 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 en fonction de l’URL OCSP dans le certificat de serveur. Un répondeur OCSP manuel est ajouté à partir de la CLI ou de l’interface graphique. Pour envoyer une demande OCSP pour un certificat de serveur, l’appliance NetScaler sélectionne un répondeur OCSP en fonction de la priorité qui lui est attribuée lors de sa liaison à un certificat émetteur. Si un répondeur ne parvient pas à envoyer une demande d’agrafage OCSP, le répondeur ayant la priorité la plus élevée est sélectionné pour envoyer la demande. Par exemple, si un seul répondeur est configuré manuellement et qu’il échoue et qu’il existe un répondeur lié dynamiquement, il est sélectionné pour l’envoi de 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é 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 de traitement par lots 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 du serveur ou le certificat de l’autorité de certification. |
Peut être lié à n’importe quel certificat d’autorité de certification. | Lié par défaut à un seul certificat d’autorité de certification. Ne peut être lié à aucun autre certificat d’autorité de certification. |
Enregistré dans la configuration (ns.conf). | Les commandes d’ajout ne sont pas enregistrées dans la configuration. Seules les commandes d’ensemble sont enregistrées. |
Si vous liez trois répondeurs OCSP au même certificat émetteur avec les priorités 1, 2 et 3 respectivement, et que vous dissociez ultérieurement la priorité 2, 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 qui a été utilisé pour créer un répondeur lié avec la priorité 129, ce répondeur est supprimé. De plus, la priorité du répondeur suivant (priorité 130) passe automatiquement à 129. |
Exemple de traitement des demandes :
- Ajoutez un serveur virtuel (VIP1).
- Ajoutez le certificat d’émetteur (CA1) et liez-le à 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 est envoyée à VIP1. Responder 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és de certificat du 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 possède 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 commande
set ssl ocspResponder
pour activer la mise en cache.
Configurer OCSP à l’aide de la CLI
À 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 demandes de moins de 255 octets, vous pouvez configurer la méthode HTTP GET pour les requêtes adressées à 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:
Durée, en millisecondes, d’attente d’une résolution d’URL OCSP. Passé ce délai, le répondeur ayant la priorité la plus élevée est sélectionné. Si tous les répondeurs échouent, un message d’erreur s’affiche ou la connexion est interrompue, selon les 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 la CLI
Vous ne pouvez pas modifier le nom d’un répondeur OCSP, mais vous pouvez utiliser la set ssl ocspResponder
commande pour modifier n’importe quel autre paramètre.
À 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 OCSPet configurez un répondeur OCSP.
- Accédez à Gestion du trafic > SSL > Certificats, sélectionnez un certificat, puis 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 d’insertion du certificat client dans
add ssl ocspResponder
et les commandesset ssl ocspResponder
n’est plus valide. Autrement dit, le paramètre est ignoré lors de la configuration.
Dans cet article
- Solution d’agrafage OCSP
- Mise en cache des réponses OCSP des certificats de serveur
-
Configuration de l’agrafage OCSP
- Activer l’agrafage OCSP à l’aide de la CLI
- Activer l’agrafage OCSP à l’aide de l’interface graphique
- Configuration OCSP
- Différence entre un répondeur OCSP créé manuellement et un répondeur OCSP créé en interne
- Configurer OCSP à l’aide de la CLI
- Modifier OCSP à l’aide de la CLI
- Configurer OCSP à l’aide de l’interface graphique