20.7 Konfigurieren der beiderseitigen Authentifizierung mit der Identity Manager-Engine

Sie können die beiderseitige Authentifizierung konfigurieren, um die sichere Kommunikation zwischen dem Remote Loader und der Identity Manager-Engine sicherzustellen. Die beiderseitige Authentifizierung verwendet für den Handshake Zertifikate anstatt von Passwörtern. Der Remote Loader und die Identity Manager-Engine authentifizieren sich gegenseitig, indem sie das Zertifikat mit öffentlichem Schlüssel oder das digitale Zertifikat von der verbürgten Zertifizierungsstelle oder die selbstsignierten Zertifikate austauschen und überprüfen. Wenn die beiderseitige Authentifizierung erfolgreich ist, authentifiziert sich der Remote Loader bei der Engine. Synchronisierungsdatenverkehr findet statt, nachdem sowohl der Remote Loader als auch die Identity Manager-Engine sicher sind, dass sie mit einer autorisierten Entität kommunizieren.

Führen Sie zum Konfigurieren der beiderseitigen Authentifizierung die folgenden Aufgaben aus:

20.7.1 Exportieren der Zertifikate für die Identity Manager Engine und den Remote Loader

Damit die beiderseitige Authentifizierung ordnungsgemäß funktioniert, brauchen Sie ein Serverzertifikat für die Engine und ein Client-Zertifikat für den Remote Loader. Sie können die Zertifikate von eDirectory exportieren oder sie von einem Drittanbieter importieren. In den meisten Fällen exportieren Sie ein Serverzertifikat von eDirectory ohne zusätzliche Kosten. In einigen Fällen möchten Sie möglicherweise ein Drittanbieter-Client-Zertifikat für den Remote Loader exportieren.

Exportieren eines Zertifikats von eDirectory

Ein Zertifikatsobjekt im Identitätsdepot wird KMO (Key Material Object) genannt. Dieses Objekt enthält sowohl die Zertifikatsdaten einschließlich des öffentlichen Schlüssels und den privaten Schlüssel, der mit dem für SSL-Verbindungen verwendeten Zertifikat verknüpft ist. Für die beiderseitige Authentifizierung benötigen Sie zwei KMOs , jeweils eines für die Engine und eines für den Remote Loader.

Sie können ein vorhandenes KMO exportieren oder ein neues KMO erstellen und es dann exportieren. Die Abläufe beim Erstellen eines Client-KMO und eines Server-KMO sind nicht identisch.

Erstellen von KMOs

So erstellen Sie ein Server-KMO:

  1. Melden Sie sich bei NetIQ iManager an.

  2. Klicken Sie im linken Bereich auf NetIQ-Zertifikatserver und wählen Sie das Serverzertifikat aus.

  3. Wählen Sie den Server aus, der als Eigentümer für das erstellte Zertifikat fungieren soll.

  4. Geben Sie einen Kurznamen für das Zertifikat ein. Beispiel: serverkmo.

  5. Wählen Sie für die Zertifikaterstellungsmethode die Option Standard und klicken Sie auf Weiter.

  6. Überprüfen Sie die Zusammenfassung, klicken Sie auf Fertig stellen und anschließend auf Schließen.

So erstellen Sie ein Client-KMO:

  1. Melden Sie sich bei NetIQ iManager an.

  2. Klicken Sie im linken Bereich auf NetIQ-Zertifikatserver und wählen Sie das Serverzertifikat aus.

  3. Wählen Sie den Server aus, der als Eigentümer für das erstellte Zertifikat fungieren soll.

  4. Geben Sie einen Kurznamen für das Zertifikat ein. Beispiel: clientkmo

  5. Wählen Sie für die Zertifikaterstellungsmethode die Option Benutzerdefiniert und klicken Sie auf Weiter.

  6. Behalten Sie die standardmäßige Organisations-Zertifizierungsstelle unverändert bei und klicken Sie auf Weiter.

  7. Deaktivieren Sie die Option Erweiterte Schlüsselnutzung aktivieren und klicken Sie auf Weiter.

  8. Übernehmen Sie die restlichen Standardeinstellungen für das Zertifikat.

  9. Überprüfen Sie die Zusammenfassung, klicken Sie auf Fertig stellen und anschließend auf Schließen.

