OCSP-Heftung

Die Citrix ADC Implementierung von CRL und OCSP meldet nur den Sperrstatus von Clientzertifikaten. Um den Sperrstatus eines Serverzertifikats zu überprüfen, das während eines SSL-Handshake empfangen wurde, muss ein Client eine Anforderung an eine Zertifizierungsstelle senden.

Für Websites mit hohem Datenverkehr erhalten viele Clients dasselbe Serverzertifikat. Wenn jeder Client eine Abfrage für den Sperrstatus des Serverzertifikats gesendet hat, wird die Zertifizierungsstelle mit OCSP-Anforderungen überflutet, um die Gültigkeit des Zertifikats zu überprüfen.

OCSP-Heftlösung

Um unnötige Engpässe zu vermeiden, unterstützt die Citrix ADC Appliance nun das OCSP-Heften. Das heißt, die Appliance kann nun den Sperrstatus eines Serverzertifikats zum Zeitpunkt des SSL-Handshake an einen Client senden, nachdem der Zertifikatstatus von einem OCSP-Responder überprüft wurde. Der Sperrstatus eines Serverzertifikats wird auf die Antwort geheftet, die die Appliance als Teil des SSL-Handshake an den Client sendet. Um die OCSP-Heftfunktion verwenden zu können, müssen Sie sie auf einem virtuellen SSL-Server aktivieren und der Appliance einen OCSP-Responder hinzufügen.

Hinweis:

  • Citrix ADC Appliances unterstützen die OCSP-Heftung gemäß RFC 6066.

  • Das OCSP-Heften wird nur am Front-End von Citrix ADC Appliances unterstützt.

Wichtig:

Citrix ADC Unterstützung für OCSP-Heften ist auf Handshakes mit TLS-Protokoll Version 1.0 oder höher beschränkt.

OCSP-Antwort-Caching von Serverzertifikaten

Wenn ein Client während des SSL-Handshake den Sperrstatus des Serverzertifikats anfordert, überprüft die Appliance zunächst ihren lokalen Cache auf einen Eintrag für dieses Zertifikat. Wenn ein gültiger Eintrag gefunden wird, wird er ausgewertet und das Serverzertifikat und sein Status dem Client angezeigt. Wenn kein Sperrstatuseintrag gefunden wird, sendet die Appliance eine Anforderung für den Sperrstatus des Serverzertifikats an den OCSP-Responder. Wenn es eine Antwort erhält, sendet es das Zertifikat und den Sperrstatus an den Client. Wenn das nächste Aktualisierungsfeld in der OCSP-Antwort vorhanden ist, wird die Antwort für die konfigurierte Zeitspanne zwischengespeichert (Wert, der im Timeout-Feld angegeben ist).

Hinweis: Ab Release 12.1 Build 49.x können Sie die zwischengespeicherte Antwort des Serverzertifikats aus dem OCSP-Responder löschen, noch bevor das Timeout abläuft. Früher konnten Sie den zwischengespeicherten Status im Zertifikatschlüsselpaar erst verwerfen, wenn das konfigurierte Timeout abgelaufen war.

Um den zwischengespeicherten Status mit der CLI zu löschen, geben Sie an der Eingabeaufforderung Folgendes ein:

clear ssl certKey <certkey name> -ocspstaplingCache

Beispiel:

clear ssl certKey s1 -ocspstaplingCache

So löschen Sie den zwischengespeicherten Status mit der GUI

  1. Navigieren Sie in der Benutzeroberfläche zu Traffic Management > SSL > Zertifikate > CA-Zertifikate .
  2. Wählen Sie im Detailbereich ein Zertifikat aus.
  3. Wählen Sie in der Liste Aktion auswählen die Option Löschen aus. Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Ja.

OCSP-Heftkonfiguration

Beim Konfigurieren von OCSP-Heften müssen Sie das Feature aktivieren und OCSP konfigurieren. Um OCSP zu konfigurieren, müssen Sie einen OCSP-Responder hinzufügen, den OCSP-Responder an ein Zertifizierungsstellenzertifikat binden und das Zertifikat an einen virtuellen SSL-Server binden.

Hinweis:

OCSP-Responder mit nur HTTP-basierter URL werden unterstützt.

Aktivieren der OCSP-Heftung mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl vserver <name> -ocspstapling [ENABLED | DISABLED]

Beispiel:

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

Aktivieren der OCSP-Heftung mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > Virtueller Server .
  2. Öffnen Sie einen virtuellen Server, und wählen Sie unter SSL-ParameterOCSP-Staplingaus.

OCSP-Konfiguration

Ein OCSP-Responder wird dynamisch oder manuell hinzugefügt, um OCSP-Stapelanforderungen zu senden. Ein interner Responder wird dynamisch hinzugefügt, wenn Sie ein Serverzertifikat und dessen Ausstellerzertifikat basierend auf der OCSP-URL im Serverzertifikat hinzufügen. Ein manueller OCSP-Responder wird von der CLI oder GUI hinzugefügt. Um eine OCSP-Anforderung für ein Serverzertifikat zu senden, wählt die Citrix ADC Appliance einen OCSP-Responder basierend auf der Priorität aus, die ihm beim Binden an ein Ausstellerzertifikat zugewiesen wurde. Wenn ein Responder eine OCSP-Staplungsanforderung nicht sendet, wird der Responder mit der nächsthöheren Priorität zum Senden der Anforderung ausgewählt. Wenn beispielsweise nur ein Responder manuell konfiguriert und fehlschlägt und ein dynamisch gebundener Responder vorhanden ist, wird er zum Senden der OCSP-Anforderung ausgewählt.

Wenn die OCSP-URL nicht HTTP ist, wird kein interner OCSP-Responder erstellt.

