edoc Knowledge Base
Breadcrumbs

Keycloak-Update führt zu Problemen z.B. mit Single-Sign-On (SSO)

Komponente

edoc platform

Version

25.9.1

Erstellt am

Zuletzt geändert am

An error occurredFailed to render Workflows Metadata macro on page 2089353421 during export. If this problem continues, please contact our Customer Support Team for assistance.

Reviewstatus

An error occurredFailed to render Workflows Metadata macro on page 2089353421 during export. If this problem continues, please contact our Customer Support Team for assistance.

KB-Artikelnummer

1776058663

Zusammenfassung

Wenn auf edoc platform die installierten edoc-Anwendungen auf einer Version mit der Buildnr. 25.1.9 oder höher ausgeführt werden, wird Keycloak bei einer Synchronisierung automatisch auf die Version 24 aktualisiert. Es kann durch die Aktualisierung zu Problemen mit der Kerberos-Authentifizierung kommen.

Das Authentifizierungsproblem entsteht ursächlich dadurch, dass Keycloak 24 veraltete und unsichere Verschlüsselungsalgorithmen wie RC4-HMAC nicht mehr unterstützt. Das Problem betrifft vor allem ältere Active Directory (AD)-Benutzerkonten, die noch RC4-HMAC verwenden.

Sie können das Problem lösen, indem Sie die Benutzer auf den moderneren und sicheren AES256-Bit-Algorithmus (Advanced Encryption Standard, AES) umstellen und bei Bedarf die Keytab-Datei neu generieren.

Wichtige Voraussetzungen

Um die beschriebenen Probleme zu beheben, benötigen Sie Zugriff auf verschiedene Systeme und Kenntnisse.

  • Zugriff auf das System der Organisation in edoc system control: Zugang zum Kubernetes-Cluster der Organisation, um die Konfigurationen anzupassen.

  • SSH-Zugriff auf den edoc platform-Server: Sie müssen die sudo-Berechtigung haben.

  • Linux Shell-Kenntnisse: Fundierte Kenntnisse im Umgang mit der Linux-Befehlszeile, um Befehle wie klist und ktpass auszuführen.

  • Administrative Berechtigungen für Active Directory: Zugriff auf das Active Directory-Verzeichnis der Organisation, um die Benutzerkonten zu bearbeiten. Wenn das edoc-Team das System für Sie als Kunde betreut, ist in der Regel eine enge Zusammenarbeit erforderlich.

  • Hilfe durch IT-Experten bei edoc-betreuten Systemen: Die meisten Änderungen werden in Active Directory vorgenommen. Falls das edoc-Team Sie als Kunde betreut, ist die aktive Unterstützung durch Sie als unser Kunde (z.B. IT-Administrator:in) unerlässlich.

  • Zugriff auf edoc system control und Passwort des Dienstbenutzers: Wenn die Keytab-Datei neu generiert werden muss, müssen Sie über die entsprechenden Berechtigungen verfügen. Zudem Sie benötigen das Passwort des Servicebenutzers in Active Directory.

Lösung

Im ersten Schritt aktualisieren Sie die veraltete Verschlüsselung in Active Directory der Organisation. Anschließend aktualisieren Sie die Kerberos-Tickets auf dem Clientcomputer des Dienstbenutzers.

Falls weiterhin Probleme auftreten, müssen Sie die Keytab-Datei prüfen und reparieren.

Schritt 1: Verschlüsselung in Active Directory und Kerberos-Tickets aktualisieren

So aktualisieren Sie die veraltete AES256-Bit-Verschlüsselung:

  1. Gehen Sie zum Server mit Active Directory.

  2. Öffnen Sie Active Directory-Benutzer und -Computer.

  3. Navigieren Sie zum betroffenen Benutzerkonto des Dienstbenutzers.

  4. Öffnen Sie die Eigenschaften des Dienstbenutzers.

  5. Gehen Sie zur Registerkarte Konto und aktivieren Sie die Option Dieses Konto unterstützt Kerberos AES 256-Bit-Verschlüsselung.

  6. Speichern Sie die Änderungen.

So aktualisieren Sie die Kerberos-Tickets auf dem edoc platform-Servers:

  1. Gehen Sie zum edoc platform-Server, um die alten, mit RC4-HMAC verschlüsselten Tickets zu löschen.

  2. Öffnen Sie die Befehlszeile und führen Sie den Befehl klist purge aus, um den Kerberos-Ticketcache zu leeren.

Bei der nächsten Anmeldung wird automatisch ein neues Kerberos-Ticket mit AES256-Bit-Verschlüsselung ausgestellt, das von Keycloak 24 akzeptiert wird.

Falls das Problem nicht behoben wurde, müssen Sie die Keytab-Datei auf dem System der Organisation in edoc system control reparieren.

Schritt 2: Defekte oder veraltete “Keytab”-Datei reparieren

Wenn die Authentifizierung eines Benutzers immer noch nicht funktioniert, liegt das Problem an einer fehlerhaften oder veralteten Keytab-Datei. Die Keytab-Datei kann die Kommunikation zwischen Keycloak und Active Directory stören.

Sie müssen zunächst das Passwort des Keycloak-Dienstbenutzers in Active Directory zurücksetzen, um anschließend die Keytab-Datei neu zu generieren und in Kubernetes zu bereitstellen.

Gehen Sie folgendermaßen vor, um die Keytab-Datei zu aktualisieren:

  1. Gehen Sie zum Server mit Active Directory.

  2. Öffnen Sie Active Directory-Benutzer und -Computer.

  3. Setzen Sie das Passwort des Dienstbenutzers in Active Directory zurück, für den die Keytab-Datei erstellt wurde. Sie können dasselbe oder ein neues Passwort verwenden.

  4. Generieren Sie eine neue Keytab-Datei mit dem Befehl ktpass. Nutzen Sie folgendes Muster und ersetzen Sie die Platzhalter durch Ihre Daten:

    ktpass -out <file_name>.keytab -princ <ServicePrincipalName>@<REALM> -mapUser <User_name>@<DOMAIN> -pass <UserPassword> -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1
    
  5. Speichern Sie die neu erstellte Keytab-Datei lokal, um diese Datei in Ihrem Kubernetes-Cluster für die Kommunikation mit Keycloak bereitzustellen.

  6. Gehen Sie zu edoc system control und öffnen Sie das betroffene System in Ihrer Organisation.

  7. Klicken Sie bei dem System auf Details und auf der Systemseite auf Konfigurationen.

  8. Klicken Sie im Abschnitt Zertifikate auf Kerberos konfigurieren.

  9. Laden Sie auf der Seite Kerberos-Zertifikat konfigurieren die lokal gespeicherte Keytab-Datei hoch.

  10. Speichern Sie die Konfiguration.

Anschließend wird in edoc system control automatisch eine entsprechende Aufgabe vom Typ SyncSystemState erstellt, um den neuen Zustand des Systems zu synchronisieren.