ADC

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

  1. Dans l’interface graphique, accédez à Gestion du trafic > SSL > Certificats > Certificats d’autorité de certification.
  2. Dans le volet d’informations, sélectionnez un certificat.
  3. 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

  1. Accédez à Gestion du trafic > SSL > Serveur virtuel.
  2. 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 :

  1. Ajoutez un serveur virtuel (VIP1).
  2. Ajoutez le certificat d’émetteur (CA1) et liez-le à VIP1.
  3. Ajoutez trois certificats S1, S2 et S3. Les répondeurs internes resp1, resp2 et resp3 respectivement sont créés par défaut.
  4. Liez S3 à VIP1.
  5. 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

  1. Accédez à Gestion du trafic > SSL > Répondeur OCSPet configurez un répondeur OCSP.
  2. 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.
  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. Le cas échéant, sélectionnez OCSP obligatoire.

Remarque :

Le paramètre d’insertion du certificat client dans add ssl ocspResponder et les commandes set ssl ocspResponder n’est plus valide. Autrement dit, le paramètre est ignoré lors de la configuration.