Der Standard "Special Publications 800-131" des National Institute of Standards and Technology (NIST) stärkt Algorithmen
und erhöht den Wert die Schlüssellänge, um die Sicherheit zu verbessern. Der Standard ermöglicht auch eine Übergangszeit für die Migration
auf den neuen Standard. Sie können WebSphere Application Server
für den Übergangsmodus des Standards SP800-131 konfigurieren.
Vorbereitende Schritte
Lesen Sie den Artikel zu den Konfigurationen der Sicherheitsstandards von WebSphere Application
Server, um weitere Hintergrundinformationen zu Sicherheitsstandards zu erhalten.
Informationen zu diesem Vorgang
In der Übergangszeit kann ein Benutzer eine heterogene Umgebung ausführen, in der Einstellungen verwendet werden,
die vom Standard unterstützt oder nicht unterstützt werden. Der NIST-Standard SP800-131 erfordert, dass Benutzer in einem bestimmten Zeitrahmen
für eine strikte Durchsetzung des Standards konfiguriert werden. Weitere Details finden Sie auf der Website
The National Institute of Standards and Technology.
Die
Übergangsoptionen können äußerst hilfreich sein, wenn Sie versuchen, auf den Modus strict von SP800-131 umzustellen. Die Server
können eine Kombination aus alten Einstellungen und neuen Anforderungen akzeptieren. Zertifikate können beispielsweise umgewandelt werden, obwohl das Protokoll "TLS" weiterverwendet wird.
WebSphere
Application Server kann so konfiguriert werden, dass SP800-131 im Modus transition oder im Modus strict ausgeführt wird. Weitere Informationen zur Konfiguration des strikten Modus finden Sie
im Artikel "WebSphere Application Server für strikten Modus des Standards SP800-131 konfigurieren".
Damit der Übergangsmodus von SP800-131 ausgeführt werden kann,
müssen auch für den Server bestimmte Konfigurationseinstellungen festgelegt werden. Weitere strikte Anforderungen können bei Bedarf hinzugefügt werden.
- Die Systemeigenschaft "com.ibm.jsse2.sp800-131" muss auf transition gesetzt werden, damit JSSE im Übergangsmodus ausgeführt wird.
- Die SSL-Konfigurationsprotokolle müssen einer der TLS-Einstellungen entsprechen. Folgende Werte sind gültig: TLS, TLSv1, TLSv1.1 und TLSv1.2.
Vorgehensweise
- Klicken Sie auf .
- Wählen Sie das Optionsfeld SP800-131 aktivieren aus.
- Wählen Sie das Optionsfeld Übergang aus.
- Sie können die Protokolle in der SSL-Konfiguration optional in "TLSv1.2" ändern, indem Sie das Kästchen Update the SSL configuration to require TLSv1.2 auswählen. Wenn Sie dieses Kästchen nicht auswählen,
werden alle SSL-Konfigurationen auf "TLS" gesetzt.
- Klicken Sie auf Anwenden/Speichern.
- Starten Sie die Server erneut. Wenn Ihr Server mit der dynamischen SSL-Aktualisierung aktiviert wird,
editieren Sie die Datei ssl.client.props und geben Sie in der Eigenschaft com.ibm.ssl.protocol
dasselbe Protokoll an, das Sie für den Server vor dem Neustart des Servers konfiguriert haben.
Nachdem diese Änderungen angewendet wurden und der Server erneut gestartet wurde, werden alle SSL-Konfigurationen auf dem Server geändert, damit das Protokoll "TLS" oder "TLSv1.2" verwendet
und die Systemeigenschaft "com.ibm.jsse2.sp800-131" auf transition gesetzt wird. Die
SSL-Konfiguration verwendet die für den Standard geeigneten SSL-Verschlüsselungen.
Bevor Sie zum Zertifikat für den strikten Modus wechseln können, muss das Protokoll in der Konfiguration die strikten Anforderungen erfüllen.
Sie können die SSL-Konfiguration direkt aufrufen und die Protokolle wie folgt auf "TLSv1.2" setzen:
- Klicken Sie auf
.
- Wählen Sie in der Anzeige eine SSL-Konfiguration aus.
- Wählen Sie Datenschutzniveau unter "Zugehörige Elemente" aus.
- Wählen Sie TLSv1.2 im Pulldown-Menü "Protokoll" aus.
- Klicken Sie auf Anwenden/Speichern. Sie können auch die Task "modifySSLConfig" verwenden, um das SSL-Protokoll mithilfe von Scripting zu ändern.
Zertifikate müssen
mindestens 2048 Byte groß sein (bei Zertifikaten für elliptische Kurven 244 Byte) und mit SHA256, SHA384 oder SHA512 signiert werden. Sie
können neue Zertifikate in der Konsole erstellen und die alten ersetzen oder Zertifikate importieren, die die Anforderungen der Standards erfüllen.
Es gibt mehrere Optionen, die Sie beim Ersetzen der Zertifikate verwenden können.
- Verwenden Sie die Anzeige "Zertifikate konvertieren". In dieser Anzeige werden alle Zertifikate umgewandelt, damit sie den angegebenen Standard erfüllen.
- Klicken Sie auf .
Anmerkung: Wenn im Feld
Nicht konvertierbare Zertifikate Zertifikate angezeigt werden, kann das Zertifikat nicht über diese Option umgewandelt werden.
- Wählen Sie das Optionsfeld Strikt aus, und wählen Sie im Pulldown-Menü aus, welcher signatureAlgorithm-Wert
beim Erstellen der neuen Zertifikate verwendet werden soll.
- Wählen Sie die Größe des Zertifikats im Pulldown-Menü Neue Zertifikatsschlüsselgröße aus. Beachten Sie, dass für Signaturalgorithmen für elliptische Kurven eine bestimmte Größe erforderlich ist. Sie müssen daher keine Größe angeben.
- Klicken Sie auf Anwenden/Speichern.
Sie können auch die Scripting-Task
convertCertForSecurityStandard verwenden, um alle Zertifikate so umzuwandeln, dass sie einen bestimmten Standard erfüllen.
- Verwenden Sie die Anzeigen für persönliche Zertifikate wie folgt, um neue Zertifikate zu erstellen und Zertifikate zu ersetzen, die die Anforderungen nicht erfüllen:
- Klicken Sie auf .
- Wählen Sie in der Anzeige einen Keystore aus.
- Wählen Sie Persönliches Zertifikat aus.
- Wählen Sie in der Pulldown-Liste für die Schaltfläche "Erstellen" die Option Selbst signiertes Zertifikat aus.
- Geben Sie einen Aliasnamen für das Zertifikat ein. Wählen Sie einen Signaturalgorithmus für das Zertifikat aus, das mit SHA256, SHA384 oder SHA512 signiert ist. Wählen Sie eine Größe von mindestens 2048 Byte aus. Beachten
Sie, dass für Signaturalgorithmen für elliptische Kurven eine bestimmte Größe erforderlich ist. Sie müssen daher keine Größe angeben.
- Klicken Sie auf Anwenden/Speichern.
- Kehren Sie zur Anzeige mit der Sammlung persönlicher Zertfikate zurück, und wählen Sie das Zertifikat aus, das dem Standard nicht entspricht. Klicken Sie auf Ersetzen.
- Wählen Sie in der Anzeige "Ersetzen" das erstellte Zertifikat, das dem Standard entspricht, in der Pulldown-Liste im Feld Ersetzen durch aus.
- Wählen Sie die Kästchen Altes Zertifikat nach dem Ersetzen löschen und Alte Unterzeichner löschen aus.
- Klicken Sie auf Anwenden/Speichern.
Anmerkung: Wenn Sie verkettete Zertifikate ersetzen möchten, muss ein Stammzertifikat erstellt werden, das dem Standard entspricht. Folgen Sie dem vorherigen Navigationspfad
zum Stammzertifikat in "defaultRootStore". Erstellen Sie anschließend ein verkettetes Zertifikat mit diesem neuen Stammzertifikat.
Sie können
auch die Scripting-Task createSelfSigneCertificate verwenden, um ein selbst signiertes Zertifikat zu erstellen. Sie können auch
die Scripting-Task replaceCertificate
verwenden, um das alte Zertifikat durch das neue zu ersetzen.
- Verwenden Sie die Anzeigen für persönliche Zertifikate, um Zertifikate zu importieren und Zertifikate zu ersetzen, die die Anforderungen nicht erfüllen. Einige Zertifikate stammen von externen Quellen
wie einer Zertifizierungsstelle (Certificate Authority, CA).
- Klicken Sie auf .
- Wählen Sie in der Anzeige einen Keystore aus.
- Wählen Sie Persönliches Zertifikat aus.
- Wählen Sie Zertifikat importieren aus.
- Geben Sie die erforderlichen Informationen ein, um auf das Zertifikat in einer vorhandenen Keystoredatei zuzugreifen.
- Klicken Sie auf Anwenden/Speichern.
- Kehren Sie zur Anzeige mit der Sammlung persönlicher Zertfikate zurück, und wählen Sie das Zertifikat aus, das dem Standard nicht entspricht. Klicken Sie auf die Schaltfläche
Ersetzen.
- Wählen Sie in der Anzeige "Ersetzen" das erstellte Zertifikat, das dem Standard entspricht, in der Pulldown-Liste im Feld Ersetzen durch aus. Wählen Sie die Kästchen
Altes Zertifikat nach dem Ersetzen löschen und Alte Unterzeichner löschen aus.
- Klicken Sie auf Anwenden/Speichern.
Sie können auch die Scripting-Task importCertificate verwenden,
um ein Zertifikat zu importieren. Sie können auch
die Scripting-Task replaceCertificate
verwenden, um das alte Zertifikat durch das neue zu ersetzen.
- Klicken Sie zum Aktivieren von SP800-131 in einem strikten Modus auf .
- Klicken Sie auf SP800-131 aktivieren.
- Klicken Sie auf Strikt.
- Klicken Sie auf Anwenden/Speichern.
- Starten Sie Ihre Server erneut, und synchronisieren Sie die Knoten manuell, damit die Änderungen angewendet werden. Wenn
Sie die Knoten manuell synchronisieren möchten, müssen Sie die Datei ssl.client.props für jeden Knoten ändern,
damit eine Übereinstimmung mit dem Protokoll des Deployment Manager vorliegt. Editieren Sie die Datei ssl.client.props
für jeden Knoten und ändern Sie die Eigenschaft com.ibm.ssl.protocol so, dass eine Übereinstimmung mit dem Deployment-Manager-Protokoll
hergestellt wird und eine manuelle Knotensynchronisierung durchgeführt werden kann.
- Konfigurieren Sie die Datei client ssl.client.props so, dass sie mit dem von Ihnen verwendeten Sicherheitsstandard "Strikter Modus"
oder "Übergangsmodus" übereinstimmt.
Bearbeiten Sie die Datei
ssl.client.props wie folgt:
- Ändern Sie den Wert der Eigenschaft com.ibm.security.useFIPS
in true.
- Fügen Sie com.ibm.websphere.security.FIPSLevel direkt nach der Eigenschaft "useFips" hinzu. Setzen Sie die Eigenschaft auf
SP800-131, wenn der strikte Modus aktiviert ist, und auf transition, wenn der Übergangsmodus aktiviert ist.
- Ändern Sie die Eigenschaft com.ibm.ssl.protocol in "TLSv1.2", wenn der strikte Modus aktiviert ist. Wenn der Übergangsmodus
aktiviert ist, vergewissern Sie sich, dass die Eigenschaft mit der Einstellung des Serverprotokolls übereinstimmt.
- Starten Sie Ihre Server erneut und synchronisieren Sie Ihre Knoten manuell.
Ihre Änderungen werden erst nach der Synchronisation der Knoten wirksam.
Gehen Sie bei Ausführung in einer Clusterumgebung wie folgt vor:
- Stellen Sie sicher, dass die Administrationskonsole beendet wurde.
- Stellen Sie sicher, dass auf dem Server keine JVMs ausgeführt werden:
- Stoppen Sie alle Server.
- Stoppen Sie den Node Agent.
- Stoppen Sie den Deployment Manager.
- Löschen Sie die Inhalte der temporären Ordner.
<Profilstammverzeichnis>/wstemp/
<Profilstammverzeichnis>/temp/
<Profilstammverzeichnis>/config/temp/
<Profilstammverzeichnis>/logs/dmgr/
<Profilstammverzeichnis>/servers/nodeagent/configuration/
<Profilstammverzeichnis>/servers/<Servername>/configuration/
- Initialisieren Sie die OSGI-Konfiguration, indem Sie "osgiCfgInit" ausführen.
WAS-Profilstammverzeichnis/profile/bin/osgiCfgInit.bat
Hierbei steht "profile" für Ihr dmgr01/bin-Profil.
- Löschen Sie den OSGI-Klassencache, indem Sie die Datei "clearClassCache.bat" ausführen.
WAS-Profilstammverzeichnis/Profilname/bin/clearClassCache.bat
Hierbei steht Profilname für Ihr dmgr01/bin-Profil.
- Starten Sie den Deployment Manager.
- Synchronisieren Sie die Knoten manuell.
- Starten Sie das Tool "wsadmin", falls es noch nicht ausgeführt wird.
- Setzen Sie im Verzeichnis WAS-Ausgangsverzeichnis/profiles/Profilname/bin den folgenden syncNode-Befehl ab.
syncNode
Deployment-Manager-Host Deployment-Manager-Port
Hierbei steht Profilname für Ihr dmgr01/bin-Profil.
Wenn die Sicherheit aktiviert ist, geben Sie beim Absetzen des Befehls die Parameter -username und -password mit an.
syncNode
Deployment-Manager-Host Deployment-Manager-Port -username Benutzername -password Kennwort
- Starten Sie den Node Agent.
- Starten Sie alle anderen Server.
Nächste Schritte
Der Browser, der für den Zugriff auf die Administrationskonsole oder eine Anwendung verwendet wird, muss ein Protokoll verwenden,
das mit dem Server kompatibel ist. Wenn der Server im Übergangsmodus ausgeführt wird, muss der Browser so konfiguriert sein, dass
er das Protokoll verwendet, das mit dem Server übereinstimmt. Für den Standard SP800-131 ist es erforderlich, dass die SSL-Verbindung
das Protokoll "TLSv1.2" verwendet. Der Browser muss daher TLSv1.2 unterstützen und für den Zugriff auf die Administrationskonsole verwenden.