Exportieren von KMOs

Exportieren Sie die KMOs aus eDirectory, die die Engine und der Remote Loader zur gegenseitigen Authentifizierung verwenden.

Führen Sie zum Exportieren des KMO für die Identity Manager-Engine das DirXML-Befehlszeilen-Dienstprogramm (dxcmd) aus:

dxcmd -user <admin DN> -password <password of admin> -exportcerts <kmoname> <server|client> <java|native|dotnet> <output dir>

Hierbei gilt:

  • user gibt den Namen eines Benutzers mit Verwaltungsrechten für den Treiber an.

  • password gibt das Passwort des Benutzers mit Verwaltungsrechten für den Treiber an.

  • exportcerts exportiert die Zertifikate und privaten/öffentlichen Schlüssel von eDirectory. Sie müssen angeben, ob Sie ein Server- oder Client-Zertifikat exportieren, welcher Treibertyp das Zertifikat verwendet und in welchem Zielordner der Befehl diese Informationen speichert.

Beispiel: dxcmd -user admin.sa.system -password novell -exportcerts serverkmo server java '/home/certs'

Dieser Befehl generiert die Datei serverkmo_server.ks im Verzeichnis /home/certs/. Das Standardpasswort für den Keystore lautet dirxml.

Bei der Ausführung des dxcmd-Befehls zum Exportieren des KMO für den Remote Loader gelten die folgenden Überlegungen:

  • Das dxcmd-Dienstprogramm wird im LDAP-Modus ausgeführt. Wenn Sie es zum ersten Mal verwenden, werden Sie aufgefordert, anzugeben, in welcher Weise Sie dem Zertifikat von eDirectory vertrauen möchten. Abhängig von Ihrer Umgebung wählen Sie, dass Sie dem Zertifikat nur für die aktuelle Sitzung oder für die aktuelle und zukünftige Sitzung vertrauen oder dass Sie allen Zertifikaten vertrauen. Sie können auch auswählen, dass dem Zertifikat nicht vertraut werden soll.

  • Führen Sie den Befehl entweder im LDAP-Format oder im DOT-Format aus, wenn der Remote Loader auf dem Identity Manager-Server ausgeführt wird. Führen Sie den Befehl nur im LDAP-Format aus, wenn der Remote Loader auf einem separaten Server installiert ist.

  • Geben Sie den -host-Parameter im Befehl an, um die Server-IP-Adresse oder den Hostnamen aufzulösen und sich beim Identity Manager-Server zu authentifizieren.

Führen Sie den Befehl mit der folgenden Syntax aus:

dxcmd -dnform ldap -host <IP-Adresse des Hosts> -user <Administrator-DN> -password <Passwort des Administrators> -exportcerts <KMO-Name> <Client> <java|native|dotnet> <Ausgabeverzeichnis>

Tabelle 20-1 Beispiele für verschiedene Treibertypen

Treibertyp

Befehl

Ausgabe

Java-Treiber

dxcmd -dnform ldap -host 194.99.90.218 -user cn=admin,ou=sa,o=system -password novell -exportcerts clientkmo client java '/home/certs'

Datei clientkmo_client.ks im Verzeichnis /home/certs/

Das Standardpasswort für den Keystore lautet dirxml.

Nativer Treiber

dxcmd -dnform ldap -host 194.99.90.218 -user cn=admin,ou=sa,o=system -password novell -exportcerts clientkmo client native 'C:\certs'

Dateien clientkmo_clientcert.pem, clientkmo_clientkey.pem und trustedcert.b64 im Verzeichnis C:\certs

