Dieser Abschnitt enthält Informationen zu den Anweisungen für Zertifikatswiderruflisten (CRL, Certificate Revocation List)
und solchen Anweisungen, die in globalen Servern und virtuellen Hosts unterstützt werden.
Der Zertifikatswiderruf gibt Ihnen die Möglichkeit, ein vom Browser an IBM® HTTP Server übergebenes Clientzertifikat
zu widerrufen, wenn der Schlüssel nicht mehr sicher ist oder wenn die Zugriffsberechtigung für den Schlüssel widerrufen
wird.
Eine CRL ist eine Datenbank, die eine Liste mit Zertifikaten enthält, die vor dem geplanten Verfallsdatum widerrufen
wurden.
Wenn Sie den Zertifikatswiderruf in IBM HTTP Server aktivieren möchten,
müssen Sie die CRL auf einem LDAP-Server (Lightweight Directory Access Protocol) veröffentlichen.
Sobald die CRL auf einem LDAP-Server veröffentlicht ist, können Sie mit der Konfigurationsdatei
von IBM HTTP Server auf die CRL zugreifen. Die CRL bestimmt den Status der Zugriffsberechtigung für das angeforderte
Clientzertifikat.
Es ist jedoch nicht immer möglich, den Widerrufstatus eines Clientzertifikats zu bestimmen, wenn der Back-End-Server, die
Quelle der Widerrufdaten, nicht verfügbar ist oder nicht ordnungsgemäß mit
IBM HTTP Server kommuniziert.
Anweisungen für das Konfigurieren einer Zertifikatswiderrufliste. Mit der Anweisung "SSLClientAuth" können zwei Optionen gleichzeitig angegeben werden:
- SSLClientAuth 2 crl
- SSLClientAuth 1 crl
Die Option CRL aktiviert und inaktiviert die CRL in einem virtuellen SSL-Host. Wenn Sie
CRL als Option angeben, wird die CRL aktiviert. Wenn Sie CRL nicht als Option angeben, bleibt die CRL inaktiviert.
Wenn die erste Option für "SSLClientAuth" nicht definiert wird oder 0 ist, können Sie die zweite Option, "CRL", nicht verwenden. Sollten Sie
ohne Clientauthentifizierung arbeiten, findet keine CRL-Verarbeitung statt.
In globalen Servern oder virtuellen Hosts unterstützte Anweisungen Globale Server und
virtuelle Hosts unterstützen die folgenden Anweisungen:
- SSLCRLHostname: Die IP-Adresse und der Host des LDAP-Servers, auf dem die CRL-Datenbank veröffentlicht ist. Gegenwärtig müssen Sie
alle statischen CRL-Repositorys so konfigurieren, dass sie die Überprüfung anderer URI-Formate in den
Feldern vom Typ CRLDistributionPoint zulassen.
Abfragen, die sich auf Zertifikatswiderrufslisten beziehen, können nur an einen
explizit konfigurierten LDAP-Server gerichtet werden, und der SSL-Handshake schlägt fehl, wenn der Back-End-Server nicht erreichbar ist.
- SSLCRLPort: Der Port des LDAP-Servers, auf dem die CRL-Datenbank veröffentlicht ist. Der Standardport ist 389.
- SSLCRLUserID: Die Benutzer-ID, die an den LDAP-Server gesendet wird, auf dem die CRL-Datenbank veröffentlicht ist.
Wenn Sie keine Bindung angeben, wird standardmäßig anonymous verwendet.
- SSLStashfile: Der vollständig qualifizierte Pfad der Datei, die das Kennwort für den Benutzer des LDAP-Servers
enthält.
Diese Anweisung ist für anonyme Bindungen nicht erforderlich.
Definieren Sie die Anweisung, wenn Sie eine Benutzer-ID angeben.
Verwenden Sie den Befehl sslstash im Verzeichnis
bin von IBM HTTP Server, um die Stashdatei mit dem CRL-Kennwort zu erstellen.
Das Kennwort, das Sie mit dem Befehl sslstash angeben, muss dasselbe sein, dass Sie für die Anmeldung am LDAP-Server verwenden.
Syntax:
sslstash [-c] <Verzeichnis_für_Kennwortdatei_und_Dateiname> <Funktionsname> <Kennwort>
Für diese Angaben gilt Folgendes:
- -c: Erstellt eine neue Stashdatei. Falls Sie diese Option nicht angeben, wird eine vorhandene Datei aktualisiert.
- Datei: Steht für den vollständig qualifizierten Namen der zu erstellenden bzw. zu aktualisierenden Datei.
- Funktion: Gibt die Funktion an, für die das Kennwort verwendet werden soll.
Die gültigen Werte sind crl und crypto.
- Kennwort: Steht für das verdeckt zu speichernde Kennwort.
SSLUnknownRevocationStatus: Diese Anweisung erlaubt Ihnen,
in einer Konfiguration festzulegen, wie IBM HTTP Server antworten soll, wenn frische CRL-Informationen
oder OCSP-Informationen (Online Certificate Status Protocol) nicht verfügbar sind und daher nicht bekannt ist,
dass das gegenwärtig angebotene Clientzertifikat in einer vorher ausgeführten Abfrage widerrufen wurde. Standardmäßig
wird davon ausgegegangen, dass Zertifikate nicht widerrufen werden, d. h., sie werden als gültig vorausgesetzt, und wenn
vorübergehend keine CRL- oder OCSP-Informationen verfügbar sind, hat dies nicht automatisch einen SSL-Handshake-Fehler zur Folge.
Diese Anweisung wird bereitgestellt, um eine Reaktion zu ermöglichen in einer Situation, in der ein Zertifikat akzeptiert wurde,
ohne dass IBM HTTP Server den Widerrufsstatus zuverlässig bestätigen kann. Diese Anweisung ist nur wirksam, wenn alle folgenden Bedingungen zutreffen:
- IBM HTTP Server ist konfiguriert, Clientzertifikate mit der Anweisung "SSLClientAuth" zu akzeptieren.
- IBM HTTP Server ist mit einer der folgenden Anweisungen konfiguriert: SSLOCSPEnable, SSLOCSPUrl, SSLCRLHostname.
- Ein SSL-Clientzertifikat ist bereitgestellt.
- IBM HTTP Server empfängt keine gültige OCSP- oder CRL-Antwort vom konfigurierten Back-End-Server, und das Clientzertifikat erscheint als nicht widerrufen
in einer zwischengespeicherten, aber abgelaufenen CRL-Antwort.
IBM
HTTP Server verwendet eine zwischengespeicherte Zertifikatswiderrufliste, deren veröffentlichte Verfallszeit überschritte ist, nur, wenn
keine aktuelle Version verfügbar ist. Wurde ein Zertifikat in einer solchen abgelaufenen Zertifikatswiderrufsliste widerrufen, hat dies einen
SSL-Handshake-Fehler außerhalb des Geltungsbereichs der Anweisung SSLUnknownRevocationStatus zur Folge.
Weitere Informationen finden Sie im Artikel SSL-Anweisungen.
Nach der URIDistributionPoint-X509-Erweiterung im Clientzertifikat wird die CRL geprüft und der
aus der Aussteller-ID des Clientzertifikats erstellte DN ausprobiert.
Wenn das Zertifikat einen CDP (CRL Distribution Point, CRL-Verteilungspunkt) enthält, hat diese Information eine Vorrangstellung. Die Informationen werden in der folgenden Reihenfolge verwendet:
- CDP-LDAP-X.500-Name
- CDP-LDAP-URI
- Ausstellername, kombiniert mit dem Wert aus der Anweisung SSLCRLHostname
Fehler vermeiden: Wenn Ihre Zertifikate das LDAP- oder das HTTP-URI-Format der CertificateDistributionPoint- oder
AIA-Erweiterungen haben, müssen Sie sicherstellen, dass das IBM HTTP-Server-System in der Lage ist, abgehende Verbindungen dieses Typs herzustellen.
Möglicherweise müssen Sie dazu die Einstellungen Ihrer Firewall anpassen.
gotcha