SSL-Anweisungen (Secure Sockets Layer) sind die Konfigurationsparameter, die die SSL-Features in IBM HTTP Server steuern.
Die meisten SSL-Anweisungen in IBM HTTP Server weisen dasselbe Verhalten auf. Eine für eine bestimmte virtuelle Hostkonfiguration angegebene Anweisung überschreibt eine in der Basisserverkonfiguration angegebene Anweisung. Außerdem überschreibt eine für ein untergeordnetes Verzeichnis angegebene Anweisung eine Anweisung, die für das zugehörige übergeordnete Verzeichnis angegeben wurde. Es gibt jedoch Ausnahmen.
Außerdem kann eine für ein untergeordnetes Verzeichnis angegebene Anweisung an die Anweisung, die für das zugehörige übergeordnete Verzeichnis angegeben wurde, angefügt werden. In diesem Fall überschreibt die Anweisung für das übergeordnete Verzeichnis die Anweisung für das untergeordnete Verzeichnis nicht, sondern wird an diese angehängt, und es werden beide Anweisungen auf das untergeordnete Verzeichnis angewendet.
Name | Beschreibung |
---|---|
Syntax |
|
Geltungsbereich | Virtueller Host |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host |
Werte | Ein vollständig qualifizierter URL, der auf einen OCSP-Responder verweist, z. B. http://hostname:2560/. |
Selbst wenn die CRL-Prüfung konfiguriert ist, wird die OCSP-Prüfung vor der CRL-Prüfung durchgeführt. Die CRL-Prüfung findet nur statt, wenn das Ergebnis der CRL-Prüfung unbekannt oder nicht schlüssig ist.
Wenn SSLOCSPResponderURL gesetzt ist, verwendet IBM® HTTP Server den angegebenen URL, um den Status des Zertifikatswiderrufs zu prüfen, wenn ein SSL-Clientzertifikat bereitgestellt wird.
Name | Beschreibung |
---|---|
Syntax |
|
Geltungsbereich | Virtueller Host |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host |
Werte | Ohne |
Wenn SSLOCSPEnable gesetzt ist und eine SSL-Clientzertifizierungskette eine AIA-Erweiterung enthält, wendet sich IBM HTTP Server an den in der AIA-Erweiterung angegebenen OCSP-Responder, um den Widerrufstatus des Clientzertifikats zu prüfen.
Wenn die OCAP- und die CRL-Prüfung konfiguriert sind, wird die OCSP-Prüfung vor der CRL-Prüfung durchgeführt. Die CRL-Prüfung findet nur statt, wenn das Ergebnis der OCSP-Prüfung unbekannt oder nicht schlüssig ist.
Wenn SSLOCSPEnable und SSLOCSPResponderURL konfiguriert sind, wird zuerst der mit SSLOCSPResponderURL definierte Responder geprüft. Falls der Widerrufstatus unbekannt oder nicht schlüssig ist, überprüft IBM HTTP Server die OCSP-Responder für SSLOCSPEnable.
Name | Beschreibung |
---|---|
Syntax | ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Dateiname der Schlüsseldatei.
|
Name | Beschreibung |
---|---|
Syntax | SSLAcceleratorDisable |
Geltungsbereich | Virtuell und global |
Standardeinstellung | Beschleunigereinheit ist aktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host |
Werte | Ohne. Sie können die Anweisung an jeder Stelle in der Konfigurationsdatei einfügen, auch in der Zeilengruppe eines virtuellen Hosts. Wenn das System während der Initialisierung feststellt, dass eine Beschleunigereinheit auf der Maschine installiert ist, verwendet das System diesen Beschleuniger, um die Anzahl sicherer Transaktionen zu erhöhen. Für diese Anweisung sind keine Argumente verfügbar. |
Name | Beschreibung |
---|---|
Syntax | SSLAllowNonCriticalBasicConstraints on|off |
Geltungsbereich | Globaler Server oder virtueller Server |
Standardeinstellung | Off |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Ohne. Diese Anweisung ändert das Verhalten des Algorithmus für Zertifikatvalidierung
so, dass eine nicht kritische Erweiterung der Basisvorgaben in einem CA-Ausstellerzertifikat keinen
Validierungsfehler verursacht.
Dies unterstützt die Kompatibilität mit einem Aspekt
der von der japanischen Regierung ausgegebenen Spezifikation "GPKI", der mit RFC3280 in Konflikt steht.
Achtung: RFC3280 legt fest, dass diese Erweiterung als kritische Erweiterung
in allen CA-Zertifikaten erscheinen muss, die öffentliche Schlüssel für die Validierung
digitaler Signaturen in Zertifikaten enthalten.
|
Name | Beschreibung |
---|---|
Syntax | SSLCacheDisable |
Geltungsbereich | Eine Anweisung pro physischer Serverinstanz; nur zulässig außerhalb der Zeilengruppen für virtuelle Hosts |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Nicht zulässig |
Werte | Ohne. |
Name | Beschreibung |
---|---|
Syntax | SSLCacheEnable |
Geltungsbereich | Eine Anweisung pro physischer Serverinstanz; nur zulässig außerhalb der Zeilengruppen für virtuelle Hosts |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Nicht zulässig |
Werte | Ohne |
Name | Beschreibung |
---|---|
Syntax | SSLCacheErrorLog /usr/HTTPServer/logs/sidd_logg |
Geltungsbereich | Serverkonfiguration außerhalb des virtuellen Hosts. |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Nicht zulässig |
Werte | Ein gültiger Dateiname. |
Die Anweisung SSLCachePath gibt den Pfad des Dämons für das Caching von Sitzungs-IDs an. Sofern nicht mehrere IHS-Instanzen mit mehreren Parametern des Typs ServerRoot oder -d eine Installation gemeinsam nutzen, muss diese Anweisung nicht angegeben werden.
Wenn, wie zuvor beschrieben, mehrere IHS-Instanzen mit einem alternativen Serverstammverzeichnis verwendet werden, muss diese Anweisung verwendet werden, um für diese IHS-Instanz den Pfad zur Binärdatei bin/sidd im Stammverzeichnis der Einzelinstallation anzugeben, und nicht die getrennten (einzelnen) Serverstammverzeichnisse, die standardmäßig verwendet werden.
Wenn mehrere Instanzen verwendet werden, gibt es keinen triftigen Grund, die Binärdatei bin/sidd zu kopieren oder mit dieser Anweisung eine andere Datei als die Datei bin/sidd, die unter dem Serverstammverzeichnis installiert ist, anzugeben. Es ist nicht erforderlich, für die verschiedenen IHS-Instanzen, die dieselben Binärdateien verwenden, unterschiedliche Werte für diese Anweisung zu verwenden.
Name | Beschreibung |
---|---|
Syntax | SSLCachePath /usr/HTTPServer/bin/sidd |
Geltungsbereich | Serverkonfiguration außerhalb des virtuellen Hosts. |
Standardeinstellung | <Serverstammverzeichnis>/bin/sidd |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Nicht zulässig |
Werte | Ein gültiger Pfadname. |
Name | Beschreibung |
---|---|
Syntax | SSLCachePath /usr/HTTPServer/logs/sidd |
Geltungsbereich | Serverkonfiguration außerhalb des virtuellen Hosts. |
Standardeinstellung | Wenn diese Anweisung nicht definiert, aber der Cache aktiviert ist, versucht der Server, die Datei <Serverstammverzeichnis>/logs/siddport zu verwenden. |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Nicht zulässig |
Werte | Ein gültiger Pfadname. Der Web-Server löscht diese Datei beim Starten. |
Name | Beschreibung |
---|---|
Syntax | SSLCacheTraceLog /usr/HTTPServer/logs/sidd-trace.log |
Geltungsbereich | Serverkonfiguration außerhalb des virtuellen Hosts. |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Nicht zulässig |
Werte | Ein gültiger Pfadname. |
Name | Beschreibung |
---|---|
Syntax | SSLCipherBan <Verschlüsselungsspezifikation> |
Geltungsbereich | Mehrere Instanzen pro Verzeichniszeilengruppen |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Zulässig pro Verzeichniszeilengruppe. Die Prioritätsreihenfolge ist absteigend. |
Werte | Die Werte können Sie dem Artikel zur SSL-Verschlüsselungsspezifikation entnehmen. |
Name | Beschreibung |
---|---|
Syntax | SSLCipherRequire <Verschlüsselungsspezifikation> |
Geltungsbereich | Mehrere Instanzen pro Verzeichniszeilengruppen |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Zulässig pro Verzeichniszeilengruppe. |
Werte | Die Werte können Sie dem Artikel zur SSL-Verschlüsselungsspezifikation entnehmen. |
Die Anweisung "SSLCipherSpec" ermöglicht Ihnen, die SSL-Verschlüsselungen anzupassen, die während des Handshakes unterstützt werden. Sie können die Gruppe der SSL-Verschlüsselungen und die Rangfolge der SSL-Verschlüsselungen festlegen.
Auf verteilten Plattformen hat jedes Protokoll eine eigene geordnete Liste mit
Verschlüsselungen.
Die unterstützten Protokolle sind SSL
Version 2, SSL Version 3, TLS Version 1.0, TLS Version 1.1 und TLS
Version 1.2.
Unter z/OS gibt es nur zwei Listen mit aktivierten Verschlüsselungen, eine für
SSL Version 2 und eine für die anderen Protokolle.
Die unterstützten Protokolle sind SSL Version 2, SSL
Version 3 und TLS Version 1.0.
Für SSL Version 2 werden standardmäßig keine Verschlüsselungen verwendet, d. h., das Protokoll ist inaktiviert. Die anderen Protokolle verwenden standardmäßig eine Gruppe von SSL-Verschlüsselungen, von der Verschlüsselungen mit Nullwert, Exportverschlüsselungen und schwache Verschlüsselungen ausgeschlossen sind.
Wenn Sie die Form von SSLCipherSpec mit nur einem einzigen Argument verwenden, wird die angegebene Verschlüsselung in allen Protokollen aktiviert, für die diese gültig ist. Wenn eine solche Änderung zum ersten Mal für ein Protokoll vorgenommen wird, werden die Standardverschlüsselungen für das Protokoll verworfen.
Wenn Sie die Form von SSLCipherSpec mit mehreren Argumenten verwenden und den Namen eines SSL-Protokolls (oder "ALL") als erstes Argument angeben, können Sie eine erweiterte Syntax verwenden und die folgenden Vorteile nutzen:
Wenn Sie "ALL" als Protokollnamen angeben, wird das definierte Hinzufügen bzw. Entfernen für jeden Verschlüsselungsnamen auf jedes Protokoll angewendet, in dem diese Verschlüsselung gültig ist.
Mit SSLCipherSpec ALL NONE können Sie alle Verschlüsselungslisten mit einem einzigen Befehl leeren. Die Verwendung dieses Befehls ist eine empfehlenswerte Methode, mit der eine Konfiguration jederzeit gestartet werden kann, wenn die Standardverschlüsselungen nicht verwendet werden sollen.
Name | Beschreibung |
---|---|
![]() |
![]() |
![]() |
![]() |
Geltungsbereich | Virtueller Host |
Standardeinstellung | Wenn Sie keinen Wert angeben, verwendet der Server alle verfügbaren Verschlüsselungsspezifikationen, die nicht null, keine Exportverschlüsselungen und keine schwachen Verschlüsselungen sind. |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Zulässig. Die Prioritätsreihenfolge ist absteigend. |
![]() |
![]() |
![]() |
![]() |
Werte für Verschlüsselungsnamen | Die Werte können Sie dem Artikel zur SSL-Verschlüsselungsspezifikation entnehmen. |
Beispiel 1 |
Wenn Sie nur einige wenige Verschlüsselungen auswählen möchten, empfiehlt es sich, beim Start
alle Verschlüsselungslisten zurückzusetzen und dann die Verschlüsselungen hinzuzufügen, die Sie verwenden möchten:
|
Beispiel 2 | Wenn Sie die meisten Standardverschlüsselungen bis auf eine oder zwei verwenden möchten,
können Sie die nicht gewünschten Verschlüsselungen aus allen Listen entfernen, in denen diese Verschlüsselungen momentan enthalten sind:
|
Name | Beschreibung |
---|---|
Syntax | SSLClientAuth <erforderliche Stufe> [crl] |
Geltungsbereich | Virtueller Host |
Standardeinstellung | SSLClientAuth none |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host |
Werte |
Die Angabe von 0/None schließt die Angabe der Option crl aus. |
Required_reset | Der Server fordert von allen Clients ein gültiges Zertifikat an. Ist kein Zertifikat vorhanden, sendet der Server ein SSL-Alert an den Client. Durch diesen Alert wird dem Client mitgeteilt, dass der SSL-Fehler auf das Clientzertifikat zurückzuführen ist, und bewirkt, dass bei nachfolgendem Zugriff des Browsers die Clientzertifikatsinformationen erneut angefordert werden. Diese Option setzt die Verwendung von GSKit Version 7.0.4.19 oder höher oder z/OS V1R8 oder höher voraus. |
Die Anweisung "SSLClientAuthGroup" definiert eine benannte Ausdrucksgruppe mit spezifischen Attribut/Wert-Paaren für Clientzertifikate. Diese benannte Gruppe kann von den SSLClientAuthRequire-Anweisungen verwendet werden. Der Client muss ein Zertifikat, das diesen Ausdruck übergibt, bereitstellen, bevor der Server den Zugriff auf die geschützte Ressource zulässt.
Name | Beschreibung |
---|---|
Syntax | SSLClientAuthGroup Gruppenname Attributausdruck |
Geltungsbereich | Serverkonfiguration, virtueller Host. |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Zulässig. |
Überschreiben | Ohne |
Werte | Logischer Ausdruck, der aus Attributprüfungen besteht, die mit AND,
OR, NOT und runden Klammern verknüpft sind. Beispiel:
|
Der folgende Abschnitt beschreibt Beispiele mit gültigen logischen Ausdrücken. Beispiel: SSLClientAuthGroup ((CommonName = "Fred Smith") OR (CommonName = "John Deere")) AND (Org = IBM) bedeutet, dass das Objekt nicht bereitgestellt wird, es sein denn, das Clientzertifikat enthält den allgemeinen Namen Fred Smith oder John Deere und die Organisation IBM. Die einzigen gültigen Vergleichsoperatoren für Attributprüfungen sind gleich und ungleich (= und !=). Sie können die Attributprüfungen mit AND, OR oder NOT (auch &&, || und !) miteinander verknüpfen. Alle Vergleiche, die Sie mit AND, OR oder NOT verknüpfen, müssen in runde Klammern eingeschlossen werden. Wenn der Wert des Attributs ein nicht alphanumerisches Zeichen enthält, müssen Sie den Wert mit Anführungszeichen begrenzen.
Vollständiger Name | Kurzname |
---|---|
CommonName | CN |
Country | C |
E | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Locality | L |
Org | O |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
Sie können mit dieser Anweisung den vollständigen oder den Kurznamen angeben.
SSLClientAuthGroup IBMpeople Org = IBM)
oderSSLClientAuthGroup NotMNIBM (ST != MN) && (Org = IBM)
Ein Gruppenname darf keine Leerzeichen enthalten. Weitere Informationen finden Sie im Artikel Anweisung "SSLClientAuthRequire".
Die Anweisung "SSLClientAuthRequire" gibt Attributwerte oder Gruppen von Attributwerten an, die auf der Basis eines Clientzertifikats validiert werden müssen, bevor der Server den Zugriff auf die geschützte Ressource zulässt.
Name | Beschreibung |
---|---|
Syntax | SSLClientAuthRequire Attributausdruck |
Geltungsbereich | Serverkonfiguration, virtueller Host |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Zulässig. Die Funktion verknüpft diese Anweisungen mit "AND". |
Überschreiben | AuthConfig |
Werte | Logischer Ausdruck, der aus Attributprüfungen besteht, die mit AND,
OR, NOT und runden Klammern verknüpft sind. Beispiel:
|
Wenn das Zertifikat, das Sie erhalten haben, kein bestimmtes Attribut hat, wird nicht geprüft, ob eine Attributübereinstimmung vorliegt. Selbst wenn der angegebene Abgleichwert " " ist, ist dies nicht unbedingt dasselbe, als wäre kein Attribut angegeben. Jedes mit der Anweisung "SSLClientAuthRequire" angegebene Attribut, das nicht im Zertifikat enthalten ist, führt dazu, dass die Anforderung zurückgewiesen wird.
Vollständiger Name | Kurzname |
---|---|
CommonName | CN |
Country | C |
E | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Locality | L |
Org | O |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
Sie können mit dieser Anweisung den vollständigen oder den Kurznamen angeben.
Der Benutzer gibt einen logischen Ausdruck bestimmter Attribute für das Clientzertifikat an. Sie können mehrere logische Ausdrücke mit AND, OR und NOT verwenden, wenn Sie Gruppierungen von Attributwerten für Clientzertifikate angeben müssen. Alle Vergleiche, die Sie mit AND, OR oder NOT verknüpfen, müssen in runde Klammern eingeschlossen werden. Zu den gültigen Operatoren gehören '=' und '!='. Sie können auch einen Gruppennamen angeben, der mit Anweisung "SSLClientAuthGroup" konfiguriert wurde, um eine Gruppe von Attributen zu konfigurieren.
SSLClientAuthRequire
((CommonName="John Doe") || (StateOrProvince=MN)) && (Org
!=IBM)
oderSSLClientAuthRequire
(group!=IBMpeople) && (ST=MN)
SSLClientAuthRequire (group != IBMpeople) && ("ST= MN")
Weitere Informationen hierzu finden Sie im Artikel Anweisung "SSLClientAuthGroup". Die Anweisung "SSLClientAuthVerify" steuert, ob IBM HTTP Server Anforderungen nicht bearbeitet, wenn ein Clientzertifikat empfangen, aber nicht validiert werden kann (z. B., weil das Kennwort abgelaufen ist oder widerrufen wird).
Name | Beschreibung |
---|---|
Syntax | SSLClientAuthVerify statuscode|OFF |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | 500 |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro Verzeichniszeilengruppe. |
Werte | HTTP-Antwortstatuscode oder OFF |
Verwenden Sie diese Anweisung mit SSLClientAuth Optional Noverify, um eine benutzerfreundliche Webseite aufzurufen, anstatt die Standardfehlernachricht des Browsers anzuzeigen.
Wenn Sie einen virtuellen Host mit SSLClientAuth Optional Noverify konfigurieren, kann eine SSL-Verbindung hergestellt werden, wenn ein Clientzertifikat empfangen wird, das aber nicht validiert werden kann (z. B., weil das Zertifikat abgelaufen ist oder widerrufen wird).
Verwenden Sie diese Anweisung in einem Kontext wie Location oder Directory, um Anforderungen, die in dieser Verbindung mit einem bestimmten Fehlercode empfangen werden, als fehlgeschlagen zu kennzeichnen oder durch Angabe von OFF festzulegen, dass sie normal behandelt werden.
Wenn Sie ein angepasstes Fehlerdokument für diesen Status bereitstellen, kann der Administrator die Seite, die dem Benutzer angezeigt wird, steuern, z. B., um dem Benutzer mitzuteilen, dass sein Zertifikat ungültig ist, und ihm weitere Anweisungen anzuzeigen.
Wenn das Fehlerdokument eine interne Umleitung an einen anderen URL in demselben virtuellen Host ist, müssen Sie auch sicherstellen, dass der URL SSLClientAuthVerify OFF in seinem Kontext hat, so dass er nicht sofort als fehlgeschlagen eingestuft wird. Im Folgenden finden Sie ein Beispiel für dieses Szenario.
Der angegebene Statuscode muss ein Antwortcode sein, der in HTTP gültig ist und von IBM HTTP Server erkannt wird. Die gültigen Werte sind 100 bis 599 und sind gewöhnlich in einem RFC oder einem Standardentwurf definiert. Wenn Sie sich nicht sicher sind, verwenden Sie einen Statuscode in einer Testumgebung, und prüfen Sie dann mit apachectl -t, ob er gültig ist. Andere Codes, die nicht verwendet werden und sich eignen würden, sind 418, 419, 420 und 421.
Da das Clientzertifikat ungültig ist, enthält das Fehlerdokument keine der verfügbaren Umgebungsvariablen, die Informationen zu diesem Clientzertifikat enthalten. Die Ursache für den Fehler bei der Gültigkeitsprüfung des Clientzertifikats ist in der Umgebungsvariablen SSL_LAST_VALIDATION_ERROR enthalten. Infrage kommende Variablen sind GSKVAL_ERROR_REVOKED_CERT und GSKVAL_ERROR_CERT_EXPIRED. Wenn das Zertifikat mehrere Gültigkeitsfehler aufweist, ist die gemeldete Ursache häufig GSKVAL_ERROR_CA_MISSING_CRITICAL_BASIC_CONSTRAINT.
Jedesmal, wenn die Gültigkeitsprüfung eines Clientzertifikats fehlschlägt, werden zwei Nachrichten im Fehlerprotokoll auf der Protokollstufe loglevel Error protokolliert. Die zweite Nachricht enthält die Ursache, z. B.:
[Tue Jun 08 08:54:25 2010] [error] [client 9.37.243.128] [9e44c28] [731] SSL0208E: SSL Handshake Failed, Certificate validation error. [9.37.243.128:60347 -> 9.37.243.67:443] [08:54:25.000223331]
[Tue Jun 08 08:54:25 2010] [error] [client 9.37.243.128] [9e44c28] [731] Certificate validation error
during handshake, last PKIX/RFC3280 certificate validation error was
GSKVAL_ERROR_CA_MISSING_CRITICAL_BASIC_CONSTRAINT
[9.37.243.128:60347 -> 9.37.243.67:443] [08:54:25.000223331]
<VirtualHost *:443
SSLClientAuth Optional Noverify
<Location />
SSLClientAuthVerify 419
</Location>
ErrorDocument 419 /error419.html
<Location /error419.html>
SSLClientAuthVerify OFF
</Location>
</VirtualHost>
Die Anweisung "SSLCRLHostname" gibt den TCP/IP-Namen oder die TCP/IP-Adresse des LDAP-Servers an, auf dem die CRL-Datenbank (Certificate Revocation List, Zertifikatswiderrufsliste) gespeichert ist.
Name | Beschreibung |
---|---|
Syntax | <SSLCRLHostName <TCP/IP-Name oder Adresse> |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | TCP/IP-Name oder -Adresse des LDAP-Servers |
Verwenden Sie die Anweisung "SSLCRLHostname" zusammen mit den Anweisungen "SSLCRLPort", "SSLCRLUserID" und "SSLStashfile" für die statische Konfiguration eines LDAP-basierten CRL-Repositorys. Diese Anweisungen müssen für die Abfrage des LDAP-basierten CRL-Repositorys nur verwendet werden, wenn eine explizite "CRLDistributionPoint X.509v3"-Zertifikatserweiterung fehlt oder wenn der in der Erweiterung angegebene Server nicht reagiert (nicht verfügbar ist).
Wenn eine "CRLDistributionPoint"-Erweiterung im Zertifikat enthalten ist und der in der Erweiterung angegebene Server reagiert (verfügbar ist), wird der mit "CRLDistributionPoint" angegebene LDAP-Server anonym, ohne Verwendung dieser Anweisungen, abgefragt.
Die Anweisung "SSLCRLPort" gibt den Port des LDAP-Servers an, in dem die CRL-Datenbank gespeichert ist.
Name | Beschreibung |
---|---|
Syntax | SSLCRL<Port> |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Port des LDAP-Servers, Standardeinstellung = 389 |
Verwenden Sie die Anweisung "SSLCRLPort" zusammen mit den Anweisungen "SSLCRLUserID", "SSLCRLHostname" und "SSLStashfile" für die statische Konfiguration eines LDAP-basierten CRL-Repositorys. Diese Anweisungen müssen für die Abfrage des LDAP-basierten CRL-Repositorys nur verwendet werden, wenn eine explizite "CRLDistributionPoint X.509v3"-Zertifikatserweiterung fehlt oder wenn der in der Erweiterung angegebene Server nicht reagiert (nicht verfügbar ist).
Wenn eine "CRLDistributionPoint"-Erweiterung im Zertifikat enthalten ist und der in der Erweiterung angegebene Server reagiert (verfügbar ist), wird der mit "CRLDistributionPoint" angegebene LDAP-Server anonym, ohne Verwendung dieser Anweisungen, abgefragt.
Die Anweisung "SSLCRLUserID" gibt die Benutzer-ID an, die an den LDAP-Server mit der CRL-Datenbank gesendet wird.
Name | Beschreibung |
---|---|
Syntax | SSLCRLUserID <[Eingabeaufforderung] <Benutzer-ID> |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | Wenn Sie keine Benutzer-ID angeben, wird standardmäßig "anonymous" verwendet. |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Benutzer-ID des LDAP-Servers. Wenn Sie die Option prompt verwenden, fordert der HTTP-Server Sie beim Start auf, das Kennwort für den Zugriff auf den LDAP-Server einzugeben. |
Verwenden Sie die Anweisung "SSLCRLUserID" zusammen mit den Anweisungen "SSLCRLPort", "SSLCRLHostname" und "SSLStashfile" für die statische Konfiguration eines LDAP-basierten CRL-Repositorys. Diese Anweisungen müssen für die Abfrage des LDAP-basierten CRL-Repositorys nur verwendet werden, wenn eine explizite "CRLDistributionPoint X.509v3"-Zertifikatserweiterung fehlt oder wenn der in der Erweiterung angegebene Server nicht reagiert (nicht verfügbar ist).
Wenn eine "CRLDistributionPoint"-Erweiterung im Zertifikat enthalten ist und der in der Erweiterung angegebene Server reagiert (verfügbar ist), wird der mit "CRLDistributionPoint" angegebene LDAP-Server anonym, ohne Verwendung dieser Anweisungen, abgefragt.
Name | Beschreibung |
---|---|
Syntax | SSLDisable |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Ohne |
Name | Beschreibung |
---|---|
Syntax | SSLEnable |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Ohne |
Die Anweisung "SSLFakeBasicAuth" aktiviert die Unterstützung für manipulierte Basisauthentifizierung.
Name | Beschreibung |
---|---|
Syntax | SSLFakeBasicAuth |
Geltungsbereich | Wird in einer Verzeichniszeilengruppe zusammen mit den Anweisungen AuthName, AuthType und require verwendet. |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro Verzeichniszeilengruppe. |
Werte | Ohne |
Name | Beschreibung |
---|---|
Syntax | SSLFIPSDisable |
Geltungsbereich | Virtuell und global |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Ohne |
Die Anweisung "SSLFIPSEnable" aktiviert Federal Information Processing Standards (FIPS).
Diese Anweisung ist gültig für verteilte Plattformen.
Name | Beschreibung |
---|---|
Syntax | SSLFIPSEnable |
Geltungsbereich | Virtuell und global |
Standardeinstellung | Inaktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Ohne |
Die Anweisung "SSLInsecureRenegotiation" bestimmt, ob eine nicht sichere (gemäß RFC5746) SSL-Neuvereinbarung zugelassen wird. Jede Art der SSL-Neuvereinbarung ist nicht üblich, und der Standardwert dieser Anweisung (off) sollte nicht geändert werden.
Wenn on angegeben ist, wird eine nicht sichere SSL-Neuvereinbarung zugelassen. Wenn off angegeben ist (Standardeinstellung), wird eine nicht sichere SSL-Neuvereinbarung nicht zugelassen.
Name | Beschreibung |
---|---|
Syntax | SSLInsecureRenogotiation on|off |
Geltungsbereich | Virtuelle Hosts |
Standardeinstellung | Off |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | on|off |
Die Anweisung "SSLPKCSDriver" gibt den vollständig qualifizierten Namen des Moduls oder Treibers für den Zugriff auf die PKCS11-Einheit an.
Name | Beschreibung |
---|---|
Syntax | Vollständig qualifizierter Name des Moduls, das für den Zugriff auf die PKCS11-Einheit verwendet wird>. Falls das Modul im Benutzerpfad enthalten ist, geben Sie einfach den Namen des Moduls an. |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Pfad und Name des PKCS11-Moduls oder -Treibers. |
Mit der Anweisung "SSLProtocolDisable" können Sie SSL-Protokolle angeben, die der Client für einen bestimmten virtuellen Host nicht verwenden darf. Diese Anweisung muss im Container <Virtueller_Host> enthalten sein.
Name | Beschreibung |
---|---|
Syntax | SSLProtocolDisable <Protokollname> |
Geltungsbereich | Virtueller Host |
Standardeinstellung | Inaktiviert Achtung: Das
Protokoll SSL Version 2 wird standardmäßig zusammen mit anderen Methoden inaktiviert.
|
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Es sind mehrere Instanzen pro virtuellem Host zulässig. |
Werte | Die folgenden Werte sind für diese Anweisung verfügbar:
|
Der Wert TLS inaktiviert alle TLS-Versionen.
Der Wert TLSv1 inaktiviert TLS Version 1.0.
Der Wert TLSv1.1 inaktiviert
TLS Version 1.1.
Der Wert TLSv1.2 inaktiviert
TLS Version 1.2.
<VirtualHost *:443> SSLEnable SSLProtocolDisable SSLv2
SSLv3 (alle weitere Anweisungen) </VirtualHost>
Die Anweisung "SSLProtocolEnable" kann für die Aktivierung einzelner SSL-Protokolle verwendet werden.
Auf verteilten Plattformen ist der Nutzen dieser Anweisung begrenzt,
da alle nützlichen Protokolle standardmäßig automatisch aktiviert werden.
Unter z/OS kann diese Anweisung verwendet werden, wenn der z/OS-Service Unterstützung für TLSv1.1 und TLSv1.2 bereitstellt. Die
Protokolle TLSv1.1 und TLSv1.2 sind in einem IBM HTTP Server unter z/OS nicht standardmäßig aktiviert.
Syntax | SSLSuiteBMode |
Geltungsbereich | Virtueller Host |
Standardeinstellung | Nicht zugewiesen |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Es sind mehrere Instanzen pro virtuellem Host zulässig. |
Name | Beschreibung |
---|---|
Syntax | SSLProxyEngine on|off |
Geltungsbereich | IP-basierte virtuelle Hosts |
Standardeinstellung | Off |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | on|off |
Name | Beschreibung |
---|---|
Syntax | SSLRenegotiation on|off|LEGACY_AND_RFC5746 |
Standardeinstellung | Off |
Modul | mod_ibm_ssl |
Kontext | Virtueller Host |
Status | Erweiterung |
Werte | on|off|LEGACY_AND_RFC5746 |
Name | Beschreibung |
---|---|
Syntax | SSLServerCert [Eingabeaufforderung] Kennsatz_des_Zertifikats; für PKCS11-Einheit - SSLServerCert Tokenkennsatz:Schlüsselkennsatz |
Geltungsbereich | IP-basierte virtuelle Hosts |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Zertifikatkennsatz. Wenn Sie die Option /prompt zum Aktivieren des HTTP-Servers verwenden, fordert der HTTP-Server Sie beim Start zur Eingabe des Kennworts für das Verschlüsselungstoken auf. Schließen Sie den Zertifikatkennsatz nicht in Trennzeichen ein. Der Kennsatz muss in einer Zeile angegeben werden. Führende und abschließende Leerzeichen werden ignoriert. |
Die Anweisung "SSLStashfile" gibt den Pfad und den Dateinamen der Datei an, die das verschlüsselte Kennwort zum Öffnen der PKCS11-Einheit enthält.
Name | Beschreibung |
---|---|
Syntax | SSLStashFile /usr/HTTPServer/mystashfile.sth |
Geltungsbereich | Virtueller Host und globaler Server |
Standardeinstellung | Ohne |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | Dateiname einer verdeckten LDAP- und/oder PKCS11-Datei, die mit dem Befehl sslstash erstellt wurde. |
Die SSLStashFile zeigt nicht auf eine Stashdatei für die verwendete Schlüsseldatei, da diese automatisch basierend auf dem Namen der Schlüsseldatei ermittelt wird und einen anderen Typ hat als die Stashdatei.
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 bzw an der Verschlüsselungshardware verwenden.
Syntax: sslstash [-c] <Verzeichnis_mit_Kennwortdatei_und_Dateiname> <Funktionsname> <Kennwort
Verwenden Sie die Anweisung "SSLStashFile" zusammen mit den Anweisungen "SSLCRLPort", "SSLCRLHostname" und "SSLCRLUserID" für die statische Konfiguration eines LDAP-basierten CRL-Repositorys. Diese Anweisungen müssen für die Abfrage des LDAP-basierten CRL-Repositorys nur verwendet werden, wenn eine explizite "CRLDistributionPoint X.509v3"-Zertifikatserweiterung fehlt oder wenn der in der Erweiterung angegebene Server nicht reagiert (nicht verfügbar ist).
Wenn eine "CRLDistributionPoint"-Erweiterung im Zertifikat enthalten ist und der in der Erweiterung angegebene Server reagiert (verfügbar ist), wird der mit "CRLDistributionPoint" angegebene LDAP-Server anonym, ohne Verwendung dieser Anweisungen, abgefragt.
Die Anweisung "SSSLSuiteBMode" kann verwendet werden, um den übergeordneten virtuellen Host so zu konfigurieren, dass die Suite B für TLS verwendet wird.
Das Profil der Suite B verringert die Anzahl der vom Server verwendeten Signaturalgorithmen und Verschlüsselungsspezifikationen erheblich. Die zulässigen Algorithmen und Verschlüsselungen basieren auf bestimmten Standards und ändern sich mit diesen im Laufe der Zeit. Die Argumente "128" und "192" beziehen sich auf die zwei die Sicherheitsstufen, die in RFC 6460 erläutert werden.
Wenn Sie diese Anweisung angeben, werden die meisten zuvor definierten SSL-Anweisungen außer Kraft gesetzt. Die SSLAttributeSet-Einstellung wird von dieser Einstellung nicht außer Kraft gesetzt, da sie eine höhere Priorität hat. Alle Profile der Suite B setzen voraus, dass die Zertifikatskette für den Server starke ECC-Signaturen verwendet. RFC 6460 hält die Einschränkungen des Profils der Suite B fest.
Syntax | SSLSuiteBMode |
Geltungsbereich | Virtueller Host |
Standardeinstellung | Nicht zugewiesen |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host |
Die Anweisung "SSLTrace" aktiviert die Debugprotokollierung in mod_ibm_ssl. Sie wird zusammen mit der Anweisung LogLevel verwendet. Zum Aktivieren der Debug-Protokollierung in "mod_ibm_ssl" setzen Sie die Anweisung "LogLevel" auf "debug", und fügen Sie die Anweisung "SSLTrace" dem globalen Bereich in der Konfigurationsdatei von IBM HTTP Server hinter der Anweisung "LoadModule" für "mod_ibm_ssl" hinzu. Diese Anweisung wird normalerweise auf Anforderung des IBM Support zum Untersuchen eines potenziellen Problems in mod_ibm_ssl verwendet. Von der Aktivierung dieser Anweisung während des normalen Betriebs wird abgeraten.
Name | Beschreibung |
---|---|
Syntax | SSLTrace |
Geltungsbereich | Global |
Standardeinstellung | Debug-Protokollierung für mod_ibm_ssl ist nicht aktiviert |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Ignoriert |
Werte | Ohne |
Die Anweisung "SSLUnknownRevocationStatus" gibt an, wie IBM HTTP Server reagiert, wenn IBM HTTP Server den Widerrufstatus nicht problemlos bestimmen kann, der über CRL oder OCSP empfangen wird.
Name | Beschreibung |
---|---|
Syntax | SSLUnknownRevocationStatus ignore | log | log_always | deny |
Geltungsbereich | Virtueller Host |
Standardeinstellung | ignore |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host |
Werte |
|
%{SSL_UNKNOWNREVOCATION_SUBJECT}e
Sie können die Variable auch in mod_rewrite-Ausdrücken verwenden, wenn die Anweisung
"SSLUnknownRevocationStatus" einen anderen Wert hat als "deny". Verwenden Sie den folgenden
Variablennamen:
%{ENV:SSL_UNKNOWNREVOCATION_SUBJECT}
Mit der Anweisung SSLV2Timeout können Sie das Zeitlimit für Session-IDs der SSL Version 2 festlegen.
Name | Beschreibung |
---|---|
Syntax | SSLV2Timeout 60 |
Geltungsbereich | Globaler Server oder virtueller Host |
Standardeinstellung | 40 |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | 0 bis 100 Sekunden |
Mit der Anweisung SSLV3Timeout können Sie das Zeitlimit für Sitzungs-IDs von SSL Version 3 und TLS festlegen.
Name | Beschreibung |
---|---|
Syntax | SSLV3Timeout 1000 |
Geltungsbereich | Globaler Server oder virtueller Host
|
Standardeinstellung | 120 |
Modul | mod_ibm_ssl |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro virtuellem Host und globalem Server |
Werte | 0 bis 86400 Sekunden |
Die Anweisung "SSLVersion" bewirkt, dass ein Objektzugriff mit dem Antwortcode 403 zurückgewiesen wird, wenn der Client die Verbindung mit einer anderen Version des SSL-Protokolls herstellt als der angegebenen.
In den meisten Fällen ist die Anweisung "SSLProtocolDisable" die bessere Wahl als die Anweisung "SSLVersion", um die Verwendung einer bestimmten SSL-Protokollversion sicherzustellen. Die Anweisung "SSLProtocolDisable" ermöglicht dem Client-Browser, eine andere Protokollversion zu vereinbaren, sofern dies möglich ist, wohingegen die Anweisung "SSLVersion" bewirkt, dass IBM HTTP Server eine Antwort 403 sendet, was den Benutzer verwirren kann.
Name | Beschreibung | |
---|---|---|
Syntax | SSLVersion ALL | |
Geltungsbereich | Zulässig pro Verzeichniszeilengruppe. | |
Standardeinstellung | Ohne | |
Modul | mod_ibm_ssl | |
Mehrere Instanzen in der Konfigurationsdatei | Eine Instanz pro <Directory>- oder <Location>-Zeilengruppe. | |
Werte | ![]() |
![]() |