Zertifikatsstatus mit OCSP überwachen
Online Certificate Status Protocol (OCSP) ist ein Internetprotokoll, das verwendet wird, um den Status eines Client-SSL-Zertifikats zu ermitteln. NetScaler-Appliances unterstützen OCSP gemäß der Definition in RFC 2560. OCSP bietet erhebliche Vorteile gegenüber Zertifikatsperrlisten (CRLs) in Bezug auf zeitnahe Informationen. Der aktuelle Widerrufsstatus eines Kundenzertifikats ist besonders nützlich bei Transaktionen mit hohen Geldsummen und hochwertigen Aktiengeschäften. Es verbraucht auch weniger System- und Netzwerkressourcen. Die NetScaler-Implementierung von OCSP umfasst das Batching von Anfragen und das Zwischenspeichern von Antworten.
OCSP-Implementierung
Die OCSP-Validierung auf einer NetScaler-Appliance beginnt, wenn die Appliance während eines SSL-Handshakes ein Client-Zertifikat erhält. Um das Zertifikat zu validieren, erstellt die Appliance eine OCSP-Anforderung und leitet sie an den OCSP-Responder weiter. Dazu verwendet die Appliance eine lokal konfigurierte URL. Die Transaktion befindet sich in einem unterbrochenen Zustand, bis die Appliance die Antwort des Servers auswertet und festlegt, ob die Transaktion zugelassen oder abgelehnt werden soll. Wenn die Antwort des Servers über die konfigurierte Zeit hinaus verzögert wird und keine anderen Responder konfiguriert sind, lässt die Appliance die Transaktion zu oder zeigt einen Fehler an, je nachdem, ob die OCSP-Prüfung auf optional bzw. obligatorisch gesetzt wurde.
Die Appliance unterstützt das Batching von OCSP-Anfragen und das Zwischenspeichern von OCSP-Antworten, um die Belastung des OCSP-Responders zu reduzieren und schnellere Antworten bereitzustellen.
OCSP-Anforderungs-Batching
Jedes Mal, wenn die Appliance ein Client-Zertifikat erhält, sendet sie eine Anfrage an den OCSP-Responder. Um eine Überlastung des OCSP-Responders zu vermeiden, kann die Appliance den Status von mehr als einem Client-Zertifikat in derselben Anfrage abfragen. Damit diese Funktion effizient funktioniert, muss ein Timeout definiert werden, damit die Verarbeitung eines einzelnen Zertifikats nicht übermäßig verzögert wird, während auf die Erstellung eines Batches gewartet wird.
OCSP-Antwort-Caching
Das Zwischenspeichern der vom OCSP-Responder empfangenen Antworten ermöglicht schnellere Antworten an die Clients und reduziert die Belastung des OCSP-Responders. Nach Erhalt des Sperrstatus eines Client-Zertifikats vom OCSP-Responder speichert die Appliance die Antwort lokal für einen vordefinierten Zeitraum. Wenn während eines SSL-Handshakes ein Client-Zertifikat empfangen wird, überprüft die Appliance zunächst ihren lokalen Cache auf einen Eintrag für dieses Zertifikat. Wenn ein Eintrag gefunden wird, der noch gültig ist (innerhalb des Cache-Timeout-Limits), wird er ausgewertet und das Client-Zertifikat wird akzeptiert oder abgelehnt. Wenn kein Zertifikat gefunden wird, sendet die Appliance eine Anfrage an den OCSP-Responder und speichert die Antwort für einen konfigurierten Zeitraum in ihrem lokalen Cache.
Hinweis: Das Cache-Timeout-Limit kann auf maximal 43200 Minuten (30 Tage) festgelegt werden. In Version 12.1 Build 49.x und früher lag das Limit bei 1440 Minuten (ein Tag). Das erhöhte Limit trägt dazu bei, die Suchvorgänge auf dem OCSP-Server zu reduzieren und SSL/TLS-Verbindungsfehler zu vermeiden, falls der OCSP-Server aufgrund von Netzwerk- oder anderen Problemen nicht erreichbar ist.
OCSP-Responderkonfiguration
Die Konfiguration von OCSP umfasst das Hinzufügen eines OCSP-Responders, das Binden des OCSP-Responders an ein Zertifikat der Zertifizierungsstelle (CA) und das Binden des Zertifikats an einen virtuellen SSL-Server. Wenn Sie ein anderes Zertifikat an einen OCSP-Responder binden müssen, der bereits konfiguriert wurde, müssen Sie zuerst die Bindung des Responders aufheben und dann den Responder an ein anderes Zertifikat binden.
Fügen Sie mithilfe der CLI einen OCSP-Responder hinzu
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um OCSP zu konfigurieren und die Konfiguration zu überprüfen:
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-->
Beispiel:
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-->
Ändern Sie einen OCSP-Responder mithilfe der CLI
Sie können den Namen des Responders nicht ändern. Alle anderen Parameter können mit dem set ssl ocspResponder
Befehl geändert werden.
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>] [-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-->
Konfigurieren Sie einen OCSP-Responder mithilfe der GUI
- Navigieren Sie zu Traffic Management > SSL > OCSP-Responder, und konfigurieren Sie einen OCSP-Responder.
- Navigieren Sie zu Traffic Management > SSL > Zertifikate, wählen Sie ein Zertifikat aus, und wählen Sie in der Liste Aktion die Option OCSP-Bindungenaus. Binden Sie einen OCSP-Responder.
- Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, öffnen Sie einen virtuellen Server, und klicken Sie im Abschnitt Zertifikate auf, um ein CA-Zertifikat zu binden.
- Wählen Sie optional OCSP Mandatoryaus.