.NET-Treiber

dxcmd -dnform ldap -host 194.99.90.218 -user cn=admin,ou=sa,o=system -password novell -exportcerts clientkmo client dotnet 'C:\certs'

Dateien clientkmo_clientcert.pfx und trustedcert.b64 im Verzeichnis C:\certs

Exportieren eines Drittanbieter-Zertifikats für Remote Loader

Zur Verwendung von Drittanbieter-Zertifikaten mit dem Remote Loader müssen Sie ein Zertifikat in die PFX-Datei exportieren sowie eine Herkunftsverbürgungsdatei im Base 64-Format und anschließend das PFX-Zertifikat in das Format konvertieren, das der Treiber verwendet. Beispiel: Ein nativer Treiber benötigt den privaten Schlüssel und den Zertifikatsschlüssel im PEM-Format, während ein Java-Treiber den Keystore im JKS-Format benötigt. Der .NET-Treiber verwendet die Datei im PFX-Format. Daher müssen Sie die Datei für einen .NET-Treiber konvertieren.

Nativer Treiber

Führen Sie die folgenden Schritte durch:

  1. Rufen Sie den privaten Schlüssel im PEM-Format von der PFX-Datei ab.

    Geben Sie einen Befehl ein, beispielsweise openssl pkcs12 -in servercert.pfx -nocerts -out serverkey.pem –nodes

  2. Rufen Sie den Zertifikatsschlüssel im PEM-Format von der PFX-Datei ab.

    Geben Sie einen Befehl ein, beispielsweise openssl pkcs12 -in servercert.pfx -nokeys -out servercert.pem

Java-Treiber

Erstellen Sie einen Java-Keystore aus der PFX-Datei. Geben Sie einen Befehl ein, beispielsweise keytool -importkeystore -srckeystore servercert.pfx -srcstoretype pkcs12 -destkeystore servercert.jks -deststoretype JKS.

Geben Sie im letzten Schritt abhängig vom Treibertyp die Informationen in der Konfigurationsdatei für den Remote Loader an. Weitere Informationen finden Sie unter Aktivieren eines Treibers für die beiderseitige Authentifizierung.

20.7.2 Aktivieren eines Treibers für die beiderseitige Authentifizierung

Sie aktivieren eine Treiberkommunikation für die beiderseitige Authentifizierung, indem Sie die folgenden Aufgaben ausführen:

Konfigurieren eines Treibers mit KMO oder Keystore

Sie haben die Möglichkeit, den Treiber mit KMO oder Keystore in Designer oder iManager zu konfigurieren.

In Designer wird der Treiber im ersten Treibererstellungsvorgang oder nach Erstellung des Treibers konfiguriert.

