Citrix ADC

Surveiller l’état du certificat avec OCSP

Le protocole OCSP (Online Certificate Status Protocol) est un protocole Internet qui est utilisé pour déterminer l’état d’un certificat SSL client. Les appliances Citrix ADC prennent en charge OCSP tel que défini dans la RFC 2560. L’OCSP offre des avantages importants par rapport aux listes de révocation de certificats (CRL) en termes d’information opportune. Le statut actuel de révocation d’un certificat de client est particulièrement utile dans les transactions impliquant des sommes importantes et des opérations boursières de grande valeur. Il utilise également moins de ressources système et réseau. L’implémentation Citrix ADC d’OCSP inclut le traitement par lots de requêtes et la mise en cache des réponses.

Mise en œuvre de l’OCSP

La validation OCSP sur une appliance Citrix ADC commence lorsque celle-ci reçoit un certificat client lors d’une liaison 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 s’il faut autoriser la transaction ou la rejeter. Si la réponse du serveur est retardée au-delà de l’heure configurée et qu’aucun autre répondeur n’est configuré, l’appliance autorise la transaction ou affiche une erreur, selon que la vérification OCSP a été définie sur facultative ou obligatoire, respectivement.

L’appliance prend en charge le traitement par lots de requêtes 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.

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 interroger l’état de plusieurs certificats client dans la même demande. Pour que cela fonctionne efficacement, un délai d’attente doit être défini afin que le traitement d’un seul certificat ne soit pas excessivement retardé en attendant de former un lot.

Mise en cache des réponses OCSP

La mise en cache des réponses reçues du répondeur OCSP permet des réponses plus rapides aux clients et réduit la charge sur le répondeur OCSP. Dès réception de l’état de révocation d’un certificat client du répondeur OCSP, l’appliance met en cache la réponse 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 une entrée pour ce certificat. Si une entrée est trouvée qui est toujours valide (dans la limite du 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 : à partir de la version 12.1 build 49.x, la limite de délai d’expiration du cache est désormais augmentée à un maximum de 43200 minutes (30 jours). Auparavant, la limite était de 1440 minutes (un jour). La limite accrue permet de réduire les recherches sur le serveur OCSP et d’éviter les échecs de connexion SSL/TLS au cas où le serveur OCSP n’est pas accessible en raison de problèmes de réseau ou d’autres.

Configuration du répondeur OCSP

La configuration d’OCSP implique l’ajout d’un répondeur OCSP, la liaison du répondeur OCSP à un certificat d’autorité de certification (CA) et la liaison du 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 )]
bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]
bind ssl vserver <vServerName>@ (-certkeyName <string> ( CA [-ocspCheck ( Mandatory | Optional )]))
show ssl ocspResponder [<name>]

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
bind ssl certKey ca_cert -ocspResponder ocsp_responder1 -priority 1
bind ssl vserver vs1 -certkeyName ca_cert -CA -ocspCheck Mandatory
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 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
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

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 commande set ssl OCSPResponder.

À 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>]

Configurer un répondeur OCSP à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > SSL > Répondeur OCSP et configurez un répondeur OCSP.
  2. 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.
  3. 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.
  4. Si vous le souhaitez, sélectionnez OCSP Obligatoire.

Surveiller l’état du certificat avec OCSP