Widerrufslisten für Zertifikate
Ein von einer CA ausgestelltes Zertifikat bleibt in der Regel bis zu seinem Ablaufdatum gültig. Unter bestimmten Umständen kann die CA das ausgestellte Zertifikat jedoch vor dem Ablaufdatum sperren. Wenn beispielsweise der private Schlüssel eines Eigentümers kompromittiert wird, der Name eines Unternehmens oder einer Einzelperson geändert wird oder sich die Zuordnung zwischen dem Subjekt und der CA ändert.
Eine Zertifikatssperrliste (CRL) identifiziert ungültige Zertifikate anhand der Seriennummer und des Ausstellers.
Zertifizierungsstellen stellen regelmäßig CRLs aus. Sie können die NetScaler-Appliance so konfigurieren, dass sie eine CRL verwendet, um Clientanfragen zu blockieren, die ungültige Zertifikate enthalten.
Wenn Sie bereits eine CRL-Datei von einer CA haben, fügen Sie diese zur NetScaler-Appliance hinzu. Sie können Aktualisierungsoptionen konfigurieren. Sie können den NetScaler auch so konfigurieren, dass die CRL-Datei automatisch in einem bestimmten Intervall synchronisiert wird, entweder von einem Web- oder einem LDAP-Speicherort aus. Die Appliance unterstützt CRLs entweder im PEM- oder im DER-Dateiformat. Stellen Sie sicher, dass Sie das Dateiformat der CRL-Datei angeben, die der NetScaler-Appliance hinzugefügt wird.
Wenn Sie den ADC als CA verwendet haben, um Zertifikate zu erstellen, die in SSL-Bereitstellungen verwendet werden, können Sie auch eine CRL erstellen, um ein bestimmtes Zertifikat zu sperren. Diese Funktion kann beispielsweise verwendet werden, um sicherzustellen, dass selbstsignierte Zertifikate, die auf dem NetScaler erstellt wurden, weder in einer Produktionsumgebung noch nach einem bestimmten Datum verwendet werden.
Hinweis:
Standardmäßig werden CRLs im Verzeichnis /var/netscaler/ssl auf der NetScaler-Appliance gespeichert.
Erstellen Sie eine CRL auf der ADC-Appliance
Da Sie die ADC-Appliance verwenden können, um als CA zu fungieren und selbstsignierte Zertifikate zu erstellen, können Sie auch die folgenden Zertifikate sperren:
- Zertifikate, die Sie erstellt haben.
- Zertifikate, deren CA-Zertifikat Sie besitzen.
Die Appliance muss ungültige Zertifikate sperren, bevor sie eine CRL für diese Zertifikate erstellt. Die Appliance speichert die Seriennummern der gesperrten Zertifikate in einer Indexdatei und aktualisiert die Datei jedes Mal, wenn sie ein Zertifikat sperrt. Die Indexdatei wird automatisch erstellt, wenn ein Zertifikat zum ersten Mal gesperrt wird.
Widerrufen Sie ein Zertifikat oder erstellen Sie eine CRL mithilfe der CLI
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:
create ssl crl <CAcertFile> <CAkeyFile> <indexFile> (-revoke <input_filename> | -genCRL <output_filename>)
<!--NeedCopy-->
Beispiel:
create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -revoke Invalid-1
create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -genCRL CRL-1
<!--NeedCopy-->
Widerrufen Sie ein Zertifikat oder erstellen Sie eine CRL mithilfe der GUI
- Navigieren Sie zu Traffic Management > SSL und wählen Sie in der Gruppe Getting Started die Option CRL Management aus.
- Geben Sie die Zertifikatsdetails ein und wählen Sie in der Liste „Vorgang auswählen“ die Option Zertifikat sperrenoder CRL generierenaus.
Fügen Sie dem ADC eine vorhandene CRL hinzu
Bevor Sie die CRL auf der NetScaler-Appliance konfigurieren, stellen Sie sicher, dass die CRL-Datei lokal auf der NetScaler-Appliance gespeichert ist. In einem HA-Setup muss die CRL-Datei auf beiden ADC-Appliances vorhanden sein, und der Verzeichnispfad zur Datei muss auf beiden Appliances derselbe sein.
Fügen Sie mithilfe der CLI eine CRL auf dem NetScaler hinzu
Geben Sie an der Befehlszeile die folgenden Befehle ein, um eine CRL auf dem NetScaler hinzuzufügen und die Konfiguration zu überprüfen:
add ssl crl <crlName> <crlPath> [-inform (DER | PEM)]
show ssl crl [<crlName>]
<!--NeedCopy-->
Beispiel:
> add ssl crl crl-one /var/netscaler/ssl/CRL-one -inform PEM
Done
> show ssl crl crl-one
Name: crl-one Status: Valid, Days to expiration: 29
CRL Path: /var/netscaler/ssl/CRL-one
Format: PEM CAcert: samplecertkey
Refresh: DISABLED
Version: 1
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US,ST=California,L=Santa Clara,O=NetScaler Inc.,OU=SSL Acceleration,CN=www.ns.com/emailAddress=support@NetScaler appliance.com
Last_update:Jun 15 10:53:53 2010 GMT
Next_update:Jul 15 10:53:53 2010 GMT
1) Serial Number: 00
Revocation Date:Jun 15 10:51:16 2010 GMT
Done
<!--NeedCopy-->
Fügen Sie mithilfe der GUI eine CRL auf dem NetScaler hinzu
Navigieren Sie zu Traffic Management > SSL > CRLund fügen Sie eine CRL hinzu.
CRL-Aktualisierungsparameter konfigurieren
Eine CRL wird von einer Zertifizierungsstelle in regelmäßigen Abständen oder manchmal unmittelbar nach dem Widerruf eines bestimmten Zertifikats generiert und veröffentlicht. Citrix empfiehlt, dass Sie die CRLs auf der NetScaler-Appliance regelmäßig aktualisieren, um sich vor Clients zu schützen, die versuchen, eine Verbindung mit ungültigen Zertifikaten herzustellen.
Die NetScaler-Appliance kann CRLs von einem Webstandort oder einem LDAP-Verzeichnis aus aktualisieren. Wenn Sie Aktualisierungsparameter und einen Webspeicherort oder einen LDAP-Server angeben, muss die CRL zum Zeitpunkt der Ausführung des Befehls nicht auf dem lokalen Festplattenlaufwerk vorhanden sein. Bei der ersten Aktualisierung wird eine Kopie auf dem lokalen Festplattenlaufwerk in dem durch den Parameter CRL File angegebenen Pfad gespeichert. Der Standardpfad zum Speichern der CRL lautet /var/netscaler/ssl.
Hinweis: In Version 10.0 und höher ist die Methode zum Aktualisieren einer CRL standardmäßig nicht enthalten. Geben Sie eine HTTP- oder LDAP-Methode an. Wenn Sie ein Upgrade von einer früheren Version auf Version 10.0 oder höher durchführen, müssen Sie eine Methode hinzufügen und den Befehl erneut ausführen.
Konfigurieren Sie die automatische Aktualisierung von CRL mithilfe der CLI
Geben Sie an der Befehlszeile die folgenden Befehle ein, um die automatische Aktualisierung von CRL zu konfigurieren und die Konfiguration zu überprüfen:
set ssl crl <crlName> [-refresh ( ENABLED | DISABLED )] [-CAcert <string>] [-server <ip_addr|ipv6_addr|*> | -url <URL>] [-method ( HTTP | LDAP )] [-port <port>] [-baseDN <string>] [-scope ( Base | One )] [-interval <interval>] [-day <positive_integer>] [-time <HH:MM>][-bindDN <string>] {-password } [-binary ( YES | NO )]
show ssl crl [<crlName>]
<!--NeedCopy-->
Beispiel:
set CRL crl1 -refresh enabled -method ldap -inform DER -CAcert ca1 -server 10.102.192.192 -port 389 -scope base -baseDN "cn=clnt_rsa4_multicert_der,ou=eng,o=ns,c=in" -time 00:01
set ssl crl crl1 -refresh enabled -method http -cacert ca1 -port 80 -time 00:10 -url http://10.102.192.192/crl/ca1.crl
> sh crl
1) Name: crl1 Status: Valid, Days to expiration: 355
CRL Path: /var/netscaler/ssl/crl1
Format: PEM CAcert: ca1
Refresh: ENABLED Method: HTTP
URL: http://10.102.192.192/crl/ca1.crl Port:80
Refresh Time: 00:10
Last Update: Successful, Date:Tue Jul 6 14:38:13 2010
Done
<!--NeedCopy-->
Konfigurieren Sie die automatische Aktualisierung von CRL mithilfe von LDAP oder HTTP mithilfe der GUI
- Navigieren Sie zu Traffic Management > SSL > CRL.
- Öffnen Sie eine CRL und wählen Sie Automatische CRL-Aktualisierung aktivierenaus.
Hinweis:
Wenn die neue CRL im externen Repository vor ihrer tatsächlichen Aktualisierungszeit aktualisiert wurde, wie im Feld Letzte Aktualisierungszeit der CRL angegeben, müssen Sie wie folgt vorgehen: Aktualisieren Sie die CRL auf der NetScaler-Appliance
sofort.
Um die Uhrzeit der letzten Aktualisierung anzuzeigen, wählen Sie die CRL aus und klicken Sie auf Details.
CRLs synchronisieren
Die NetScaler-Appliance verwendet die zuletzt verteilte CRL, um zu verhindern, dass Clients mit gesperrten Zertifikaten auf sichere Ressourcen zugreifen.
Wenn CRLs häufig aktualisiert werden, benötigt die NetScaler-Appliance einen automatisierten Mechanismus, um die neuesten CRLs aus dem Repository abzurufen. Sie können die Appliance so konfigurieren, dass CRLs in einem bestimmten Aktualisierungsintervall automatisch aktualisiert werden.
Die Appliance verwaltet eine interne Liste von CRLs, die in regelmäßigen Abständen aktualisiert werden müssen. In diesen angegebenen Intervallen durchsucht die Appliance die Liste nach CRLs, die aktualisiert werden müssen. Anschließend stellt es eine Verbindung zum Remote-LDAP-Server oder HTTP-Server her, ruft die neuesten CRLs ab und aktualisiert dann die lokale CRL-Liste mit den neuen CRLs.
Hinweis:
Wenn die CRL-Prüfung auf obligatorisch gesetzt ist, wenn das CA-Zertifikat an den virtuellen Server gebunden ist und die erste CRL-Aktualisierung fehlschlägt, wird die folgende Aktion für Verbindungen ergriffen:
Alle Client-Authentifizierungsverbindungen mit demselben Aussteller wie die CRL werden als WIDERRUFEN zurückgewiesen, bis die CRL erfolgreich aktualisiert wurde.
Sie können das Intervall angeben, in dem die CRL-Aktualisierung durchgeführt werden muss. Sie können auch die genaue Uhrzeit angeben.
Synchronisieren Sie die automatische Aktualisierung von CRL mithilfe der CLI
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:
set ssl crl <crlName> [-interval <interval>] [-day <integer>] [-time <HH:MM>]
<!--NeedCopy-->
Beispiel:
set ssl crl CRL-1 -refresh ENABLE -interval MONTHLY -days 10 -time 12:00
<!--NeedCopy-->
Synchronisieren Sie die CRL-Aktualisierung mithilfe der GUI
- Navigieren Sie zu Traffic Management > SSL > CRL.
- Öffnen Sie eine CRL, wählen Sie CRL Auto Refresh aktivierenaus und geben Sie das Intervall an.
Führen Sie die Client-Authentifizierung mithilfe einer Zertifikatssperrliste durch
Wenn auf einer NetScaler-Appliance eine Zertifikatssperrliste (CRL) vorhanden ist, wird eine CRL-Prüfung durchgeführt, unabhängig davon, ob die Durchführung der CRL-Prüfung auf obligatorisch oder optional gesetzt ist.
Der Erfolg oder Misserfolg eines Handschlags hängt von einer Kombination der folgenden Faktoren ab:
- Regel für die CRL-Prüfung
- Regel für die Überprüfung von Client-Zertifikaten
- Status der für das CA-Zertifikat konfigurierten CRL
So konfigurieren Sie die CRL-Prüfung mithilfe der CLI
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:
bind ssl vserver <vServerName> -certkeyName <string> [(-CA -crlCheck ( Mandatory | Optional ))]
sh ssl vserver
<!--NeedCopy-->
Beispiel:
bind ssl vs v1 -certkeyName ca -CA -crlCheck mandatory
> sh ssl vs v1
Advanced SSL configuration for VServer v1:
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: ENABLED Client Cert Required: Mandatory
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED 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: ca CA Certificate CRLCheck: Mandatory CA_Name Sent
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Konfigurieren Sie die CRL-Prüfung mithilfe der GUI
- Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Serverund öffnen Sie einen virtuellen SSL-Server.
- Klicken Sie in den Bereich Zertifikate .
- Wählen Sie ein Zertifikat aus und wählen Sie in der OCSP- und CRL-Checkliste die OptionCRL**Mandatory aus.
Ergebnis eines Handshakes mit einem gesperrten oder gültigen Zertifikat
Regel für die CRL-Prüfung | Regel für die Überprüfung von Client-Zertifikaten | Status der für das CA-Zertifikat konfigurierten CRL | Ergebnis eines Handschlags mit einem gesperrten Zertifikat | Ergebnis eines Handshakes mit einem gültigen Zertifikat |
---|---|---|---|---|
Erforderlich | Erforderlich | Gegenwart | Misserfolg | Erfolg |
Erforderlich | Erforderlich | Abgelaufen | Misserfolg | Misserfolg |
Erforderlich | Erforderlich | Fehlt | Misserfolg | Misserfolg |
Erforderlich | Erforderlich | Undefiniert | Misserfolg | Misserfolg |
Optional | Erforderlich | Gegenwart | Misserfolg | Erfolg |
Optional | Erforderlich | Abgelaufen | Erfolg | Erfolg |
Optional | Erforderlich | Fehlt | Erfolg | Erfolg |
Optional | Erforderlich | Undefiniert | Erfolg | Erfolg |
Erforderlich | Optional | Gegenwart | Erfolg | Erfolg |
Erforderlich | Optional | Abgelaufen | Erfolg | Erfolg |
Erforderlich | Optional | Fehlt | Erfolg | Erfolg |
Erforderlich | Optional | Undefiniert | Erfolg | Erfolg |
Optional | Optional | Gegenwart | Erfolg | Erfolg |
Optional | Optional | Abgelaufen | Erfolg | Erfolg |
Optional | Optional | Fehlt | Erfolg | Erfolg |
Optional | Optional | Undefiniert | Erfolg | Erfolg |
Hinweis:
Die CRL-Prüfung ist standardmäßig optional. Um von optional zu obligatorisch oder umgekehrt zu wechseln, müssen Sie das Zertifikat zuerst vom virtuellen SSL-Server trennen und es dann erneut binden, nachdem Sie die Option geändert haben.
In der Ausgabe des
sh ssl vserver
Befehls bedeutet OCSP-Check: optional, dass eine CRL-Prüfung ebenfalls optional ist. Die CRL-Prüfeinstellungen werden in dersh ssl vserver
Befehlsausgabe nur angezeigt, wenn die CRL-Prüfung auf obligatorisch gesetzt ist. Wenn die CRL-Prüfung auf optional gesetzt ist, werden die CRL-Prüfdetails nicht angezeigt.
In diesem Artikel
- Erstellen Sie eine CRL auf der ADC-Appliance
- Fügen Sie dem ADC eine vorhandene CRL hinzu
- CRL-Aktualisierungsparameter konfigurieren
- CRLs synchronisieren
- Führen Sie die Client-Authentifizierung mithilfe einer Zertifikatssperrliste durch
- Ergebnis eines Handshakes mit einem gesperrten oder gültigen Zertifikat