Überwachung des Zertifikatsablaufs in SSL
SSL-Zertifikate sind wichtig für die Serverkommunikation. Mit SSL-Zertifikaten kann ein Server die Sicherheit ein- und abgehender Daten anderer Server aufrechterhalten. Wenn Sie SSL-Zertifikate verwenden, müssen Sie dafür Sorge tragen, dass diese Zertifikate stets auf dem neuesten Stand sind. Die Verwaltungstask des Monitors für Zertifikatsverfall ist eine geplante Task, die alle Keystores in der Sicherheitskonfiguration durchsucht und alle abgelaufenen Zertifikate, Zertifikate, die den Ablaufschwellenwert erreicht haben, und Zertifikate, die in einen bestimmten Zeitraum für Vorabbenachrichtigung fallen, berichtet.
- Zertifikatsmonitor konfigurieren
- Sie können die Konfigurationseinstellungen für den Zertifikatsmonitor in der Administrationskonsole
konfigurieren, indem Sie Zertifikatsverfall verwalten können Sie die folgenden Funktionen ausführen.
- Aktivieren oder inaktivieren Sie die Überprüfung durch den Zertifikatsmonitor, indem Sie das Kontrollkästchen Überprüfung aktivieren auswählen. Die Überprüfung durch den Zertifikatsmonitor ist standardmäßig aktiviert.
- Legen Sie den Verfallsschwellenwert im Feld Schwellenwert für Zertifikatsersetzung fest. Der Schwellenwert für Zertifikatsersetzung ist der Zeitraum in Tagen bis zum Zertifikatsverfallsdatum, in dem ein Zertifikat ersetzt werden kann. Die Standardeinstellung ist 60 Tage.
- Legen Sie den Schwellenwert für die Vorabbenachrichtigung im Feld Vorabbenachrichtigung über bevorstehende Zertifikatsersetzung fest. Der Schwellenwert für die Vorabbenachrichtigung ist der Zeitraum in Tagen bis zum Verfallsschwellenwert, in dem der Verfallsmonitor meldet, dass ein Zertifikat bereits ersetzt werden kann. Die Standardeinstellung ist 60 Tage.
- Ersetzen Sie verfallene Zertifikate bzw. Zertifikate, die den Verfallsschwellenwert erreicht haben, durch ein neues Zertifikat, falls das Kontrollkästchen Verfallende selbst signierte und verkettete Zertifikate automatisch ersetzen ausgewählt ist. Dieses Kontrollkästchen ist standardmäßig ausgewählt. Ist diese Option nicht ausgewählt, meldet der Zertifikatsverfallsmonitor lediglich, dass ein Zertifikat verfallen ist bzw. den Verfallsschwellenwert erreicht hat. Das Zertifikat wird nicht ersetzt.
- Löschen Sie die Zertifikate, nachdem sie ersetzt wurden, indem Sie das Kontrollkästchen Verfallende Zertifikate und Unterzeichner nach der Ersetzung löschen auswählen. Dieses Kontrollkästchen ist standardmäßig ausgewählt.
- Der Plan, nach dem der Zertifikatsverfallsmonitor ausgeführt wird, kann im Feld Überprüfung des Verfallsdatums festgelegt werden. Standardmäßig ist der Monitor so eingestellt, dass er alle vier Wochen sonntags um 21:30 ausgeführt wird.
- In welcher Form Sie den Bericht des Zertifikatsmonitors erhalten möchten, können Sie im Feld Benachrichtigung zur Überprüfung des Verfallsdatums festlegen. Standardmäßig wird der Bericht in das Systemausgabeprotokoll geschrieben.
Das folgende Konfigurationsobjekt security.xml gibt an, wann die Überwachungstask gestartet wird, bestimmt den Schwellenwert für den Zertifikatsverfall und gibt an, ob Sie mit SMTP per E-Mail oder in einem Nachrichtenprotokoll benachrichtigt werden. Das Protokoll für Vorabbenachrichtigung wird in einer angepassten Eigenschaft festgelegt.<wsCertificateExpirationMonitor xmi:id="WSCertificateExpirationMonitor_1" name="Zertifikatverfallsmonitor" daysBeforeNotification="30" isEnabled="true" autoReplace="true" deleteOld="true" wsNotification="WSNotification_1" wsSchedule="WSSchedule_2" nextStartDate="1134358204849"/>
Der Zeitraum für Vorabbenachrichtigung wird durch eine angepasste Eigenschaft in der Datei security.xml festgelegt.<properties xmi:id="Property_1422758742456" name="com.ibm.ws.security.expirationMonitorNotificationPeriod" value="90"/>
Das folgende Beispiel zeigt das Attribut "frequency", das die Anzahl der Tage zwischen den einzelnen Durchläufen des Zertifikatsmonitors angibt.<wsSchedules xmi:id="WSSchedule_2" name="ExpirationMonitorSchedule" frequency="30" dayOfWeek="1" hour="21" minute="30"/>
Das Attribut dayOfWeek bewirkt, dass der Zeitplan an einem bestimmten Wochentag ausgeführt wird. Dieser Wochentag wird unabhängig davon eingehalten, ob frequency auf 30 oder 31 Tage gesetzt ist. Die Attribute hour und minute bestimmen nach einer 24-Stunden-Zeiteinteilung, zu welcher Zeit der Monitor für Zertifikatverfall an dem angegebenen Tag gestartet wird.
Der folgende Beispielcode für das Benachrichtigungsobjekt zeigt die Konfiguration für die Benachrichtigung nach Ausführung des Monitor für Zertifikatverfall.<>wsNotifications xmi:id="WSNotification_1" name="MessageLog" logToSystemOut="true" emailList=""/
Sie können festlegen, ob der Verfallsmonitor Sie in einem Nachrichtenprotokoll und/oder über den SMTP-Server per E-Mail über den Verfall eines Zertifikats benachrichtigen soll. Wenn Sie die E-Mail-Option konfigurieren, verwenden Sie das Format "benutzer@domäne@smtpserver". Falls Sie keinen SMTP-Server angeben, verwendet WebSphere Application Server standardmäßig die Domäne als E-Mail-Adresse. Wenn Sie beispielsweise joeuser@ibm.com konfigurieren, versucht WebSphere Application Server smtp-server.ibm.com aufzurufen. Sie können auch ein Script erstellen, um mehrere E-Mail-Adressen anzugeben. Zwischen den Einträgen müssen Sie ein Pipe-Zeichen (|) hinzufügen. Wenn Sie das Attribut logToSystemOut angeben, werden die Ergebnisse des Monitor für Zertifikatverfall an das Nachrichtenprotokoll für die Umgebung gesendet. In der Regel ist dies die Datei SystemOut.log.
auswählen. In der Anzeige
- Die folgenden Funktionen können vom Zertifikatsverfallsmonitor ausgeführt werden:
- Er bereinigt den Keystore NodeDefaultDeletedStore bzw. DmgrDefaultDeletedStore. Diese Operation wird im unbeaufsichtigten Modus ausgeführt, und es wird nicht gemeldet, dass die Zertifikate gelöscht werden.
- Der Monitor überprüft die Stammkeystores DmgrDefaultRootStore bzw. NodeDefaultRootStore und DmgrRSATokenRootStore bzw. NodeRSATokenRootStore. Wenn Stammzertifikate verfallen sind, den Verfallsschwellenwert erreicht haben oder in den Zeitraum für Vorabbenachrichtigung fallen, werden sie in den Bericht eingeschlossen.
- Wenn es Stammzertifikate gibt, die verfallen sind oder den Verfallsschwellenwert erreicht haben, werden diese unter Verwendung aller Informationen, die zum Erstellen des ursprünglichen Zertifikats verwendet wurden, erneut erstellt. Alle Unterzeichnerzertifikate aus dem ursprünglichen Stammzertifikat werden durch Unterzeichnerzertifikate aus dem neuen Stammzertifikat ersetzt.
- Wenn ein Stammzertifikat ersetzt wird, werden alle Keystores überprüft, um festzustellen, ob es verkettete Zertifikate gibt, die mit dem ursprünglichen Stammzertifikat unterzeichnet wurden. Sind solche verketteten Zertifikate vorhanden, werden diese erneuert (mit dem neuen Stammzertifikat erneut erstellt). Alle Unterzeichnerzertifikate aus dem ursprünglichen Zertifikat werden durch die Unterzeichnerzertifikate aus dem neu erstellten Zertifikat ersetzt.
- Nach der Verarbeitung aller Stamm-Keystores werden die restlichen Keystores auf abgelaufene Zertifikate, Zertifikate, die den Ablaufschwellenwert erreicht haben, oder Zertifikate, die in den Zeitraum für Vorabbenachrichtigung fallen, untersucht. Jedes Zertifikat, das in eine dieser Kategorien fällt, wird in den Bericht eingeschlossen.
- Sind abgelaufene Zertifikate oder Zertifikate, die den Verfallsschwellenwert erreicht haben, vorhanden und handelt es sich dabei um selbst signierte oder verkettete Zertifikate, die von WebSphere erstellt wurden, werden diese ersetzt. Falls das Stammelement der verketteten Zertifikate nicht im Stammkeystore enthalten ist, wird es als Standardstammzertifikat erneut erstellt. Alle Unterzeichnerzertifikate aus dem ursprünglichen Zertifikat werden durch Unterzeichnerzertifikate aus dem neuen Zertifikat ersetzt.
- Je nach Konfigurationseinstellungen wird ein Bericht generiert und zurückgegeben, in eine Protokolldatei geschrieben oder per E-Mail versendet.
- Typ der Ersatzzertifikate
Der Verfallsmonitor ersetzt selbst signierte Zertifikate und verkettete persönliche Zertifikate, die mit einem Stammzertifikat im DmgrDefaultRootStore oder NodeDefaultRootStore signiert wurden. Selbst signierte Zertifikate werden unter Verwendung aller Informationen, die zum Erstellen des ursprünglichen selbst signierten Zertifikats verwendet wurden, erneuert. Ein verkettetes Zertifikat wird mit demselben Stammzertifikat erneuert, das zum Signieren des ursprünglichen Zertifikats verwendet wurde. Zertifikate, die von einer Zertifizierungsstelle erstellt werden (CA-Zertifikate), können nicht durch den Zertifikatsmonitor ersetzt werden. Sie müssen durch den Administrator ersetzt werden.
Unterzeichnerzertifikate sind der öffentliche Teil eines persönlichen Zertifikats. Sie werden also nicht separat erstellt, sondern aus einem persönlichen Zertifikat extrahiert. Wenn der Zertifikatsmonitor ein persönliches Zertifikat ersetzt, überprüft er alle Keystores, um festzustellen, ob ein Unterzeichnerzertifikat vorhanden ist, das aus dem abgelaufenen persönlichen Zertifikat extrahiert wurde, und ersetzt dieses Zertifikat gegebenenfalls durch ein Unterzeichnerzertifikat, das aus dem neu erstellten persönlichen Zertifikat extrahiert wurde. Wenn ein Unterzeichnerzertifikat einem Keystore über eine Zertifikatsdatei oder über die Option "Vom Port abrufen" hinzugefügt wurde, wird es wahrscheinlich ersetzt. Ist es abgelaufen oder hat es den Verfallsschwellenwert erreicht, werden die Benutzer benachrichtigt, dass das Unterzeichnerzertifikat nicht ersetzt wird. Löschen Sie das Zertifikat und ersetzen Sie es durch ein gültiges Zertifikat.
- Bericht über Zertifikatsverfall
Wenn der Zertifikatsverfallsmonitor ausgeführt wird, wird ein Bericht über die getroffenen Maßnahmen generiert. Dieser Bericht wird standardmäßig in die Datei SystemOut.log geschrieben. Benutzer können per Konfiguration festlegen, dass der Bericht des Zertifikatsmonitors ihnen per E-Mail zugesandt wird. Wenn ein Benutzer den Zertifikatsverfallsmonitor über die wsadmin-AdminTask startCertificateExpMonitor ausführt, wird der Bericht an den Benutzer zurückgegeben. Dabei wird die Adresse verwendet, die in der Einstellung für die Benachrichtigung zum Zertifikatsverfall angegeben ist.
Wenn der Zertifikatsmonitor ausgeführt wird und keine verfallenen Zertifikate zu melden sind, gibt er eine Informationsnachricht zurück, die angibt, dass die Zertifikate überprüft wurden und keine Probleme hinsichtlich des Verfallsdatums gefunden wurden. Beispiel:**** Betreff: Verfallsmonitor ****; Hostname: myHost Profile-UUID: AppSrv01-BASE-8da8e11e-70c6-451f-862b-8a08e408110b Prozesstyp: UnManagedProcess Überprüfung auf verfallene Zertifikate und Zertifikate mit dem Schwellenwert von 60 Tagen CWPKI0735I: Alle Zertifikate wurden durchsucht, und es wurden keine Probleme mit dem Ablaufdatum gefunden.
Der Zertifikatsverfallsmonitor erfasst Informationen zu Zertifikaten in mehreren Abschnitten: im Abschnitt für die Vorabbenachrichtigung, im Abschnitt für verfallene Zertifikate, im Abschnitt für ersetzte Zertifikate und im Abschnitt für nicht ersetzbare Zertifikate. Ein Zertifikat im Bericht wird identifiziert anhand der Angabe, ob es sich um ein persönliches Zertifikat oder ein Unterzeichnerzertifikat handelt, anhand seines Aliasnamens und des Keystores, in dem es sich befindet.
Im Abschnitt für die Vorabbenachrichtigung sind alle Zertifikate aufgeführt, die den Schwellenwert für die Vorabbenachrichtigung erreicht haben. Die Vorabbenachrichtigung dient als Warnung, um Benutzer darüber zu informieren, zu welchem Datum ein Zertifikat ersetzt wird, falls der Zertifikatsverfallsmonitor zu diesem oder einem späteren Datum ausgeführt wird. In diesem Abschnitt wird der Benutzer auch darüber informiert, warum er die bevorstehende Ersetzung des Zertifikats beachten sollte. Wenn keine Zertifikate den Schwellenwert für die Vorabbenachrichtigung erreicht haben, ist im Bericht kein Abschnitt für Vorabbenachrichtigung enthalten. Beispiel:*** ZERTIFIKATE MIT DEN 90 TAGEN DES ZERTIFIKATSVERFALLSCHWELLENWERTS (KÖNNEN IN 90 TAGEN ERSETZT WERDEN) ***; CWPKI0714I: Der Zertifikatsverfallsmonitor wurde vor Kurzem ausgeführt und hat festgestellt, dass die in den zugehörigen Nachrichten aufgelisteten Zertifikate in den nächsten 90 Tagen ersetzt werden. Diese Ersetzung basiert auf der konfigurierten Richtlinie, nach der verfallende selbst signierte Zertifikate 60 Tage vor ihrem Verfallsdatum automatisch ersetzt werden. Diese Benachrichtigung informiert Sie darüber, dass bei der automatischen Ersetzung der Zertifikate Probleme auftreten können. CWPKI0715I: Manchmal kann die automatische Ersetzung von Zertifikaten zu Ausfällen bei Web-Server-Plug-ins führen, die auf nicht verwalteten Knoten ausgeführt werden. In einer solchen Situation kann das Plug-in keine Verbindung zu Anwendungsservern über HTTPS herstellen, weil es Unterzeichner für Zertifikate verwendet, die während des automatischen Ersetzungsprozesses ausgetauscht wurden. Um schwerwiegende Ausfälle zu verhindern, sollten Sie vor dem geplanten Ersetzungsdatum entsprechende Maßnahmen ergreifen und die verfallenden Zertifikate manuell ersetzen und die Schlüsseldatenbank der Plug-ins mit den neuen Unterzeichnern aktualisieren. CWPKI0719I: Das persönliche Zertifikat "testcert1" im Keystore "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" verfällt am 10. Mai 2015 und kann nach dem Schwellenwertdatum 11. Mai 2015 ersetzt werden.
Im Abschnitt für verfallene Zertifikate sind die verfallenen Zertifikate bzw. die Zertifikate, die den Verfallsschwellenwert erreicht haben, aufgelistet. Hat ein Zertifikat den Verfallsschwellenwert erreicht, wird angegeben, wann das Zertifikat verfällt. Beispiel:*** ZERTIFIKATE, DIE VERFALLEN SIND ODER IM VERFALLSSCHWELLENWERTBEREICH SIND ***; CWPKI0642I: Der Unterzeichnerzertifikatsalias "oldcert" im KeyStore "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" verfällt am 19. Februar 2015. CWPKI0680I: Der persönliche Zertifikatsalias "selfcert" im KeyStore "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" verfällt am 9. November 2014. CWPKI0643I: Der persönliche Zertifikatsalias "testcert" im KeyStore "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" verfällt am 19. Februar 2015.
Im Abschnitt für das ersetzte Zertifikat sind alle Zertifikate aufgelistet, die ersetzt wurden. Selbst signierte persönliche Zertifikate und verkettete persönliche Zertifikate, die mit einem Stammzertifikat im Stammkeystore des Servers signiert sind, können ersetzt werden. Unterzeichnerzertifikate können durch einen Unterzeichner ersetzt werden, der aus ersetzten persönlichen Zertifikaten extrahiert wurde.*** ZERTIFIKATE, DIE VERFALLEN SIND ODER DEN VERFALLSSCHWELLENWERT ÜBERSCHRITTEN HABEN UND ERSETZT WURDEN ***; CWPKI0645I: Der persönliche Zertifikatsalias "selfcert" im KeyStore "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" wurde ersetzt. CWPKI0644I: Der Unterzeichnerzertifikatsalias "selfcert" im KeyStore "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" wurde ersetzt. CWPKI0645I: Der persönliche Zertifikatsalias "testcert" im KeyStore "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" wurde ersetzt.
Im Abschnitt für die nicht ersetzbaren Zertifikate sind alle Zertifikate aufgeführt, die verfallen sind bzw. den Verfallsschwellenwert erreicht haben und nicht ersetzt werden können. Ein persönliches Zertifikat wird nicht ersetzt, wenn es sich in einem schreibgeschützten Keystore befindet oder wenn der Zertifikatsmonitor nicht die Information hat, dass ein neues Zertifikat erstellt werden muss. Wenn das Zertifikat von einem Zertifikat signiert wurde, dassich nicht im Stammkeystore des Servers befindet; kann es nicht ersetzt werden und ist wahrscheinlich ein CA-Zertifikat. Ein Unterzeichnerzertifikat kann nicht ersetzt werden, wenn das persönliche Zertifikat, aus dem es stammt, nicht in der Konfiguration vorhanden ist. Beispiel:*** ZERTIFIKATE, DIE VERFALLEN SIND ODER DEN VERFALLSSCHWELLENWERT ÜBERSCHRITTEN HABEN UND VOM SERVER NICHT ERSETZT WERDEN KÖNNEN ***; CWPKI0642I: Der Unterzeichnerzertifikatsalias "oldcert" im KeyStore "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" verfällt am 19. Februar 2015.
- Keystore-Datei für gelöschte Zertifikate bereinigen
Der Verfallsmonitor bereinigt die Keystore-Datei für die gelöschten Zertifikate. Kopien von Zertifikaten, die in anderen Keystores gelöscht wurden, werden in die Datei NodeDefaultDeletedStore gestellt für den Fall, dass ein Benutzer Zertifikate wiederherstellen muss. Die Keystore-Datei für gelöschte Zertifikate muss gelegentlich bereinigt werden, damit sie verfügbar ist, wenn der Zertifikatsmonitor ausgeführt wird. Aufgrund der Spezifik von PKCS12-Keystores muss mindestens ein Eintrag im Keystore enthalten sein. Die aus dieser Keystore-Datei gelöschten Zertifikate werden nicht gemeldet.
Anmerkung: Ist die folgende Konfigurationsoption aktiviert, kann die Laufzeit dynamisch beeinträchtigt werden, wenn der Verfallsmonitor Zertifikate ersetzt.Klicken Sie auf Laufzeitumgebung bei Änderungen in der SSL-Konfiguration dynamisch aktualisieren aus.
. Wählen Sie unter "Konfigurationseinstellungen" das KontrollkästchenBei Auswahl dieses Kontrollkästchens verwendet die SSL-Laufzeitumgebung des Clients sofort die neuen Zertifikate für alle ersetzten Zertifikate, was wiederum bewirkt, dass für alle SSL- und Keystore-Caches eine Flush-Operation ausgeführt wird und einige Ports, die SSLServerSockets verwenden (RMI/IIOP auf verteilten Systemen und Admin SOAP), erneut gestartet werden. Beim Neustart von Ports werden vorhandene Verbindungen unterbrochen. Diese Verbindungen können nach dem Neustart der Ports wiederhergestellt werden. Endpunkte, die das Kanalframework (HTTP, BUS, RMI/IIOP unter z/OS) verwenden, lassen vorhandene Verbindungen unberührt, verwenden aber die neuen Zertifikate für neue Verbindungen.
Wenn die Eigenschaft für dynamische Änderung inaktiviert ist, muss der Administrator, bevor die neuen Zertifikate gültig werden, alle Prozesse in der gesamten Zelle erneut starten, wenn auf allen Knoten die synchronisierte Konfiguration vorhanden ist.