Suchergebnisse :

×

Einrichten von NTLM/Kerberos SSO Single Sign-On für UBUNTU/RHEL/CentOS

Die Kerberos-SSO-Erweiterung erleichtert den Erhalt eines Kerberos-Ticket-Granting-Tickets (TGT) aus dem Active Directory Ihres Unternehmens oder einer anderen Identitätsanbieterdomäne und ermöglicht Benutzern die Authentifizierung bei Ressourcen wie Websites, Anwendungen und Dateiservern.


Für UBUNTU:

  • Verwenden Sie den folgenden Befehl auf Ihrem Terminal, um die Kerberos-Clientbibliotheken zu installieren.
  • sudo apt-get install krb5-user

Für RHEL/CentOS:

  • Verwenden Sie den folgenden Befehl auf Ihrem Terminal, um die Kerberos-Clientbibliotheken zu installieren.
  • yum install krb5-workstation krb5-libs krb5-auth-dialog

Die folgenden Schritte werden verwendet, um die Active Directory-Domänen in der Kerberos-Konfigurationsdatei zu konfigurieren:

  • Öffnen und bearbeiten Sie die Datei /etc/krb5.conf.
  • Fügen Sie den folgenden Konfigurationsausschnitt zur Datei krb5.conf hinzu.
  • EXAMPLE.ORG= { kdc = <AD DOMAIN CONTROLLER IP/DNS> :88 }

    Anmerkungen: Ersetzen Sie die IP/DNS des AD-DOMAIN-CONTROLLERS mit Ihrer IP/DNS-Adresse. Stellen Sie sicher, BEISPIEL.ORG sollte in Großbuchstaben geschrieben werden.

    Ersetzen Sie die BEISPIEL.ORG mit dem Active Directory-Domänennamen.

    Und stellen Sie sicher, dass der Port 88 auf dem AD-Domänencontroller von diesem Server aus zugänglich ist.


  • Speichern Sie die Datei.

Für UBUNTU:

  • Verwenden Sie den folgenden Befehl, um das auth_kerb-Modul für Apache zu installieren.
  • sudo apt-get install libapache2-mod-auth-kerb
  • Sobald das Modul auth_kerb installiert ist, muss es mit dem folgenden Befehl aktiviert werden.
  • a2enmod auth_kerb
  • Starten Sie Apache nach der Aktivierung neu, damit es wirksam wird.

Für RHEL/CentOS:

  • Verwenden Sie den folgenden Befehl, um das auth_kerb-Modul für Apache zu installieren.
  • yum install mod_auth_kerb
  • Starten Sie Apache neu, damit es wirksam wird.
  • Führen Sie auf dem AD-Domänencontroller den folgenden Befehl aus, um die Keytab-Datei zu erstellen.
  • ktpass -princ HTTP/<Server Host Name>@EXAMPLE.ORG -pass PASSWORD -mapuser <svc@EXAMPLE.ORG> -Ptype KRB5_NT_PRINCIPAL -out "<PATH>\spn.keytab"

    Anmerkungen: Stellen Sie sicher, dass EXAMPLE.ORG in Großbuchstaben geschrieben ist.


Server-Hostname: Dies ist der Hostname der auf dem Server gehosteten Site.
Server-Hostname: Dies ist der Hostname der auf dem Server gehosteten Site.
BEISPIEL.ORG: Es handelt sich um den Active Directory-Domänennamen.
PASSWORT: Es handelt sich um das Passwort des oben verwendeten Dienstkontos.
svc@EXAMPLE.ORG: Es handelt sich um ein Dienstkonto im Active Directory.
Pfad: Pfad zu einem lokalen Speicherort, an dem die Keytab-Datei gespeichert wird.

    Anmerkungen: Der obige Befehl erstellt eine Keytab-Datei. Sie muss auf dem Server abgelegt werden. Der Benutzer, der Apache ausführt, sollte vollen Zugriff auf diese Datei haben. Der Benutzer sollte über die Berechtigung für die Keytab-Datei verfügen.


  • Für das Dienstkonto gelten einige Voraussetzungen:
    • Für das Kontokennwort sollte ein Kennwort festgelegt sein Nicht abgelaufen.
    • Dem Konto sollte für die Delegierung vertraut werden.
  • Kopieren Sie die Keytab Datei vom AD-Domänencontroller auf den auf Apache gehosteten Webserver übertragen.

Für UBUNTU:

  • Bearbeiten Sie die Datei /etc/apache2/sites-enabled/000-default.conf.
  • Fügen Sie den folgenden Abschnitt im Verzeichnis der Site hinzu.
  • <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

Für RHEL/CentOS:

  • Bearbeiten Sie die Konfigurationsdatei auth_kerb.conf im Ordner /etc/httpd/conf.d/.
  • Fügen Sie den folgenden Abschnitt im Verzeichnis der Site hinzu.
  • LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_kerb.so <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

    Anmerkungen: Stellen Sie sicher, dass EXAMPLE.ORG in Großbuchstaben geschrieben ist.


Im Folgenden sind die Komponenten der obigen Konfiguration aufgeführt:

BEISPIEL.ORG: Dies ist die Active Directory-Domäne, wie in krb5.conf konfiguriert.
PFAD ZUM KEYTAB: Zugänglicher Pfad zum Keytab auf diesem Server.
  • Nach dieser Konfiguration muss Apache neu gestartet werden, damit die Änderungen wirksam werden.

Dies sind die häufigsten Fehlermeldungen:

    gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Permission denied).
  • Falsche Dateisystemberechtigungen für /etc/krb5.keytab, dh für den Linux-Benutzer des Webservers nicht lesbar.
  • Um Dateisystemberechtigungen zu ändern, verwenden Sie $ chmod 400 Dateiname.
  • gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Key table entry not found).
  • Fehlender Dienstprinzipal (möglicherweise HTTP/webserver.yourdomain.com@YOURDOMAIN.COM) in /etc/krb5.keytab.
  • Warning: received token seems to be NTLM, which isn't supported by the Kerberos module. Check your IE configuration. gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)
  • Die Website befindet sich nicht in der Zone „Lokales Intranet“ im IE oder der IE ist falsch konfiguriert, siehe Authentifizierung verwendet NTLM statt Kerberos.
  • gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, ).
  • Falsches KVNO- oder Maschinenkennwort in /etc/krb5.keytab → Erstellen Sie die Schlüsseltabelle mit den richtigen Informationen neu.
  • Problem mit dem lokalen Kerberos-Ticket-Cache auf Ihrer Arbeitsstation. Verwenden Sie Kerbtray.exe, um den Ticket-Cache zu leeren und die Website erneut im IE zu öffnen.

ADFS_sso ×
Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Unterstützung