Citrix ADC

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 à fort trafic, 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 pour 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 serveur, du répondeur OCSP même avant l’expiration du délai d’expiration. Auparavant, vous ne pouviez pas 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 terminé.

Pour effacer l’état mis en cache à l’aide de l’interface de ligne de commande, tapez :

clear ssl certKey <certkey name> -ocspstaplingCache

Exemple :

clear ssl certKey s1 -ocspstaplingCache

Pour effacer l’état mis en 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. Si 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]

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

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 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é entre 1 et 127 est réservée au 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 définies 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 :

  1. Ajouter un serveur virtuel (VIP1).
  2. Ajouter un certificat émetteur (CA1) et le lier à 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 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 commande « set ssl OCSPResponder » 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>]

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

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

Configurer 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. Le cas échéant, sélectionnez OCSP Obligatoire.

Remarque :

Le paramètre de certificat client insert dans les commandes « add ssl OCSPResponder » et « set ssl OCSPResponder » n’est plus valide. Autrement dit, le paramètre est ignoré lors de la configuration.

Association d’OCSP