Durchsuchbare Dokumentation aufrufen

Zurück zur Dokumentationsübersicht

SSO über Kerberos einrichten

Single Sign-on (SS) beschreibt ein Verfahren, mit der ein Benutzer nach einer einmaligen Authentifizierung Zugriff auf mehrere Services und Ressourcen erhält.

Ein Anwender meldet sich etwa einmalig auf seinem Windows-Rechner an und kann agorum core direkt öffnen, ohne sich erneut im Browser anzumelden.

Sie benötigen Fachwissen im Bereich der Domänen- sowie DNS-Administration, um Single Sign-on über Kerberos einzustellen.

Voraussetzungen


Sie müssen eine Verbindung zu Ihrem Active Directory- oder LDAP-System hergestellt haben, um Single Sign-on nutzen zu können.

Den Server konfigurieren


Im 1. Schritt konfigurieren Sie den Server ein, auf dem Sie agorum core installiert haben.

Den Windows-Server konfigurieren

Falls Sie agorum core auf einem Windows-Server installiert haben, konfigurieren Sie den Windows-Server.

  1. Legen Sie einen Rechnernamen fest.

    Beispiel
    agorum
  2. Treten Sie der Domäne bei.

    Beispiel
    mydomain.com

Den Linux-Server konfigurieren

Falls Sie agorum core auf einem Linux-Server installiert haben, konfigurieren Sie den Linux-Server.

  1. Tragen Sie den Domain-Controller als DNS-Server ein (über resolv.conf).

Den Domain-Controller konfigurieren


Im 2. Schritt konfigurieren Sie den Domain-Controller.

  1. Nehmen Sie Ihren agorum core-Server in die Domain auf.

    Beispiel
    agorum.mydomain.com
  2. Prüfen Sie den DNS-Eintrag auf eine korrekte IP-Adresse (A-Record).
  3. Legen Sie einen neuen Eintrag an, sofern nötig.

Beispiel


Rechnername + Domain zu IP-Adresse des agorum core-Servers

nslookup agorum.mydomain.com -> 1.2.3.4

IP-Adresse des agorum core server zu Rechnername + Domain

nslookup 1.2.3.4 -> agorum.mydomain.com

Kerberos im agorum core support tool konfigurieren


Im 3. Schritt konfigurieren Sie Kerberos im agorum core support tool.

  1. Öffnen Sie links in der Seitenleiste Weitere Apps und dann support tool.
  2. Wählen Sie links im Menü Base System > Actions > SSO.
  3. Tragen Sie Ihre Daten in die Felder ein.

    Tragen Sie bei Host den qualifizierten Namen (Rechner + Domain) der Maschine ein.
  4. Klicken Sie auf Join, um die Verbindung einzurichten.

    Ergebnis: Das System testet die Einrichtung im Anschluss automatisch.

    • Schlägt der Test fehl, speichert das System die eingetragenen Daten nicht.
    • Aktivieren Sie die Einstellung Ignore test, um den Test zu ignorieren (nicht empfohlen).

    Hinweise:
    • Durch die Schaltfläche join testet das System die NTLM-Unterstützung.
    • Die NTLM-Unterstützung ist bei aktuellen Domain-Controllern (aktuelle Windows-Updates) nicht mehr gegeben.
    • Aktivieren Sie die Einstellung Ignore test zwingend, bis dieser Test nicht mehr Bestandteil des Join-Vorgangs ist, um den Join erfolgreich durchführen zu können (Stand: April 2021).

Kerberos im agorum core support tool konfigurieren

agorum core neu starten


Im 4. Schritt starten Sie nach Fertigstellung der Einrichtung agorum core neu.

Die Kerberos-Authentifizierung manuell testen


Im 5. Schritt testen Sie im agorum core support tool die Kerberos-Authentifizierung manuell.

  1. Wählen Sie im agorum core support tool links im Menü Base System > Checks > Authentication.
  2. Tragen Sie im Feld Username den Namen des Benutzers ein, der den Test durchführt.
  3. Geben Sie die zu testende Domain im gleichnamigen Feld ein.
  4. Geben Sie das Password des gewählten Benutzers im gleichnamigen Feld ein.
  5. Klicken Sie oben links auf Execute Check.

    Ergebnis: Das System für den Test durch.

    Hinweis: Der NTLM-Test schlägt bei Domain-Controllern mit einem aktuellen Stand fehl, da Windows den Test nicht mehr unterstützt (Stand: April 2021).

