Für die gegenseitige Authentifizierung
müssen Server und Agenten Schlüssel austauschen. Exportieren Sie
einen Serverschlüssel als Zertifikat und importieren Sie ihn in den
Agentenkeystore. Kehren Sie den Prozess um, indem Sie den
Agentenschlüssel exportieren und in den Serverkeystore importieren.
Vorbereitende Schritte
Stellen Sie vor dem Schlüsselaustausch sicher, dass
folgende Eigenschaften festgelegt sind:
- Die Eigenschaft server.jms.mutualAuth
in der Serverdatei installed.properties (im
Verzeichnis
server_install/conf/server)
ist auf true gesetzt.
- Für jeden Agenten wird die
Eigenschaft locked/agent.mutual_auth in
der Agentendatei installed.properties (im
Verzeichnis
agent_install\conf\agent) auf
true gesetzt.
- Für jedes Agentenrelay wird die Eigenschaft
agentrelay.jms_proxy.secure in der Relaydatei
agentrelay.properties (im Verzeichnis
relay_install\conf) auf
true gesetzt.
- Für jedes Agentenrelay wird die Eigenschaft
agentrelay.jms_proxy.mutualAuth in der
Relaydatei agentrelay.properties auf
true gesetzt.
Vergewissern Sie sich außerdem, dass das
Dienstprogramm keytool, das im
Java™ Development Kit enthalten und nicht Teil von
IBM® UrbanCode Deploy
ist, auf allen Servern, Agenten und Agentenrelays im Systempfad verfügbar ist.
Informationen zu diesem Vorgang
Jeder Server, jeder Agent und jedes Agentenrelay enthalten einen Schlüssel, der das System identifiziert.
Bei der gegenseitigen Authentifizierung wird die Identität jedes dieser Systeme durch
einen gegenseitigen Austausch von Schlüsseln sichergestellt.
Die Schlüssel werden in der Datei
encryption.keystore im Ordner
conf auf der jeweiligen Server, Agenten und Agentenrelays
gespeichert.
In den folgenden Schritten verwenden Sie das Dienstprogramm
keytool,
um den Schlüssel von den einzelnen Systemen zu exportieren und in alle anderen Systeme zu
importieren.
Um die gegenseitige Authentifizierung für Hochverfügbarkeitsumgebungen zu konfigurieren, tauschen Sie alle Agenten- oder Agentenrelay-Zertifikate mit jedem Server aus. Stellen Sie sicher, dass alle Agenten und Agentenrelays Zertifikate von allen Servern und alle Server Zertifikate von allen Agenten und Agentenrelays haben. Wichtig: Stellen Sie sicher, dass jeder Server dasselbe Zertifikat verwendet. Zu diesem Zweck können Lastausgleichsfunktionen ignoriert werden.
Vorgehensweise
- Kopieren Sie das Zertifikat vom Server auf die einzelnen Agenten oder Agentenrelays,
die eine direkte Verbindung zum Server herstellen:
- Öffnen Sie auf dem Server ein Befehlszeilenfenster und wechseln Sie zu dem Ordner,
der die Datei server.keystore enthält. Dieser Ordner befindet sich standardmäßig am Speicherort app_data/conf, wo
app_data der Anwendungsdatenordner ist, den Sie bei der Installation festlegen. Der standardmäßige
Anwendungsdatenordner lautet /opt/ibm-ucd/server/appdata unter Linux und C:\Programme\ibm-ucd\server\appdata unter Windows. Im Falle eines Hochverfügbarkeitsclusters befindet sich der Anwendungsdatenordner im Allgemeinen in einem gemeinsam genutzten, fernen Verzeichnis.
- Exportieren Sie den Serverschlüssel, indem Sie den folgenden Befehl ausführen:
keytool -exportcert -keystore server.keystore -storepass changeit -alias server -file server.crt
Wenn das Zertifikat exportiert worden ist, wird Ihnen die folgende Nachricht angezeigt: Certificate
stored in file server.crt (Zertifikat wurde in Datei server.crt gespeichert).
- Kopieren Sie die exportierte Schlüsseldatei server.crt in jedes
conf-Installationsverzeichnis des Agenten oder jedes
conf/jms-relay-Installationsverzeichnis des Agentenrelay.
- Importieren Sie das Serverzertifikat in den Keystore des Agenten oder Agentenrelay,
indem Sie den folgenden Befehl aus dem Verzeichnis conf des Agenten
oder dem Verzeichnis jms-relay des Agentenrelay ausführen:
keytool -importcert -keystore keystoreFile -storepass changeit -alias server -file server.crt -keypass changeit -noprompt
Verwenden
Sie für keystoreFile, agent.keystore für Agenten und
agentrelay.keystore für Agentenrelays. Wenn das Zertifikat importiert worden ist, wird Ihnen die folgende Nachricht angezeigt: Certificate was added to
keystore (Zertifikat wurde dem Keystore hinzugefügt). Nun befindet sich das
Serverzertifikat im Keystore des Agenten oder Agentenrelay.
- Wiederholen Sie den Prozess für jeden Agenten und jedes Agentenrelay, der/das eine
direkte Verbindung zum Server herstellt.
Anmerkung: Agenten, die über Agentenrelays mit dem Server kommunizieren, müssen mit dem Server
keine Zertifikate tauschen. Lediglich das Agentenrelay, das eine Verbindung mit dem Server herstellt, muss Zertifikate mit ihm austauschen. Sie
müssen jedoch Zertifikate zwischen dem Agentenrelay und jedem fernen Agenten austauschen.
- Kopieren Sie das Zertifikat von den einzelnen Agenten oder Agentenrelays, die direkt
mit dem Server verbunden sind, und importieren Sie das Zertifikat in den Server-Keystore.
- Öffnen Sie auf dem System, das den Agenten oder das Agentenrelay hostet, ein
Befehlszeilenfenster und wechseln Sie zu dem Ordner, der die Datei
agent.keystore oder agentrelay.keystore
enthält.
- Exportieren Sie das Zertifikat, indem Sie den folgenden Befehl ausführen:
keytool -exportcert -keystore keystoreFile -storepass changeit
-alias ibm-ucd_agent -file agentName.crt
für keystoreFile, agent.keystore für Agenten und
agentrelay.keystore für Agentenrelays. Der Standardalias(name) des Agenten ist ibm-ucd_agent. Geben Sie für agentName eine eindeutige Zeichenfolgen-ID für den Agenten oder das Agentenrelay an. Wenn das Zertifikat exportiert worden ist, wird Ihnen die folgende Nachricht angezeigt: Certificate
stored in file agentName.crt (Zertifikat in Datei agentName.crt gespeichert).
- Kopieren Sie die exportierte Schlüsseldatei in den Ordner
app_data/conf des Servers, wobei
app_data für den Ordner mit den Anwendungsdaten
steht.
- Importieren Sie das Agenten- oder Agentenrelayzertifikat in den Server-Keystore,
indem Sie den folgenden Befehl ausführen:
keytool -importcert -keystore server.keystore -storepass changeit
-alias uniqueAlias -file agentName.crt -keypass changeit -noprompt
Verwenden Sie für uniqueAlias einen Aliasnamen für den eindeutigen Schlüssel zur Identifizierung des Agenten. Wenn das Zertifikat importiert worden ist, wird Ihnen die folgende Nachricht angezeigt: Certificate was added to
keystore (Zertifikat wurde dem Keystore hinzugefügt).
- Wiederholen Sie den Prozess für jeden Agenten und jedes Agentenrelay, der/das eine
direkte Verbindung zum Server herstellt.
Anmerkung: Agenten, die über Agentenrelays mit dem Server kommunizieren, müssen mit dem Server
keine Zertifikate tauschen. Lediglich das Agentenrelay, das eine Verbindung mit dem Server herstellt, muss Zertifikate mit ihm austauschen. Sie
müssen jedoch Zertifikate zwischen dem Agentenrelay und jedem fernen Agenten austauschen.
- Optional: Legen Sie für jeden lokalen Agenten oder jedes lokale Agentenrelay für den Schlüsselalias(namen) denselben Wert fest, den Sie auf dem Server verwendet haben. Führen Sie im Verzeichnis conf des Agenten oder im Verzeichnis jms-relay des Agentenrelays den folgenden Befehl aus:
keytool -changealias -destalias uniqueAlias -alias defaultAlias -keystore agent.keystore -storepass
changeit
Der Standardalias(name) des Agenten ist ibm-ucd_agent und der des Agentenrelays ist agentrelay.
- Wenn Sie Agentenrelays verwenden, verbinden Sie ferne Agenten mithilfe der bewährten Methoden mit ihnen. Jeder ferne Agent muss das Zertifikat für das Relay importieren und das Relay muss das Zertifikat von jedem fernen Agenten zusätzlich zum Zertifikat vom Server importieren.
- Starten Sie den Server, die Agenten und die Agentenrelays
erneut.
Nächste Schritte
Stellen Sie sicher, dass die Agenten und Agentenrelays eine Verbindung zum Server
herstellen können.
Sie können auch die in einem Keystore geladenen Zertifikate auflisten, indem Sie den
folgenden Befehl aus dem Verzeichnis conf ausführen:
keytool -list -keystore keystoreFile -storepass
changeit
Weitere Informationen zum Austausch von Schlüsseln zwischen
Servern finden Sie unter
Gemeinsames Nutzen sicherer Eigenschaften unter Servern.
Führen Sie die folgenden Schritte aus, um die
Schlüssel zu widerrufen, die der Agent für die Verbindung zum Server verwendet:
- Melden Sie sich als Benutzer mit der Berechtigung "Sicherheit verwalten" an.
- Öffnen Sie den Agenten und klicken Sie dann auf
. Diese Registerkarte wird
nur angezeigt, wenn Sie über die Berechtigung "Sicherheit verwalten" verfügen und wenn der Agent eine gegenseitige
Authentifizierung für die Verbindung zum Server verwendet.
- Um den API-Schlüssel zu widerrufen, den der Agent verwendet, klicken Sie auf API-Schlüssel entfernen.
Das Klicken auf diese Schaltfläche entspricht dem Entfernen des API-Schlüssels unter
.
- Um das JMS-Zertifikat zu widerrufen, das der Agent für die Verbindung zum Server verwendet, klicken Sie auf
API-Schlüssel widerrufen.