Konfigurera NTLM/Kerberos SSO enkel inloggning för UBUNTU/RHEL/CentOS
Översikt
Kerberos SSO-tillägget gör det enklare att skaffa en Kerberos ticket-granting ticket (TGT) från din organisations Active Directory eller annan identitetsleverantörsdomän, vilket gör att användare kan autentisera till resurser som webbplatser, applikationer och filservrar.
Steg för att integrera Kerberos SSO LDAP för enkel inloggning (SSO)
Steg 1: Installera Kerberos Client Libraries på webbservern
För UBUNTU:
- Använd följande kommando på din terminal för att installera Kerberos-klientbiblioteken.
sudo apt-get install krb5-user
För RHEL/CentOS:
- Använd följande kommando på din terminal för att installera Kerberos-klientbiblioteken.
yum install krb5-workstation krb5-libs krb5-auth-dialog
Steg 2: Konfigurera Active Directory-domänen i Kerberos-konfigurationsfilen
Följande steg används för att konfigurera Active Directory-domänerna i Kerberos-konfigurationsfilen:
- Öppna och redigera filen /etc/krb5.conf.
- Lägg till följande konfigurationskod till filen krb5.conf.
- Spara filen.
EXAMPLE.ORG= { kdc = <AD DOMAIN CONTROLLER IP/DNS> :88 }
OBS: Ersätt AD DOMAIN CONTROLLER IP/DNS med din IP/DNS-adress. Säkerställa EXAMPLE.ORG ska stå i versaler.
Ersätt EXAMPLE.ORG med Active Directory-domännamnet.
Och se till att port 88 på AD Domain Controller är åtkomlig från denna server.
Steg 3: Installera auth_kerb-modulen för Apache
För UBUNTU:
- Använd följande kommando för att installera auth_kerb-modulen för Apache.
- När auth_kerb-modulen är installerad måste den aktiveras genom följande kommando.
- Efter aktivering startar du om Apache för att träda i kraft.
sudo apt-get install libapache2-mod-auth-kerb
a2enmod auth_kerb
För RHEL/CentOS:
- Använd följande kommando för att installera auth_kerb-modulen för Apache.
- Starta om Apache för att träda i kraft.
yum install mod_auth_kerb
Steg 4: Skapa Keytab-fil på AD Domain Controller
- På AD Domain Controller, kör följande kommando för att skapa Keytab-filen.
ktpass -princ HTTP/<Server Host Name>@EXAMPLE.ORG -pass PASSWORD
-mapuser <svc@EXAMPLE.ORG> -Ptype KRB5_NT_PRINCIPAL -out "<PATH>\spn.keytab"
OBS: Se till att EXAMPLE.ORG ska stå med versaler.
| Serverns värdnamn: | Det är värdnamnet för webbplatsen som finns på servern. |
| Serverns värdnamn: | Det är värdnamnet för webbplatsen som finns på servern. |
| EXAMPLE.ORG: | Det är Active Directory-domännamnet. |
| LÖSENORD: | Det är lösenordet för tjänstekontot som används ovan. |
| svc@EXAMPLE.ORG: | Det är ett tjänstekonto i Active Directory. |
| Väg: | Sökväg till en lokal plats som lagrar keytab-filen. |
- Servicekontot har några förutsättningar:
- Kontolösenordet bör ha ett lösenord inställt på Ej utgången.
- Kontot bör vara pålitligt för delegering.
- kopiera Tangentbord fil från AD Domain Controller till webbservern på Apache.
OBS: Kommandot ovan skapar en keytab-fil. Den måste placeras på servern. Användaren som kör Apache bör ha full åtkomst till den här filen. Användaren bör ha behörighet till keytab-filen.
Steg 5: Konfigurera Kerberos SSO för webbplatskatalogen
För UBUNTU:
- Redigera filen /etc/apache2/sites-enabled/000-default.conf.
- Lägg till följande avsnitt i katalogen på webbplatsen.
<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:
- Redigera auth_kerb.conf-konfigurationsfilen i mappen /etc/httpd/conf.d/.
- Lägg till följande avsnitt i katalogen på webbplatsen.
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>
OBS: Se till att EXAMPLE.ORG ska stå i versaler.
Följande är komponenterna i ovanstående konfiguration:
| EXAMPLE.ORG: | Detta är Active Directory-domänen som konfigurerats i krb5.conf. |
| SÖG TILL TANGENTTABB: | Tillgänglig sökväg till tangentbordet på den här servern. |
- Efter denna konfiguration måste Apache startas om för att ändringarna ska träda i kraft.
Felsökning
Det här är de vanligaste felmeddelandena:
- Felaktiga filsystemsbehörigheter för /etc/krb5.keytab, dvs inte läsbar för webbserverns Linux-användare.
- För att ändra filsystemets behörigheter använd $ chmod 400 filnamn.
- Saknar tjänstehuvud (möjligen HTTP/webserver.dindomän.com@DINDOMÄN.COM) i /etc/krb5.keytab.
- Webbplatsen är inte i zonen "Lokalt intranät" i IE eller IE är felaktigt konfigurerad, se Autentisering använder NTLM istället för Kerberos.
- Fel kvno eller maskinlösenord i /etc/krb5.keytab → återskapa tangentbordet med rätt information.
- Problem med lokal Kerberos-biljettcache på din arbetsstation, använd Kerbtray.exe för att rensa biljettcachen och öppna webbplatsen i IE igen.
gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Permission denied).
gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Key table entry not found).
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)
gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, ).