Die Kerberos-Authentifizierung manuell testen
 

Clients einstellen


Im letzten Schritt stellen Sie die Clients ein, damit SSO funktioniert.

Client Einstellungen auf Windows

IE, Edge, Chrome, WebDAV

Internetoptionen > Sicherheit > Lokales Intranet > Server, falls nötig, hinzufügen

Hinweis: Die automatische Anmeldung funktioniert nicht, wenn der Server nicht in der Zone für vertrauenswürdige Sites eingetragen ist.

Firefox

about:config -> network.negotiate-auth.trusted-uris: .domainname.com

WebDAV

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

AuthForwardServerList (Multi-String Value/Wert der mehrteiligen Zeichenfolge [sic])

https://*.domainname.com

http://*.domainname.com

FileSizeLimitInBytes: 0xffffffff

FileAttributesLimitInBytes: 0xffffffff

Tipp: Sie können NTLM SSO in Firefox per Group Policy erlauben.

Die automatische Anmeldung deaktivieren


Ein manuelles Anmeldefeld erhalten Sie mit:

https://<Ihre Serveradresse>&login=true


Beispiel

https://agorum.com/roiwebui/home_module/?noCache=1820901898&login=true

Wenn Sie Probleme mit Kerberos haben


Java kann den Namen per DNS nicht auflösen


Beschreibung des Problems

Java kann den Namen per DNS nicht auflösen. Die Kommandozeile per nslookup liefert allerdings das korrekte Ergebnis. Ein falsches Passwort ist ausgeschlossen (in der Regel ist ein falsches Passwort die Ursache für die Fehlerausgabe im agorum core support tool). In einem Fall (Ursache unklar) konnte Java den Namen per DNS nicht auflösen.

Fehlerausgabe im support tool:

SSO could not authenticate to the domain controller for user administrator@DOMAIN.LOCAL

Auszug aus Details:
....


Caused by: java.net.UnknownHostException: testserver.testumgebung.local

at java.net.InetAddress.getAllByName0(InetAddress.java:1280)

at java.net.InetAddress.getAllByName(InetAddress.java:1192)


Ursache

Eine Ursache ist bislang nicht bekannt.


Lösung

  1. Tragen Sie in die Datei hosts auf dem Server den Domain-Controller ein:
    <IP des Domaincontrollers> testserver.testumgebung.local

Ungültige krb5.conf/krb5.ini


Beschreibung des Problems

Das System meldet eine ungültige Datei namens krb5.conf/krb5.ini (Kerberos-Konfigurationsdatei).


Ursache

Die Kerberos-Konfigurationsdatei ist falsch konfiguriert.


Lösung

Die Kerberos-Konfigurationsdatei auf dem agorum core-Server muss korrekt sein, sofern vorhanden, da das System die dort hinterlegten Einstellungen bevorzugt verwendet.

Sie finden diese Datei unter dem Pfad:

/etc/krb5.conf
bzw.
%windir%\krb5.ini

Fehlercode 63 (No service creds)


Beschreibung des Problems

Das System meldet den Fehlercode 63 (No service creds).


Ursache

Das System konnte den Kerberos-Realm nicht ermittelt, oder er ist ungültig.


Lösung

  1. Stellen Sie sicher, dass der agorum core-Server der gewünschten Domäne bereits beigetreten ist (nur Windows).
  2. Stellen Sie sich, dass in der Datei krb5.conf/krb5.ini (sofern vorhanden) der Eintrag für default_realm korrekt ist.

    Der Realm-Name:

    • stimmt im Regelfall mit dem Namen der Domäne überein
    • muss immer in Großbuchstaben geschrieben werden

LDAP: error code 19 - 000021C7: AtrErr: DSID-03200BE2, #1: 0: 000021C7: DSID-03200BE2, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 90303 (servicePrincipalName)


Beschreibung des Problems

Das System meldet den oben genannten Fehler.


Ursache

Dieser oder ein ähnlicher Fehler tritt bei nicht an den erstellten Account zugewiesenen SPNs auf, weil sie bereits an einem anderen Benutzer-/Computer-Objekt im AD verwendet werden.


Lösung

  1. Prüfen Sie die Verfügbarkeit folgender SPNs im Active Directory:

    • agorum/<host
    • HTTP/<host>
    • cifs/<host>
  2. Lösen Sie die Zuweisung auf oder löschen Sie das andere Objekt.

Benutzer mit Umlauten im Benutzernamen werden per Single Sign-on nicht automatisch angemeldet