Hinweis:

Ein manuell hinzugefügter OCSP-Responder hat Vorrang vor einem dynamisch hinzugefügten Responder.

Unterschied zwischen einem manuell erstellten OCSP-Responder und einem intern erstellten OCSP-Responder

   
Manuell erstellter OCSP-Responder Intern (dynamisch) erstellter OCSP-Responder
Erstellt manuell und explizit an das Ausstellerzertifikat mit einer Priorität gebunden. Beim Hinzufügen eines Serverzertifikats und seines Ausstellerzertifikats (CA-Zertifikat) wird standardmäßig erstellt und gebunden. Name beginnt mit ns_internal_.
Priorität zwischen 1 und 127 ist für konfigurierten Responder reserviert. Priorität wird automatisch ab 128 zugewiesen.
URL und Batching-Tiefe können geändert werden. URL und Batching-Tiefe können nicht geändert werden.
Direkt gelöscht. Wird nur gelöscht, wenn Sie das Serverzertifikat oder das Zertifizierungsstellenzertifikat löschen.
Kann an jedes Zertifizierungsstellenzertifikat gebunden werden. Standardmäßig an ein Zertifizierungsstellenzertifikat gebunden. Kann nicht an ein anderes Zertifizierungsstellenzertifikat gebunden werden.
In der Konfiguration gespeichert (ns.conf). Add-Befehle werden nicht in der Konfiguration gespeichert, sondern nur Set-Befehle werden gespeichert.
Wenn Sie drei OCSP-Responder an dasselbe Ausstellerzertifikat mit den Prioritäten 1, 2 und 3 binden und später die Bindung von Priorität 2 aufheben, sind die anderen Prioritäten nicht betroffen. Drei OCSP-Responder sind automatisch an ein Emittentenzertifikat mit den Prioritäten 128, 129 und 130 gebunden. Wenn Sie das Serverzertifikat entfernen, das zum Erstellen eines Responders mit Priorität 129 verwendet wurde, wird dieser Responder gelöscht. Außerdem wird die Priorität für den nächsten Responder (Priorität 130) automatisch auf 129 geändert.

Beispiel für die Anforderungsbehandlung:

  1. Fügen Sie einen virtuellen Server (VIP1) hinzu.
  2. Fügen Sie das Ausstellerzertifikat (CA1) hinzu und binden Sie es an VIP1.
  3. Fügen Sie drei Zertifikate S1, S2 und S3 hinzu. Interne Responder bzw. Interne Responder bzw. Resp1, Resp2 und Resp3 werden standardmäßig erstellt.
  4. Binden Sie S3 an VIP1.
  5. Eine Anfrage kommt an VIP1. Responder bzw. 3 ist ausgewählt.

Um einen internen OCSP-Responder dynamisch zu erstellen, benötigt die Appliance Folgendes:

  • Zertifikat des Ausstellers des Serverzertifikats (normalerweise das CA-Zertifikat).
  • Zertifikatschlüsselpaar des Serverzertifikats. Dieses Zertifikat muss die von der Zertifizierungsstelle bereitgestellte OCSP-URL enthalten. Die URL wird als Name des dynamisch hinzugefügten internen Responders verwendet.

Ein interner OCSP-Responder hat dieselben Standardwerte wie ein manuell konfigurierter Responder.

Hinweis:

Caching ist bei einem internen Responder standardmäßig deaktiviert. Verwenden Sie den Befehl set ssl ocspresponder, um das Caching zu aktivieren.

Konfigurieren von OCSP mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um OCSP zu konfigurieren und die Konfiguration zu überprüfen:

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

Parameter:

httpMethod:

HTTP-Methode verwendet, um OCSP-Anforderungen zu senden. Bei Anforderungen mit einer Länge von weniger als 255 Byte können Sie die HTTP-GET-Methode für Abfragen an einen OCSP-Server konfigurieren. Wenn Sie die GET-Methode angeben, die Länge jedoch größer als 255 Byte ist, verwendet die Appliance die Standardmethode (POST).

Mögliche Werte: GET, POST

Standardwert: POST

ocspUrlResolveTimeout:

Wartezeit in Millisekunden auf eine OCSP-URL-Auflösung. Nach Ablauf dieser Zeit wird der Responder mit der nächsthöheren Priorität ausgewählt. Wenn alle Responder fehlschlagen, wird je nach den Einstellungen auf dem virtuellen Server eine Fehlermeldung angezeigt oder die Verbindung wird gelöscht.

Mindestwert: 100

Maximalwert: 2000

Beispiel:

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

Ändern von OCSP mit der CLI

Sie können den Namen eines OCSP-Responders nicht ändern, aber Sie können den Befehl set ssl ocspResponder verwenden, um einen der anderen Parameter zu ändern.

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die Parameter festzulegen und die Konfiguration zu überprüfen:

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

Konfigurieren von OCSP mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > OCSP-Responder, und konfigurieren Sie einen OCSP-Responder.
  2. Navigieren Sie zu Traffic Management > SSL > Zertifikate, wählen Sie ein Zertifikat aus, und wählen Sie in der Liste Aktion die Option OCSP-Bindings aus. Binden Sie einen OCSP-Responder.
  3. Navigieren Sie zu Datenverkehrsverwaltung > Lastenausgleich > Virtuelle Server, öffnen Sie einen virtuellen Server, und klicken Sie im Abschnitt Zertifikate, um ein Zertifizierungsstellenzertifikat zu binden.
  4. Wählen Sie optional OCSP Obligatorischaus.

Hinweis:

Der insert client certificate Parameter in den Befehlen add ssl ocspresponder und set ssl ocspresponder ist nicht mehr gültig. Das heißt, der Parameter wird während der Konfiguration ignoriert.