So konfigurieren Sie einen Treiber in Designer:

  1. Öffnen Sie Ihr Projekt in Designer.

  2. Wählen Sie in der Palette der Ansicht „Modellierer“ den zu erstellenden Treiber aus.

  3. Ziehen Sie das Symbol für den Treiber auf die Ansicht „Modellierer“.

  4. Befolgen Sie die Anweisungen im Installationsassistenten.

  5. Wählen Sie im Remote Loader-Fenster die Option Ja.

    1. Hostname: Geben Sie den Hostnamen oder die IP-Adresse des Servers an, auf dem der Remote Loader-Service ausgeführt wird. Beispiel: Geben Sie hostname=192.168.0.1 ein. Wenn Sie für diesen Parameter keinen Wert angeben, wird standardmäßig der Wert „localhost“ verwendet.

    2. Port: Geben Sie die Nummer des Ports an, an dem der Remote Loader installiert ist und für diesen Treiber ausgeführt wird. Die Standardportnummer lautet 8090.

    3. KMO: Geben Sie den Schlüsselnamen des KMO an, das die Schlüssel und das Zertifikat enthält, die der Remote Loader für eine SSL-Verbindung verwendet. Beispiel: Geben Sie kmo=serverkmo ein. Wenn Sie die beiderseitige Authentifizierung mit KMO konfigurieren, müssen Sie einen Wert für diesen Parameter angeben. Außerdem müssen Sie einen Wert für den Parameter Stammdatei unter „Andere Parameter“ angeben.

    4. Andere Parameter: Legen Sie die Einstellungen für den zu verwendenden Remote Loader fest. In diesem Parameter fügen Sie Informationen zur Kommunikation bei der beiderseitigen Authentifizierung hinzu. Die festgelegten Parameter müssen das folgende Schlüsselwertformat aufweisen: paraName1=paraValue1 paraName2=paraValue2

      Verwenden Sie beispielsweise das folgende Format für Keystore:

      UseMutualAuth=true keystore='/home/certs/serverkmo_server.ks' storepass='dirxml' keypass='dirxml' key='serverkmo'

      Verwenden Sie beispielsweise die folgende Syntax für KMO:

      useMutualAuth=true rootFile='/home/cacert.b64'
    5. Passwort festlegen: Mit dieser Option wird ein Anwendungspasswort festgelegt oder geändert.

    6. Passwort löschen: Löscht das Passwort für die Anwendung.

  6. Klicken Sie auf Weiter.

  7. Befolgen Sie die restlichen Anweisungen im Assistenten, bis die Installation des Treibers abgeschlossen ist.

  8. Sehen Sie sich die Zusammenfassung der Aufgaben an, die zur Erstellung des Treibers ausgeführt werden. Klicken Sie anschließend auf Fertig stellen.

Alternativ wird der Treiber nach seiner Erstellung konfiguriert. Führen Sie dazu die folgenden Schritte durch:

  1. Klicken Sie in der Ansicht „Gliederung“ in Designer mit der rechten Maustaste auf den Treiber.

  2. Wählen Sie Eigenschaften aus.

  3. Wählen Sie im Navigationsbereich die Option Treiberkonfiguration aus.

  4. Wählen Sie Authentifizierung aus.

  5. Geben Sie im Abschnitt Remote Loader-Authentifizierung die Informationen an, die zur Konfiguration der beiderseitigen Authentifizierung zwischen dem Remote Loader und der Identity Manager-Engine erforderlich sind.

    Verwenden Sie die folgende Syntax für KMO:

    hostname=xxx.xxx.xxx.xxx port=xxxx useMutualAuth=true kmo=certificatename rootFile=<absolute path to the file>

    Beispiel:

    hostname=192.168.0.1 port=8090 useMutualAuth=true kmo=serverkmo rootFile='/home/cacert.b64'

    Verwenden Sie die folgende Syntax für Keystore:

    hostname=xxx.xxx.xxx.xxx port=xxxx useMutualAuth=true keystore=<absolute path to the keystore file> storepass=<keystore password> key=<alias name> keypass= <password for the key>

    Beispiel:

    hostname=192.99.90.17 port=8097 useMutualAuth=true keystore='/home/certs/serverkmo_server.ks' storepass='dirxml' key='serverkmo' keypass='dirxml' 

