Surveiller l’état des certificats avec OCSP
Le protocole OCSP (Online Certificate Status Protocol) est un protocole Internet utilisé pour déterminer l’état d’un certificat SSL client. Les appliances NetScaler prennent en charge l’OCSP tel que défini dans la RFC 2560. OCSP offre des avantages significatifs par rapport aux listes de révocation de certificats (CRL) en termes d’informations en temps opportun. Le statut de révocation à jour d’un certificat client est particulièrement utile dans les transactions impliquant des sommes d’argent importantes et des transactions boursières de grande valeur. Il utilise également moins de ressources système et réseau. L’implémentation d’OCSP par NetScaler inclut le traitement par lots des demandes et la mise en cache des réponses.
Mise en œuvre de l’OCSP
La validation OCSP sur une appliance NetScaler commence lorsque l’appliance reçoit un certificat client lors d’une connexion SSL. Pour valider le certificat, l’appliance crée une demande OCSP et la transmet au répondeur OCSP. Pour ce faire, l’appliance utilise une URL configurée localement. La transaction est suspendue jusqu’à ce que l’appliance évalue la réponse du serveur et détermine si elle doit autoriser ou rejeter la transaction. Si la réponse du serveur est retardée au-delà de la durée configurée et qu’aucun autre répondeur n’est configuré, l’appliance autorise la transaction ou affiche une erreur, selon que le contrôle OCSP a été défini comme facultatif ou obligatoire, respectivement.
L’appliance prend en charge le traitement par lots des demandes OCSP et la mise en cache des réponses OCSP afin de réduire la charge sur le répondeur OCSP et de fournir des réponses plus rapides.
traitement par lots de demandes OCSP
Chaque fois que l’appliance reçoit un certificat client, elle envoie une demande au répondeur OCSP. Pour éviter de surcharger le répondeur OCSP, l’appliance peut demander l’état de plusieurs certificats clients dans la même demande. Pour que cette fonctionnalité fonctionne efficacement, un délai d’attente doit être défini afin que le traitement d’un seul certificat ne soit pas trop retardé pendant l’attente de la création d’un lot.
Mise en cache des réponses OCSP
La mise en cache des réponses reçues du répondeur OCSP permet de répondre plus rapidement aux clients et de réduire la charge sur le répondeur OCSP. Dès réception de l’état de révocation d’un certificat client de la part du répondeur OCSP, l’appliance met la réponse en cache localement pendant une durée prédéfinie. Lorsqu’un certificat client est reçu lors d’une connexion SSL, l’appliance vérifie d’abord dans son cache local la présence d’une entrée pour ce certificat. Si une entrée est trouvée qui est toujours valide (dans le délai d’expiration du cache), elle est évaluée et le certificat client est accepté ou rejeté. Si aucun certificat n’est trouvé, l’appliance envoie une demande au répondeur OCSP et stocke la réponse dans son cache local pendant une durée configurée.
Remarque : Le délai d’expiration du cache peut être défini à un maximum de 43 200 minutes (30 jours). Dans la version 12.1 build 49.x et les versions antérieures, la limite était de 1 440 minutes (un jour). L’augmentation de la limite permet de réduire les recherches sur le serveur OCSP et d’éviter tout échec de connexion SSL/TLS au cas où le serveur OCSP ne serait pas accessible en raison de problèmes de réseau ou autres.
Configuration du répondeur OCSP
La configuration d’OCSP implique d’ajouter un répondeur OCSP, de lier le répondeur OCSP à un certificat d’autorité de certification (CA) et de lier le certificat à un serveur virtuel SSL. Si vous devez lier un certificat différent à un répondeur OCSP déjà configuré, vous devez d’abord dissocier le répondeur, puis lier le répondeur à un autre certificat.
Ajouter un répondeur 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 ocspResponder <name> -url <URL> [-cache ( ENABLED | DISABLED )[-cacheTimeout <positive_integer>]] [ -batchingDepth <positive_integer>][-batchingDelay <positive_integer>] [-resptimeout <positive_integer>] [-responderCert <string> | -trustResponder] [-producedAtTimeSkew <positive_integer>][-signingCert <string>][-useNonce ( YES | NO )][ -insertClientCert( YES | NO )]
<!--NeedCopy-->
bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]
<!--NeedCopy-->
bind ssl vserver <vServerName>@ (-certkeyName <string> ( CA [-ocspCheck ( Mandatory | Optional )]))
<!--NeedCopy-->
show ssl ocspResponder [<name>]
<!--NeedCopy-->
Exemple :
add ssl ocspResponder ocsp_responder1 -url "http:// www.myCA.org:80/ocsp/" -cache ENABLED -cacheTimeout 30 -batchingDepth 8 -batchingDelay 100 -resptimeout 100 -responderCert responder_cert -producedAtTimeSkew 300 -signingCert sign_cert -insertClientCert YES
<!--NeedCopy-->
bind ssl certKey ca_cert -ocspResponder ocsp_responder1 -priority 1
<!--NeedCopy-->
bind ssl vserver vs1 -certkeyName ca_cert -CA -ocspCheck Mandatory
<!--NeedCopy-->
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
<!--NeedCopy-->
show certkey ca_cert
Name: ca_cert Status: Valid, Days to expiration:8907
Version: 3
…
1) VServer name: vs1 CA Certificate
1) OCSP Responder name: ocsp_responder1 Priority: 1
Done
<!--NeedCopy-->
sh ssl vs vs1
Advanced SSL configuration for VServer vs1:
DH: DISABLED
…
1) CertKey Name: ca_cert CA Certificate OCSPCheck: Mandatory
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Modifier un répondeur OCSP à l’aide de l’interface de ligne de commande
Vous ne pouvez pas modifier le nom du répondeur. Tous les autres paramètres peuvent être modifiés à l’aide de la set ssl ocspResponder
commande.
À 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>] [-batchingDepth <positive_integer>] [-batchingDelay <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-->
Configuration d’un répondeur 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.
- Si vous le souhaitez, sélectionnez « OCSP Obligatoire ».