SSL-Konfigurationen
SSL-Konfigurationen (Secure Sockets Layer) enthalten Attribute, mit denen Sie das Verhalten der Client- und Server-SSL-Endpunkten steuern können. Sie können SSL-Konfigurationen bestimmten Verwaltungsbereichen zuordnen. Der von einer SSL-Konfiguration übernommene Bereich richtet sich danach, ob Sie ihn in der Konfigurationstopologie mit einem Link für eine Zelle, einen Knoten, einen Server oder einen Endpunkt erstellen.
Wenn Sie eine SSL-Konfiguration erstellen, können Sie die folgenden SSL-Verbindungsattribute festlegen:
- Keystore
- Standardclientzertifikat für abgehende Verbindungen
- Standardserverzertifikat für eingehende Verbindungen
- Truststore
- Key Manager für die Auswahl eines Zertifikats
- Trust Manager zum Aufbau des Vertrauens beim Handshake
- Handshakeprotokoll
- Chiffrierwerte für das Aushandeln des Handshake
- Clientauthentifizierung (Unterstützung und Anforderungen)
- zentrale Verwaltung auswählen
- direkte Referenz auswählen
- dynamische Auswahl abgehender Verbindungen
- Programmgesteuerte Auswahl
. Sie können eine SSL-Konfiguration auf der Ebene, auf der Sie erstellt wurde, und im geerbten Geltungsbereich unterhalb dieses Punkts in der Topologie anzeigen. Wenn eine SSL-Konfiguration für eine ganze Zelle sichtbar sein soll, müssen Sie die Konfiguration in der Topologie auf Zellenebene erstellen.
SSL-Konfiguration in der Datei security.xml
<repertoire xmi:id="SSLConfig_1" alias="NodeDefaultSSLSettings"
managementScope="ManagementScope_1" type="JSSE">
<setting xmi:id="SecureSocketLayer_1" clientAuthentication="false"
clientAuthenticationSupported="false" securityLevel="HIGH" enabledCiphers=""
jsseProvider="IBMJSSE2" sslProtocol="SSL_TLSv2" keyStore="KeyStore_1"
trustStore="KeyStore_2" trustManager="TrustManager_1" keyManager="KeyManager_1"
clientKeyAlias="default" serverKeyAlias="default"/>
</repertoire>
Die SSL-Konfigurationsattribute aus dem vorherigen Codebeispiel sind in
Tabelle 1 beschrieben.Attribut in "security.xml" | Beschreibung | Standard | Zugeordnete SSL-Eigenschaft |
---|---|---|---|
xmi:id | Das Attribut "xml:id" gibt die eindeutige Kennung für diesen XML-Eintrag an und bestimmt, wie die SSL-Konfiguration mit anderen XML-Objekten, z. B. mit SSLConfigGroup, verknüpft wird. Dieser systemdefinierte Wert muss eindeutig sein. | Der Standardwert wird vom Administration Configuration Service definiert. | Ohne. Dieser Wert wird nur für XML-Assoziationen verwendet. |
alias | Das Attribut "alias" definiert den Namen der SSL-Konfiguration. Es wird bei der Direktauswahl verwendet. Dem Aliasnamen wird in diesem Fall nicht der Name des Knotens vorangestellt. Die Eindeutigkeit des Namens innerhalb des Geltungsbereichs wird durch den Verwaltungsbereich sichergestellt. | Der Standardwert ist CellDefaultSSLSettings. |
com.ibm.ssl.alias |
managementScope | Das Attribut "managementScope" definiert den Verwaltungsbereich für die SSL-Konfiguration und bestimmt die Sichtbarkeit der SSL-Konfiguration in der Laufzeit. | Der Standardbereich ist die Zelle. |
Das Attribut "managementScope" wird einer SSL-Eigenschaft zugeordnet. Es legt jedoch fest, ob die SSL-Konfiguration einem Prozess zugeordnet wird oder nicht. |
type | Das Attribut "type" definiert die Konfigurationsoption JSSE (Java™ Secure Socket Extension)
oder SSSL (System Secure Sockets Layer). JSSE ist der
SSL-Konfigurationstyp, der für die meisten sicheren Kommunikationsverbindungen innerhalb von
WebSphere Application Server verwendet wird.
|
Der Standardwert ist JSSE. | com.ibm.ssl.sslType |
clientAuthentication | Das Attribut "clientAuthentication" bestimmt, ob die SSL-Clientauthentifizierung erforderlich ist. | Die Standardeinstellung ist "false". | com.ibm.ssl.clientAuthentication |
clientAuthenticationSupported | Das Attribut "clientAuthenticationSupported" bestimmt, ob die SSL-Clientauthentifizierung unterstützt
wird. Wenn der Client kein Zertifikat hat, muss er auch keines vorlegen. Achtung:
Ist das Attribut "clientAuthentication" auf
true gesetzt, wird der für das Attribut "clientAuthenticationSupported"
gesetzte Wert außer Kraft gesetzt. |
Die Standardeinstellung ist "false". | com.ibm.ssl.client.AuthenticationSupported |
securityLevel | Das Attribut "securityLevel" bestimmt die Cipher-Suite-Gruppe. Gültige Werte sind unter anderem STRONG (128-Bit-Verschlüsselung), MITTEL (40-Bit-Verschlüsselung), WEAK (für alle Ciphers ohne Verschlüsselung) und CUSTOM (bei angepasster Cipher-Suite-Gruppe). Wenn Sie das Attribut "enabledCiphers" mit einer spezifischen Cipher-Liste definieren, wird es vom System ignoriert. | Der Standardwert ist STRONG. | com.ibm.ssl.securityLevel |
enabledCiphers | Mit dem Attribut enabledCiphers können Sie eine eindeutige Liste von Cipher Suites angeben. Die einzelnen Cipher Suites in der Liste müssen durch ein Leerzeichen voneinander getrennt sein. | Der Standardwert ist das Attribut "securityLevel" für die Auswahl der Cipher Suite. | com.ibm.ssl.enabledCipherSuites |
jsseProvider | Das Attribut "jsseProvider" definiert einen spezifischen JSSE-Provider. | Der Standardwert ist IBMJSSE2. | com.ibm.ssl.contextProvider |
sslProtocol | Das Attribut "sslProtocol" definiert das SSL-Handshakeprotokoll. Gültige Optionen:
Der Befehl "listSSLProtocols" liefert weitere Informationen darüber, welches Protokoll in bestimmten Konfigurationen, wie z. B. FIPS 140-2 oder SP800-131, gültig sind. |
Der Standardwert ist SSL_TLSv2. | com.ibm.ssl.protocol |
keyStore | Das Attribut "keyStore" definiert den Keystore und Attribute der Keystore-Instanz, die die SSL-Konfiguration für die Schlüsselauswahl verwendet. | Der Standardwert ist CellDefaultKeyStore. |
Nähere Informationen hierzu finden Sie im Artikel Keystore-Konfigurationen. |
trustStore | Das Attribut "trustStore" definiert den Keystore, den die SSL-Konfiguration für die Prüfung der Zertifikatsignatur verwendet. | Der Standardwert ist CellDefaultTrustStore. |
Truststore ist ein logischer JSSE-Begriff. Er bezeichnet einen Keystore mit Unterzeichnerzertifikaten. Unterzeichnerzertifikate validieren Zertifikate, die während eines SSL-Handshake an WebSphere Application Server gesendet werden. |
keyManager | Das Attribut "keyManager" definiert den Key Manager, mit dem WebSphere Application Server Schlüssel aus einem Keystore auswählt. Ein JSSE-Key-Manager steuert die Schnittstelle "javax.net.ssl.X509KeyManager". Ein angepasster Key-Manager steuert die Schnittstellen "javax.net.ssl.X509KeyManager" und "com.ibm.wsspi.ssl.KeyManagerExtendedInfo". Die Schnittstelle "com.ibm.wsspi.ssl.KeyManagerExtendedInfo" stellt weitere Informationen von WebSphere Application Server bereit. | Der Standardwert ist IbmX509. | com.ibm.ssl.keyManager definiert einen anerkannten Key Manager und akzeptiert die Formate 'Algorithmus' und 'Algorithmus|Provider', z. B. IbmX509 und IbmX509|IBMJSSE2. com.ibm.ssl.customKeyManager definiert einen eigenen Key-Manager und hat Vorrang vor den anderen keyManager-Eigenschaften. Diese Klasse muss javax.net.ssl.X509KeyManager implementieren und kann com.ibm.wsspi.ssl.KeyManagerExtendedInfo implementieren. Weitere Informationen enthält der Artikel csec_sslx509certIDkeyman.html. |
trustManager | Das Attribut "trustManager" bestimmt, mit welchem Trust Manager bzw. welcher Trust-Manager-Liste festgestellt wird, ob die Peerseite der Verbindung vertrauenswürdig ist. Ein JSSE-Trust-Manager implementiert die Schnittstelle "javax.net.ssl.X509TrustManager". Ein angepasster Trust-Manager kann auch die Schnittstelle "com.ibm.wsspi.ssl.TrustManagerExtendedInfo" implementieren, um weitere Informationen aus der WebSphere Application Server-Umgebung abzurufen. | Wenn das Zertifikat einen CRL-Verteilungspunkt enthält, können Sie den Trust-Manager "IbmPKIX" für die Überprüfung der CRL (Liste der entzogenen Zertifikate) angeben. Die andere Option ist "IbmX509". | com.ibm.ssl.trustManager definiert einen anerkannten Trust Manager. Dies ist für die meisten Handshakesituationen erforderlich. com.ibm.ssl.trustManager überprüft das Verfallsdatum von Zertifikaten und validiert die Signatur. Sie können com.ibm.ssl.customTrustManagers mit zusätzlichen eigenen Trust Managern definieren, die während eines SSL-Handshake aufgerufen werden. Trennen Sie die einzelnen Trust Manager durch das Zeichen (|) voneinander. Weitere Informationen enthält der Artikel csec_sslx509certtrustdecisions.html. |
Client-SSL-Konfigurationen werden über die Eigenschaftendatei ssl.client.props verwaltet. Die Datei ssl.client.props befindet sich im Verzeichnis ${USER_INSTALL_ROOT}/properties eines jeden Profils. Weitere Informationen zum Konfigurieren dieser Datei finden Sie im Artikel Clientkonfigurationsdatei ssl.client.props. Wenn Sie eine javax.net.ssl-Systemeigenschaft haben, überschreibt diese die entsprechende Eigenschaft in der Datei ssl.client.props.