Beschreibung des Problems

Benutzer mit Umlauten im Benutzernamen werden nicht automatisch in der Weboberfläche angemeldet. Im agorum core support tool erscheint etwa folgende Fehlermeldung:

Authentication failed
Illegal call to acceptSecContext


Ursache

Der AD-Server ist nicht auf UTF-8 eingestellt, sondern arbeitet mit einem anderen Zeichensatz.


Lösung

Stellen Sie den Zeichensatz beim Starten von agorum core für die Übermittlung des Benutzernamens ein, damit das System die Benutzer automatisch über die Weboberfläche anmeldet:


Unter Linux

  1. Bearbeiten Sie die Dateien roi_jboss und roi_jboss.bat im Verzeichnis scripts von agorum core.
  2. Suchen Sie innerhalb der Dateien folgende ähnlich aussehende Zeile:
    JAVA_OPTS="${JAVA_OPTS} -Xrs -Xms4096m -Xmx4096m...
    
  3. Ergänzen Sie den Inhalt um eine weitere Zeile:
    JAVA_OPTS="${JAVA_OPTS} -Dsun.security.krb5.msinterop.kstring=true -Dsun.security.krb5.msinterop.des.s2kcharset=iso-8859-1"
    
  4. Starten Sie agorum core neu.


Unter Windows

  1. Bearbeiten Sie die Dateien roi_jboss und roi_jboss.bat im Verzeichnis scripts von agorum core.
  2. Suchen Sie innerhalb der Dateien folgende ähnlich aussehende Zeile:
    set JAVA_OPTS=%JAVA_OPTS% -Xrs -Xms4096m -Xmx4096m...
    
  3. Ergänzen Sie den Inhalt um eine weitere Zeile:
    set JAVA_OPTS=%JAVA_OPTS% -Dsun.security.krb5.msinterop.kstring=true -Dsun.security.krb5.msinterop.des.s2kcharset=iso-8859-1
    
  4. Starten Sie agorum core neu.

SMB-Laufwerk kann bei Verwendung von Kerberos nicht verbunden werden


Beschreibung des Problems

Seit Anfang 2023 wurde eine Reihe von Updates ausgerollt, die das Verhalten von Windows-Clients bei der Anmeldung an SMB-Shares per Kerberos ändern und dazu führen können, dass agorum core-Shares nicht verbunden werden können.


Lösung

Setzen Sie eine Option im Startskript.


Unter Linux

  1. Bearbeiten Sie die Dateien roi_jboss und roi_jboss.bat im Verzeichnis scripts von agorum core.
  2. Suchen Sie innerhalb der Dateien folgende ähnlich aussehende Zeile:
    JAVA_OPTS="${JAVA_OPTS} -Xrs -Xms4096m -Xmx4096m...
    
  3. Ergänzen Sie den Inhalt um eine weitere Zeile:
    JAVA_OPTS="${JAVA_OPTS} -Dsun.security.spnego.msinterop=false"
    
  4. Starten Sie agorum core neu.


Unter Windows

  1. Bearbeiten Sie die Dateien roi_jboss und roi_jboss.bat im Verzeichnis scripts von agorum core.
  2. Suchen Sie innerhalb der Dateien folgende ähnlich aussehende Zeile:
    set JAVA_OPTS=%JAVA_OPTS% -Xrs -Xms4096m -Xmx4096m...
    
  3. Ergänzen Sie den Inhalt um eine weitere Zeile:
    set JAVA_OPTS=%JAVA_OPTS% -Dsun.security.spnego.msinterop=false
    
  4. Starten Sie agorum core neu.

Mechanism level: AES256 CTS mode with HMAC SHA1-96 encryption type not in permitted_enctypes list
Mechanism level: Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled


Beschreibung des Problems

Das System meldet den oben genannten Fehler im support tool unter Base System > Session Control. Anmeldungen per Kerberos schlagen fehl.


Ursache

Es handelt sich bei der verwendeten Java-VM vermutlich um eine Version vor 8u151. In diesen Versionen müssen Sie höhergradige Verschlüsselungsverfahren (so auch AES-256) erst freischalten.


Lösung

  1. Laden Sie die Datei http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip herunter und entpacken Sie sie.
  2. Verschieben Sie die enthaltenen Dateien in das Verzeichnis …/java/jre/lib/security unterhalb der agorum core-Installation.
  3. Ersetzen Sie hierbei die bereits vorhandenen Dateien.
  4. Starten Sie agorum core neu.