Konfiguration der gegenseitigen Authentifizierung

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:
  1. Die Eigenschaft server.jms.mutualAuth in der Serverdatei installed.properties (im Verzeichnis server_install/conf/server) ist auf true gesetzt.
  2. 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.
  3. Für jedes Agentenrelay wird die Eigenschaft agentrelay.jms_proxy.secure in der Relaydatei agentrelay.properties (im Verzeichnis relay_install\conf) auf true gesetzt.
  4. 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

  1. Kopieren Sie das Zertifikat vom Server auf die einzelnen Agenten oder Agentenrelays, die eine direkte Verbindung zum Server herstellen:
    1. Ö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.
    2. 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).
    3. Kopieren Sie die exportierte Schlüsseldatei server.crt in jedes conf-Installationsverzeichnis des Agenten oder jedes conf/jms-relay-Installationsverzeichnis des Agentenrelay.
    4. 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.
    5. 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.
  2. 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.
    1. Ö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.
    2. 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).
    3. 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.
    4. 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).
    5. 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.
  3. 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.
  4. 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.
  5. 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:
  1. Melden Sie sich als Benutzer mit der Berechtigung "Sicherheit verwalten" an.
  2. Öffnen Sie den Agenten und klicken Sie dann auf Konfiguration > Agentensicherheit. 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.
  3. 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 Einstellungen > API-Schlüssel und -Zertifikate > API-Schlüssel.
  4. Um das JMS-Zertifikat zu widerrufen, das der Agent für die Verbindung zum Server verwendet, klicken Sie auf API-Schlüssel widerrufen.

Feedback