So bearbeiten Sie die Konfiguration in iManager:

  1. Starten Sie iManager.

  2. Wählen Sie unter Überblick das gewünschte Identity Manager-Treiberobjekt aus.

  3. Führen Sie in den Eigenschaften des Treiberobjekts die folgenden Schritte aus:

    1. Aktivieren Sie unter Treibermodul die Option Verbindung zu Remote Loader aufbauen.

    2. Geben Sie unter Treiberobjektpasswort das Passwort ein, mit dem sich der Remote Loader bei der Engine authentifiziert.

      Dieses Passwort muss mit dem Passwort übereinstimmen, das im Remote Loader für das Treiberobjekt definiert ist.

    3. Geben Sie unter Verbindungsparameter für Remote Loader die erforderlichen Informationen zum Herstellen der Verbindung zum Remote Loader an.

      Verwenden Sie die folgende Syntax für KMO:

      hostname=xxx.xxx.xxx.xxx port=xxxx useMutualAuth=true kmo=certificatename rootFile=<absolute path to the file>

      Beispiel:

      hostname=192.168.0.1 port=8090 useMutualAuth=true kmo=serverkmo rootFile='/home/cacert.b64'

      Verwenden Sie die folgende Syntax für Keystore:

      hostname=xxx.xxx.xxx.xxx port=xxxx useMutualAuth=true keystore=<absolute path to the keystore file> storepass=<keystore password> key=<alias name> keypass= <password for the key>

      Beispiel:

      hostname=192.99.90.17 port=8097 useMutualAuth=true keystore='/home/certs/serverkmo_server.ks' storepass='dirxml' key='serverkmo' keypass='dirxml' 
    4. (Optional) Geben Sie unter Remote Loader-Passwort das Passwort an, mit dem sich die Identity Manager-Engine (oder das Remote Loader-Schnittstellenmodul) beim Remote Loader authentifiziert.

    5. Klicken Sie auf Anwenden und dann auf OK.

Konfigurieren des Remote Loaders für Treiberinstanzen

Sie müssen die Treiberinstanz in der Remote Loader-Konfigurationsdatei konfigurieren. Geben Sie unbedingt den absoluten Pfad zu dem Verzeichnis, in dem die Schlüsseldatei, die Zertifikatsdatei und die Stammdatei gespeichert sind, in der Remote Loader-Konfigurationsdatei für einen Treiber an.

Konfigurieren unter UNIX oder Linux

Ergänzen Sie die Remote Loader-Konfigurationsdatei für einen Treiber mit dem Inhalt, der zur Aktivierung der beiderseitigen Authentifizierung erforderlich ist. Die Datei befindet sich im Verzeichnis /opt/novell/dirxml/doc.

So bearbeiten Sie die Konfiguration:

  1. Melden Sie sich bei dem Server an, auf dem Sie den Treiber und Remote Loader installiert haben.

  2. Stoppen Sie den Remote Loader.

    Geben Sie beispielsweise den folgenden Befehl ein:

    rdxml -config /home/drivershim.conf -u
  3. Öffnen Sie in einem Texteditor die Remote Loader-Konfigurationsdatei für den Treiber.

  4. Fügen Sie der Datei den Inhalt hinzu, der zur Aktivierung der beiderseitigen Authentifizierung erforderlich ist.

    • Beispieleintrag für einen Java-Treiber:

      -connection "port=8090 useMutualAuth=true keystore='/home/certs/clientkmo_client.ks' storepass='dirxml' key='clientkmo' keypass='dirxml'" 
    • Beispieleintrag für einen nativen Treiber:

      -connection "useMutualAuth=true port=8090 rootfile='/home/certs/trustedcert.b64' certfile='/home/certs/clientkmo_clientcert.pem' keyfile='/home/certs/clientkmo_clientkey.pem' keypass='dirxml' certform=PEM keyform=PEM" 
  5. Speichern und schließen Sie die Datei.

  6. Starten Sie den Treiber neu.

Konfigurieren unter Windows

  1. Wählen Sie in der Remote Loader-Konsole die gewünschte Treiberinstanz in der Spalte Beschreibung aus.

  2. Klicken Sie auf Beenden.

  3. Geben Sie das Passwort für den Remote Loader ein, und klicken Sie auf OK.

  4. Klicken Sie auf Bearbeiten.

  5. Führen Sie die folgenden Schritte durch, um die Konfigurationsinformationen zur Aktivierung der beiderseitigen Authentifizierung zu bearbeiten:

    1. Wählen Sie Beiderseitige Authentifizierung aus.

    2. Geben Sie für einen nativen Treiber den Pfad zur Schlüsseldatei an, in der das Zertifikat für die Authentifizierung gespeichert ist. Die Schlüsseldatei muss im Base 64-Format vorliegen.

      Schlüsseldatei

      Gibt den Pfad zur Datei an, in der der Schlüssel für die Authentifizierung gespeichert ist. Die Schlüsseldatei muss im Base 64-Format vorliegen. Beispiel: Datei clientkmo_clientkey.pem im Verzeichnis C:\certs\ erstellt durch dxcmd im Abschnitt Exportieren eines Zertifikats von eDirectory.

      Schlüsselpasswort

      Gibt das Passwort für den privaten Schlüssel für die Authentifizierung an.

      Zertifikatsdatei

      Gibt die Datei an, in der die Zertifikate gespeichert sind. Die Zertifikatsdatei muss im Base 64-Format vorliegen. Beispiel: Datei clientkmo_clientkey.pem im Verzeichnis C:\certs\ erstellt durch dxcmd im Abschnitt Exportieren eines Zertifikats von eDirectory.

      Herkunftsverbürgungsdatei

      Gibt den Namen der Datei an, die das Herkunftsverbürgungszertifikat des Herausgebers des Zertifikats für das Remote-Schnittstellenmodul enthält. Die Herkunftsverbürgungsdatei muss im Base 64-Format vorliegen. Beispiel: trustedcert.b64-Dateien im Verzeichnis C:\certs\ erstellt durch dxcmd in Abschnitt Exportieren eines Zertifikats von eDirectory.

    3. Geben Sie für einen Java-Treiber den Pfad der Keystore-Datei an, die das Zertifikat enthält. Die Keystore-Datei muss mindestens ein Schlüsselpaar aus öffentlichem und privatem Schlüssel enthalten.

      Keystore-Datei

      Gibt den Pfad zur Java-Keystore-Datei an, die für die Authentifizierung verwendet werden soll. Die Keystore-Datei enthält Verschlüsselungsschlüssel und Zertifikate. Die Keystore-Datei muss mindestens ein Schlüsselpaar aus öffentlichem und privatem Schlüssel enthalten. Beispiel: Datei clientkmo_client.ks im Verzeichnis C:\certs\ erstellt durch dxcmd im Abschnitt Exportieren eines Zertifikats von eDirectory.

      Schlüssel-Alias

      Gibt den Namen des Schlüsselpaars aus öffentlichem und privatem Schlüssel in der Keystore-Datei an, mit dem symmetrische Schlüssel generiert werden sollen. Beispiel: clientkmo.

      Keystore-Passwort

      Gibt das Passwort an, mit dem die Keystore-Datei geladen wird.

      Passwort für privaten Schlüssel

      Gibt das Passwort für den privaten Schlüssel an, der im Keystore gespeichert ist. Mit diesem Schlüssel verschlüsselt Identity Manager die SSL-Kommunikation.

    4. Geben Sie für einen .NET-Treiber den Pfad zur Schlüsseldatei an, in dem das Zertifikat für die Authentifizierung gespeichert ist.

      Schlüsseldatei

      Gibt den Pfad zur Datei an, in der der Schlüssel für die Authentifizierung gespeichert ist. Beispiel:clientkmo_clientcert.pfx im Verzeichnis C:\certs\ erstellt durch dxcmd in Abschnitt Exportieren eines Zertifikats von eDirectory.

      Schlüsselpasswort

      Gibt das Passwort für den privaten Schlüssel für die Authentifizierung an.

      Herkunftsverbürgungsdatei

      Gibt den Namen der Datei an, die das Herkunftsverbürgungszertifikat des Herausgebers des Zertifikats für das Remote-Schnittstellenmodul enthält. Die Herkunftsverbürgungsdatei muss im Base 64-Format vorliegen. Beispiel: Datei trustedcert.b64 im Verzeichnis C:\certs\ erstellt durch dxcmd in Abschnitt Exportieren eines Zertifikats von eDirectory.

    5. Klicken Sie auf OK.

  6. Klicken Sie auf OK.