Sökresultat :

×


"Tack för ditt svar. Vi återkommer snart."

"Något gick fel. Skicka din fråga igen."

Översikt


Kerberos-protokoll:

Kerberos är en kryptografibaserat autentiseringsprotokoll som skyddar åtkomsten till applikationer. Detta protokoll är utformat för att tillhandahålla säker autentisering över ett osäkert nätverk. Nyckelidén bakom Kerberos är att autentisera användare samtidigt som man förhindrar att lösenord skickas över internet.


miniorange ikon

Kerberos/NTLM Single Sign On (SSO)

Av miniOrange

Läs mer

Kerberos termer:

Kerberos: Kerberos är ett autentiseringsprotokoll som stöder konceptet Single Sign-On (SSO). När det gäller HTTP tillhandahålls stöd för Kerberos vanligtvis med termen "SPNEGO"-autentiseringsmekanism.

Kerberos Realm: En administrativ domän för autentisering betecknas med termen sfär. Dess mål är att definiera begränsningarna för när en autentiseringsserver kan autentisera en användare, värd eller tjänst. Detta innebär inte att en användare och en tjänst måste vara medlemmar i samma sfär för att autentisering ska ske: om de två objekten är anslutna via en förtroendeanslutning trots att de tillhör olika sfärer kan autentisering fortfarande ske.

Rektor: I ett Kerberos-system representerar en Kerberos Principal en distinkt identitet till vilken Kerberos kan utfärda biljetter för åtkomst till Kerberos-medvetna tjänster. "/"-avgränsaren används för att separera de olika komponenterna som utgör huvudnamnen. Tecknet "@" kan användas för att identifiera en sfär som namnets sista element. Om ingen sfär är angiven, antas det att rektorn tillhör standardområdet som är inställd i filen krb5.conf.

Kunder/användare: en process som får åtkomst till en tjänst på uppdrag av en användare. Det kan finnas flera klienter eller användare inom en sfär.

Service: Något användaren vill få tillgång till.

SSO: Single Sign-On är en procedur som gör det möjligt för en användare att bara logga in en gång och få tillgång till många tjänster efter att ha slutfört användarautentisering. Efter att ha loggat in på en primär tjänst innebär detta autentisering i varje tjänst som användaren har gett behörighet till. SSO har ett antal fördelar, varav en är att undvika den tröttsamma processen att upprepade gånger validera identitet med hjälp av lösenord eller andra autentiseringssystem.

GSSAPI: Program kan komma åt säkerhetstjänster genom Generic Security Service Application Program Interface (GSSAPI), som är ett applikationsprogrammeringsgränssnitt (API). En IETF-standard är GSSAPI. Den erbjuder ingen säkerhet i sig. Istället erbjuds GSSAPI-implementeringar av leverantörer av säkerhetstjänster. Utbytet av ogenomskinliga meddelanden (tokens), som döljer implementeringsdetaljen från applikationen på högre nivå, är det utmärkande kännetecknet för GSSAPI-applikationer.

SPNEGO: Klient-serverprogramvara använder den enkla och skyddade GSSAPI-förhandlingsmekanismen, ofta kallad "spen-go", för att förhandla om valet av säkerhetsteknik. När en klientapplikation måste logga in på en fjärrserver men ingen ände är säker på vilka autentiseringsprotokoll den andra stöder, används SPNEGO. Pseudomekanismen använder ett protokoll för att identifiera de tillgängliga vanliga GSSAPI-mekanismerna, väljer en och tilldelar sedan alla efterföljande säkerhetsåtgärder till den valda mekanismen.

KDC: Ett nyckeldistributionscenter är en nätverkstjänst som tillhandahåller biljetter och tillfälliga sessionsnycklar; eller en instans av den tjänsten eller den värd som den körs på. KDC betjänar både initiala biljett- och biljettförfrågningar. Den initiala biljettdelen kallas ibland för autentiseringsservern (eller tjänsten). Den biljettbeviljande biljettdelen hänvisas ibland till som den biljettbeviljande servern (eller tjänsten).


NTLM Authentication Protocol

En klients åtkomst till en resurs på en Active Directory-domän kan autentiseras med hjälp av autentiseringsprotokollet för utmaningssvar som kallas Windows NT LAN Manager (NTLM). När en klient begär åtkomst till en domänrelaterad tjänst, skickar tjänsten en utmaning till klienten och instruerar den att använda sin autentiseringstoken för att utföra en matematisk operation och sedan tillhandahålla resultatet till tjänsten. Resultatet kan verifieras av tjänsten eller verifieras av domänkontrollanten (DC). Tjänsten ger åtkomst till klienten om DC eller tjänsten verifierar att klientens svar är korrekt.
Eftersom det tillåter användaren att endast ange den underliggande autentiseringsfaktorn en gång, under inloggning, är NTLM en sorts enkel inloggning (SSO).


NTLM Authentication Protocol single sign-on (SSO) flöde
  • Smakämnen NEGOTIATE_MESSAGE definierar ett NTLM Negotiate-meddelande som skickas från klienten till servern. Med det här meddelandet kan klienten specificera sina NTLM-alternativ som stöds till servern.
  • Smakämnen CHALLENGE_MESSAGE definierar ett NTLM-utmaningsmeddelande som skickas från servern till klienten och det används av servern för att utmana klienten att bevisa sin identitet.
  • Smakämnen AUTHENTICATE_MESSAGE definierar ett NTLM-autentiseringsmeddelande som skickas från klienten till servern efter att CHALLENGE_MESSAGE har bearbetats av klienten.

Windows-autentisering använder antingen Kerberos-autentiseringsprotokoll eller NTLM-autentiseringsprotokoll, beroende på klient- och serverkonfigurationer.

Kerberos Authentication Protocol


Ett säkerhetsprotokoll för datornätverk som kallas Kerberos autentiserar tjänsteförfrågningar mellan två eller flera betrodda värdar över ett opålitligt nätverk, till exempel internet
  • Meddelande A: Klient-/TGS-sessionsnyckel krypterad med klientens/användarens hemliga nyckel.
  • Meddelande B: Ticket-Granting-Ticket krypterad med den hemliga nyckeln till TGS.
  • Meddelande C: Består av TGT från meddelande B och ID för den begärda tjänsten.
  • Meddelande D: Authenticator krypterad med klient/TGS-sessionsnyckeln.
  • Meddelande E: Klient-till-server-biljett krypterad med hjälp av tjänstens hemliga nyckel.
  • Meddelande F: Klient-/serversessionsnyckel krypterad med klient-/TGS-sessionsnyckeln.
  • Meddelande G: En ny Authenticator, som inkluderar klient-ID, tidsstämpel och är krypterad med klient-/serversessionsnyckel.
  • Meddelande H: Tidsstämpeln som hittas i klientens Authenticator krypterad med klient-/serversessionsnyckeln.

Kerberos SSO på Ubuntu/Debian


Förkunskaper:

  1. Ett tjänstekonto/användarkonto i Active Directory.
  2. Kontolösenordet bör ha ett lösenord inställt på Ej utgången.

miniorange ikon

Kerberos/NTLM Single Sign On (SSO)

Av miniOrange

Läs mer

Steg 1: Skapa Keytab-fil på AD Domain Controller.

  • På AD Domain Controller öppnar du kommandotolken i administratörsläget och utför följande kommando för att skapa Keytab-filen.
  • ktpass -princ HTTP/<Server Host Name>@EXAMPLE.COM -mapuser <username@EXAMPLE.COM>
    -pass password -ptype KRB5_NT_PRINCIPAL -out <PATH>\spn.keytab

    Notera: Se till EXAMPLE.COM ska stå med versaler. Om användaren med SPN redan finns, använd den användaren för att skapa en ny. Kerberos-principen är skiftlägeskänslig. Kontrollera om det finns skillnader i versaler/gemener innan du kör tangentbordskommandot.

  • Följande är komponenterna i kommandot.
  • Serverns värdnamn: Det är värdnamnet för webbplatsen som finns på servern.
    EXAMPLE.COM: Det är Active Directory-domännamnet.
    Användarnamn: Det är ett tjänstekonto i Active Directory.
    Lösenord: Det är lösenordet för tjänstekontot som används ovan.
    Väg: Sökväg till en lokal plats som lagrar keytab-filen. (C:\Temp\spn.keytab)

Notera: Kommandot ovan skapar en keytab-fil. Den måste placeras på klientservern där din WordPress-webbplats finns. 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.


  • Öppna Active Directory-användare och -datorer och välj Visa >> Avancerade funktioner från toppmenyn.
  • Öppna tjänstekontot och gå till attributredigeringsfliken, bläddra till servicePrincipalName för att verifiera SPN-posten.
  • Navigera till fliken Delegering.
  • Välj Lita på den här användaren för delegering till valfri tjänst (endast Kerberos).
  • Kerberos tjänst SSO Delegation för Windows Active Directory
  • Klicka på Apply.

  • kopiera Tangentbord fil från AD Domain Controller till webbservern på Apache.
  • Ge behörighet till kerberos keytab-fil:
  • chmod 644 etc/apache2/spn.keytab

Steg 2: Installera kerberos klientbibliotek på webbservern.

  • Använd följande kommando på din terminal för att installera Kerberos-klientbiblioteken.
  • sudo apt-get install krb5-user

Steg 3: Installera moduler för Apache.

Notera: I de senaste utgåvorna av Ubuntu/Debian, mod_auth_kerb har föråldrats och ersatts med mod_auth_gssapi.

1: Installera mod_auth_kerb-modulen för Apache.
  • Använd följande kommando för att installera auth_kerb-modulen för Apache på debianbaserade system:
  • sudo apt-get install libapache2-mod-auth-kerb
  • När auth_kerb-modulen är installerad måste den aktiveras genom följande kommando.
  • a2enmod auth_kerb
  • Efter aktivering startar du om Apache för att träda i kraft.

Or


2: Installera mod-auth-gssapi-modulen för Apache.
  • Använd följande kommando för att installera modulen libapache2-mod-auth-gssapi för Apache på debianbaserade system:
  • sudo apt-get -y install libapache2-mod-auth-gssapi

Steg 4: Konfigurera Active Directory-domänen i Kerberos-konfigurationsfilen.

  • Öppna och redigera krb5.conf fil.
    Sökvägen till filen krb5.conf för linux är C:/etc/krb5.conf och för andra UNIX-baserat system är c:/etc/krb5/krb5.conf
  • Lägg till följande konfigurationskodavsnitt till krb5.conf fil under nämnda avsnitt:
  • [libdefaults]
    default_realm = EXAMPLE.COM
    # ...
    # ...
    [realms]
    EXAMPLE.COM = {
    kdc = <DNS entries pointing to your primary domain controller>: Port
    admin_server = <DNS entries pointing to your primary domain controller>: Port
    }
    [domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

    Notera: Ersätt AD DOMAIN CONTROLLER IP/DNS med din IP/DNS-adress. Säkerställa EXAMPLE.COM ska stå i versaler.
    Ersätt EXAMPLE.COM med Active Directory-domännamnet.
    Och se till att port 88 på AD Domain Controller är åtkomlig från denna server.

  • Spara filen.

Steg 5: Konfigurera Kerberos SSO för webbplatskatalogen

  • Redigera den pålagda virtuella värdkonfigurationsfilen som lagras under /etc/apache2/sites-enabled katalog eller den virtuella standardvärdfilen med namnet 000-default.conf

  • Notera: Lägg till följande avsnitt i katalogen enligt vilken apache-modul som används. T.ex: "mod_auth_kerb" or "mod_auth_gssapi".

  1. Lägg till följande avsnitt i katalogen på webbplatsen för mod_auth_kerb.
  2. <Directory "/placeholder">
        AuthType Kerberos
        KrbAuthRealms EXAMPLE.COM
        KrbServiceName HTTP/<Server Host Name>
        Krb5Keytab <PATH TO KEYTAB>
        KrbMethodNegotiate on
        KrbMethodK5Passwd on
        require valid-user
    </Directory>

    Or


  3. Lägg till följande avsnitt i katalogen på webbplatsen för mod_auth_gssapi.
  4. <IfModule !mod_auth_gssapi.c>
        LoadModule auth_gssapi_module /usr/lib64/httpd/modules/mod_auth_gssapi.so
    </IfModule>
    <Directory "/placeholder">
        AuthType GSSAPI
        AuthName "Kerberos auth"
        GssapiAllowedMech krb5
        GssapiBasicAuth On
        GssapiCredStore keytab:<PATH TO KEYTAB>
        GssapiLocalName On
        BrowserMatch Windows gssapi-no-negotiate
        Require valid-user
    </Directory>

    Notera: Se till EXAMPLE.COM ska stå i versaler.
    Följande är komponenterna i ovanstående konfiguration:

    EXAMPLE.COM: 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. (etc/spn.keytab)
  • Efter denna konfiguration måste Apache startas om för att ändringarna ska träda i kraft.

När du har konfigurerat inställningarna, Klicka här för att konfigurera webbläsare för Kerberos SSO.

För att testa din Kerberos/NTLM SSO-konfiguration, klicka här.

För att felsöka eventuella fel, vänligen klicka här.

Kerberos SSO på RHEL / CentOS

Förutsättningar för servicekonto:

  1. Kontolösenordet bör ha ett lösenord inställt på Ej utgången.
  2. Kontot bör vara pålitligt för delegering.

Om du inte har ett tjänstekonto, skapa ett nytt användarkonto (tjänstkonto) i Active Directory Users and Computers. Se till att det här objektet inte har några SPN-poster (attributet servicePrincipalName ska vara tomt) tilldelade.


miniorange ikon

Kerberos/NTLM Single Sign On (SSO)

Av miniOrange

Läs mer

Steg 1: Skapa Keytab-fil på AD Domain Controller.

  • På AD Domain Controller öppnar du kommandotolken i administratörsläge och utför följande kommando för att skapa Keytab-filen.
  • ktpass -princ HTTP/<Server Host Name>@EXAMPLE.COM -mapuser <username@EXAMPLE.COM>
    -pass password -ptype KRB5_NT_PRINCIPAL -out <PATH>\spn.keytab

    OBS: Se till EXAMPLE.COM ska stå med versaler. Kerberos-principen är skiftlägeskänslig. Kontrollera om det finns skillnader i versaler/gemener innan du kör tangentbordskommandot.

  • Följande är komponenterna i kommandot.
Serverns värdnamn: Det är värdnamnet för webbplatsen som finns på servern.
EXAMPLE.COM: Det är Active Directory-domännamnet.
Användarnamn: Det är ett tjänstekonto i Active Directory.
Lösenord: Det är lösenordet för tjänstekontot som används ovan.
Väg: Sökväg till en lokal plats som lagrar keytab-filen. (C:\Temp\spn.keytab)

Notera: Kommandot ovan skapar en keytab-fil. Den måste placeras på klientservern där din WordPress-webbplats finns. 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.



  • kopiera Tangentbord fil från AD Domain Controller till webbservern på Apache.
  • Ge behörighet till kerberos keytab-fil:
  • chmod 644 etc/httpd/spn.keytab

Steg 2: Installera kerberos klientbibliotek på webbservern.

  • Använd följande kommando på din terminal för att installera Kerberos-klientbiblioteken.
  • yum install -y krb5-workstation krb5-devel krb5-libs mod_auth_gssapi mod_session

    Notera: I de senaste versionerna av CentOS, mod_auth_kerb har föråldrats och ersatts med mod_auth_gssapi.


Steg 3: Installera moduler för Apache.

    1: Installera mod_auth_kerb-modulen för Apache.
  • Använd följande kommando för att installera auth_kerb-modulen för Apache på Red Hat-baserade system. (För de senaste versionerna av RHEL använd mod-auth-gssapi-modulen)
  • yum install mod_auth_kerb

Or


    2: Installera mod-auth-gssapi-modulen för Apache.
  • Använd följande kommando för att installera modulen libapache2-mod-auth-gssapi för Apache på debianbaserade system:
  • sudo apt-get -y install libapache2-mod-auth-gssapi

Steg 4: Konfigurera Active Directory-domänen i Kerberos-konfigurationsfilen.

  • Öppna och redigera krb5.conf fil.
    Sökvägen till filen krb5.conf för RHEL är C:/etc/krb5.conf
  • Lägg till följande konfigurationskodavsnitt till krb5.conf fil under nämnda avsnitt:
  • Navigera till [libdefaults] avsnitt och lägg till följande:
  • default_realm = EXAMPLE.COM
    dns_lookup_realm = true
    dns_lookup_kdc = true
  • Navigera till [riket] avsnitt och lägg till följande:
  • EXAMPLE.COM = {
    kdc = <DNS entries pointing to your primary domain controller>: Port
    admin_server = <DNS entries pointing to your primary domain controller>: Port
    }
  • Navigera till [domain_realm] avsnitt och lägg till följande:
  • .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

    Notera: Ersätt AD DOMAIN CONTROLLER IP/DNS med din IP/DNS-adress. Säkerställa EXAMPLE.COM ska stå i versaler.
    Ersätt EXAMPLE.COM med Active Directory-domännamnet.
    Och se till att port 88 på AD Domain Controller är åtkomlig från denna server.

  • Spara filen.

Steg 5: Konfigurera Kerberos SSO för webbplatskatalogen

  • Redigera den pålagda värdkonfigurationsfilen /etc/httpd/conf/httpd.conf
  • Lägg till följande avsnitt i katalogen på webbplatsen för mod_auth_kerb.
  • <Directory "/placeholder">
        AuthType Kerberos
        KrbAuthRealms EXAMPLE.COM
        KrbServiceName HTTP/<Server Host Name>
        Krb5Keytab <PATH TO KEYTAB>
        KrbMethodNegotiate on
        KrbMethodK5Passwd on
        require valid-user
    </Directory>

    Or


  • Lägg till följande avsnitt i katalogen på webbplatsen för mod_auth_gssapi.
  • LoadModule auth_gssapi_module modules/mod_auth_gssapi.so
    <Directory "/placeholder">
        AuthType GSSAPI
        AuthName "Kerberos auth"
        GssapiBasicAuth On
        GssapiCredStore keytab:<PATH TO KEYTAB>
        GssapiLocalName On
        Require valid-user
    </Directory>

    Följande är komponenterna i ovanstående konfiguration:

    VÄG TILL KEYTAB Tillgänglig sökväg till tangentbordet på den här servern. (etc/apache2/spn.keytab)
    "/Platshållare" Sökväg till dokumentroten
  • Efter denna konfiguration måste Apache startas om för att ändringarna ska träda i kraft.

När du har konfigurerat inställningarna, Klicka här för att konfigurera webbläsare för Kerberos SSO.

För att testa din Kerberos/NTLM SSO-konfiguration, klicka här.

För att felsöka eventuella fel, vänligen klicka här.

SSO med Windows-autentisering på IIS-server


  • Öppna kommandotolken i administratörsläge.
  • Utför följande kommando för att lägga till Service Principal Name (SPN) för tjänstekontot.
  • Notera: Anta att webbplatsen måste svara på http://maskinnamn och http://maskinnamn.domän.com. Vi måste ange dessa adresser i SPN-attributet för tjänstekontot.

    Setspn -S http/<computer-name>.<domain-name> <domain-user-account>

    Exempelvis: C:\Users\Administrator> setspn -S HTTP/maskinnamn.domän.com tjänstekonto

    Notera: "maskinnamn.domän.com" här är datornamn. Se till att det går att lösa på Windows-servern som kör AD-tjänsten.


  • Kontrollera om detta har ställts in korrekt genom att köra följande kommando:
  • setspn -l domain or service_account

    Exempelvis: C:\Users\Administrator> setspn -l service_account eller C:\Users\Administrator> setspn -l domän namn

    Ange SPN-post (Service Principal name) för Kerberos SSO-autentisering på Windows IIS-server
  • Resultatet bör listas http/maskinnamn.domän.com

  • Öppna Active Directory användare och datorer och välj från toppmenyn Visa >> Avancerade funktioner.
  • Öppna tjänstekontot och gå till attributredigerare fliken, bläddra till servicePrincipalName för att verifiera SPN-posten.
  • Navigera till Delegation fliken.
  • Välja Lita på den här användaren för delegering till vilken tjänst som helst (endast Kerberos).
  • Kerberos servicedelegation för Kerberos enkel inloggning för RHEL, CentOS, Ubuntu, Fedora-system
  • Klicka Ansök.
  • Öppna IIS-hanteraren och klicka på den webbplats som du vill aktivera Windows-autentisering för.
  • Dubbelklicka på Autentisering.
  • Windows IIS-hanteraren för att konfigurera Windows-autentiseringsinställningar för webbplatser för att aktivera Kerberos SSO
  • I avsnittet Autentisering kan du se att endast anonym autentisering är aktiverad som standard. IIS försöker alltid utföra anonym autentisering, så inaktivera anonym autentisering och aktivera Windows-autentisering.
  • Aktivera Windows-autentisering från Windows IIS-hanteraren för Kerberos SSO på det konfigurerade programmet
  • Högerklicka på Windows-autentisering och klicka på leverantörer.
  • Internetinformationstjänst IIS-hanteraren lista över leverantörer av Windows-autentisering
  • Följande fönster visas. Se till att "Förhandla" är högst upp på listan i leverantörslistan.
  • Windows IIS-hanteraren aktiverar Windows-autentiseringsleverantören för enkel inloggning SSO med Kerberos-protokoll

    Notera: Som standard finns det två tillgängliga leverantörer, Negotiate och NTLM. Negotiate är en behållare som använder kerberos som den första autentiseringsmetoden, och om autentiseringen misslyckas används NTLM. Så det krävs att Negotiate kommer först i listan över leverantörer.


  • Klicka på Ok för att stänga fönstret.
  • För att konfigurera IIS Application Pool för att starta den från det skapade SPN-kontot, klicka på Application Pools för att öppna fönstret Application Pools.
  • Högerklicka på domänen och klicka på Avancerade inställningar från listan.
  • Avancerade inställningar för applikationspoolwebbplatsen för Windows Internet Information Service (IIS) för att aktivera Kerberos SSO
  • I fönstret Avancerade inställningar under Processmodell klickar du på Identitet.
  • Konfigurera identitet från avancerade inställningar för Windows IIS Manager-programpoolen för att aktivera Kerberos SSO
  • I Application Pool Identity, välj Custom Account och klicka på Set-knappen för att ställa in Identity.
  • Ändra det från ApplicationPoolIdentity till \ .
  • Exempelvis:domain.com\service_account

    Kerberos SSO på Windows konfigurerar anpassat konto från IIS-hanterarens identitetsinställningar för programpoolen
  • Gå till konfigurationsredigeraren.
  • Gå till Windows IIS-hanterarens konfigurationsredigerare för att aktivera Kerberos / NTLM-autentisering på webbplatsen
  • Från rullgardinsmenyn väljer du system.webServer > säkerhet > autentisering > windowsautentisering.
  • Konfigurera useAppPoolCredentials för att konfigurera Kerberos-autentisering för Windows IIS-server
  • Ändra useAppPoolCredentials till True. och använd KernelMode till False.
  • Notera: Att ställa useAppPoolCredentials till True innebär att vi tillåter IIS att använda domänkontot för att dekryptera Kerberos-biljett från klienterna.

  • Klicka Verkställ.
  • Starta om IIS-servern.

  • Du kan kontrollera att kerberos-autentisering används på webbplatsen genom att övervaka HTTP-trafik med Fiddler.
  • Starta spelman och starta webbläsaren till önskad webbplats. Leta upp raden för webbplatsåtkomst i fönstrets vänstra sida. Välj fliken Inspektera från fönstrets högra sida. Det är uppenbart att Kerberos har använts för att autentisera på IIS-webbplatsen från raden "Authorization Header (Negotiate) seems to contain a Kerberos-ticket."

    Kerberos-biljett finns i auktoriseringshuvudet under Kerberos SSO-process

När du har konfigurerat inställningarna, Klicka här för att konfigurera webbläsare för Kerberos SSO.

För att testa din Kerberos/NTLM SSO-konfiguration, klicka här.

För att felsöka eventuella fel, vänligen klicka här.

SSO med Apache på Windows Xampp Server


  • Öppna kommandotolken i administratörsläge.
  • Utför följande kommando för att lägga till Service Principal Name (SPN) för tjänstekontot.
  • Setspn -s http/<computer-name>.<domain-name> <domain-user-account>

    Exempelvis: C:\Users\Administrator> setspn -S HTTP/maskinnamn.domän.com tjänstekonto

    Obs: "maskinnamn.domän.com" här är datornamn. Se till att det går att lösa på Windows-servern som kör AD-tjänsten.

  • Kontrollera om detta har ställts in korrekt genom att köra följande kommando:
  • setspn -l domain\service_account
  • Resultatet bör listas http/maskinnamn.domän.com
  • Öppna Active Directory användare och datorer och välj från toppmenyn Visa >> Avancerade funktioner.
  • Öppna tjänstekontot och gå till attributredigerare fliken, bläddra till servicePrincipalName för att verifiera SPN-posten.
  • Navigera till Delegation fliken.
  • Välja Lita på den här användaren för delegering till vilken tjänst som helst (endast Kerberos).
  • Kerberos för Windows-autentisering på IIS-server
  • Klicka Ansök.

  • Klicka här för att ladda ner apache-modulen.
  • kopiera mod_authnz_sspi.so från Apache24 > moduler mappen och placera den i katalogen moduler (C:\xampp\apache\modules).
  • kopiera sspipkgs.exe fil från Apache24 -> bin och placera den i bin-mappen i din Xampp apache-mapp (.....\xampp\apache\bin) på din webbserver.
  • Öppna httpd.conf (.....\xampp\apache\conf) och placera kodraden nedan i avsnittet LoadModule.
  • LoadModule authnz_sspi_module modules/mod_authnz_sspi.so
  • Se till att följande moduler är okommenterade:
  • LoadModule authn_core_module modules/mod_authn_core.so
    LoadModule authz_core_module modules/mod_authz_core.so

  • Se också till att aktivera ldap extension.
  • Öppna httpd.conf fil från (.....\xampp\apache\conf\httpd.conf).
    Gå till och klistra in raderna nedan efter #Kräv alla anslag.
  • <Directory "...../xampp/htdocs">
    ......
    ......
    #Require all granted
    AllowOverride None Options None
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    Require valid-user
    </Directory>

  • Starta om din Apache-server.

När du har konfigurerat inställningarna, Klicka här för att konfigurera webbläsare för Kerberos SSO.

För att testa din Kerberos/NTLM SSO-konfiguration, klicka här.

För att felsöka eventuella fel, vänligen klicka här.

Konfigurera webbläsare för Kerberos SSO


Konfigurationen på klientsidan gör det möjligt för respektive webbläsare att använda SPNEGO för att förhandla fram Kerberos-autentisering för webbläsaren. Du måste se till att webbläsaren på en slutanvändares system är konfigurerad för att stödja Kerberos-autentisering.


Allmän Kerberos SSO-konfiguration för alla webbläsare


  • Gå till Kontrollpanelen och klicka på Nätverk och Internet >> Internetalternativ.
  • Detta öppnar ett fönster för Internetegenskaper. Klicka på Säkerhet >> Lokalt intranät >> Webbplatser.
  • Konfigurera webbläsare för Kerberos-autentisering med inställningar för internetalternativ

  • Klicka sedan på Avancerad knapp.
  • Konfigurera förhandsinställningar från internetalternativ för Kerberos SSO på Chrome och Internet Explorer

  • I Lägg till denna webbplats i zonen lägg till webbadressen som du vill logga in med SSO.
  • Konfigurera webbplatsen i Intranet Zone från internetalternativ för Kerberos SSO
  • Klicka Verktyg > Internetalternativ > Säkerhet > Lokalt intranät > Anpassad nivå.
  • Rulla ned till alternativen för Användarautentisering och välj Automatisk inloggning endast i intranätszonen.
  • Automatisk inloggning till intranätszonen med Kerberos autentiseringsprotokoll
  • Klicka på Ok knappen och starta sedan om din webbläsare.


När du är klar med ovanstående inställningar behöver du inte konfigurera webbläsarinställningarna för Internet Explorer, Google Chrome och Apple Safari.


1. Internet Explorer
2. Google Chrome
3. Mozilla Firefox
4. Apple Safari


Internet Explorer

Som standard kommer de allmänna webbläsarkonfigurationsinställningarna att vara tillämpliga, inga fler ytterligare inställningar krävs för Internet Explorer.



Google Chrome

Som standard är de allmänna webbläsarkonfigurationsinställningarna tillämpliga, inga fler ytterligare inställningar krävs för Google Chrome.



Mozilla Firefox

  • Öppna webbläsaren Mozilla Firefox och ange about: config i adressfältet.
  • Sök efter network.negotiate-auth.trusted-uris Inställningsnamn och klicka på Redigera. ange värdnamnet eller domänen för webbservern som skyddas av Kerberos HTTP SPNEGO. Ange flera domäner och värdnamn separerade med kommatecken.
  • Konfigurera mozilla Firefox för kerberos SSO (enkel inloggning)
  • Sök efter network.automatic-ntlm-auth.trusted-uris Inställningsnamn och klicka på Redigera. ange värdnamnet eller domänen för webbservern som skyddas av Kerberos HTTP SPNEGO. Ange flera domäner och värdnamn separerade med kommatecken.
  • konfigurera mozilla Firefox-inställningar för kerberos-autentisering
  • Klicka OK och starta sedan om din webbläsare.


Apple Safari

  • Safari på Windows stöder SPNEGO utan ytterligare konfiguration. Den stöder både kerberos och NTLM som undermekanism till SPENGO.

Testa din Kerberos/NTLM SSO-konfiguration


Tidssynkronisering

Kerberos-protokollet kräver att tiden för klienten och servern matchar: om klientens systemklocka inte matchar serverns, kommer autentiseringen att misslyckas. Det enklaste sättet att synkronisera systemklockorna är att använda en NTP-server (Network Time Protocol).


Verifiera med kommandon.

För att verifiera din keytab- och kerberos-konfiguration kan du köra följande kommandon:

  1. Klist
  2. Kommandot klist visar innehållet i en Kerberos autentiseringscache eller nyckeltabell. Med detta kommando kan du kontrollera om du har en giltig biljett eller inte.

  3. klist -t -k etc/apache2/spn.keytab
  4. För att lista alla poster i nyckeltabellen etc/apache2/spn.keytab med tidsstämplar.

  5. klist -ek /etc/apache2/spn.keytab
  6. Visar krypteringstypen för sessionsnyckeln och biljetten och listar posterna i en nyckeltabell.

  7. kinit -V -kt /etc/apache2/spn.keytab -p HTTPS/webserver.dindomän.com@DINDOMÄN.COM
  8. Verifiera Kerberos-autentisering med keytab-fil.

  9. kdestroy -A
  10. Du kan använda detta kommando på Linux för att återställa alla Kerberos-token på din lokala dator. Kommandot förstör din tidigare Kerberos-biljett.

  11. klist rensning
  12. Du kan använda detta kommando på Windows för att återställa alla Kerberos-token på din lokala dator. Kommandot förstör din tidigare Kerberos-biljett.


Testa konfiguration.

  • För att testa SSO-konfigurationen skapa en test.php-fil i din WordPress rotkatalog.
    Ange raden nedan:
  • <?php
    var_dump($_SERVER);
    ?>
  • Spara filen och öppna den i webbläsaren. Du kommer att se $_SERVER innehåll.
  • Sök efter "REMOTE_USER" och det bör innehålla det för närvarande inloggade användarnamnet.
  • Notera: Ta bort test.php-filen efter att ha verifierat din konfiguration. Eftersom den innehåller värdefull information.


Kerberos-autentisering över flera domäner


  • Skapa separata tangenttabeller på varje domän och slå samman dem med ktutil-verktyget:
  • ktutil
    ktutil: read_kt <keytab_filename_1>
    ktutil: read_kt <keytab_filename_2>
    ktutil: read_kt <keytab_filename_3>
    ktutil: write_kt spn.keytab
    ktutil: quit

  • Verifiera sammanslagningen med kommandot nedan:
  • klist -k spn.keytab
  • Konfigurera krb5.conf:
    krb5.conf-filen innehåller Kerberos-konfigurationsinformation som inkluderar KDC- och adminservrar för en eller flera Kerberos-sfärer, standardvärden för den aktuella sfären och mappningar av värdnamn till Kerberos-världen. I händelse av flera domäner bör krb5.conf-filen uppdateras med information om olika domäner/domänområden för att autentisering ska fungera.

Felsökning


Det här är de vanligaste felmeddelandena:

    kinit: Pre-authentication failed: Invalid argument while getting initial credentials
  • rc4-krypteringstypen som fortfarande används flitigt i AD-miljöer men som redan är inaktiverad som standard i RHEL-8.3. Du kan hänvisa till exemplet nedan för att lägga till krypteringstyp till din keytab-fil.
  • Exempelvis:
    ktutil
    addent -password -p HTTP/<Server Host Name>@EXAMPLE.COM -k 1 -e aes256-cts-hmac-sha1-96
    wkt spn.keytab.

  • Unspecified GSS failure. Minor code may provide more information (Clock skew too great)
    or
    kinit: krb5_get_init_creds: Too large time skew
  • Kerberos är väldigt tidskänslig. Kontrollera att klockorna på värdarna för Active Directory och webbservern är identiska. Konfigurera en av dina domänkontrollanter för att fungera som NTP-server för dina klientdatorer.

  • gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Permission denied)
  • Felaktiga filsystemsbehörigheter för /etc/apache2/spn.keytab, dvs inte läsbar för webbserverns Linux-användare.
  • För att ändra filsystemets behörigheter använd chmod 644 /etc/apache2/spn.keytab

  • gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Key table entry not found).
  • Saknade tjänsteprincip (möjligen HTTP/webserver.dindomän.com@DINDOMÄN.COM) i /etc/apache2/spn.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)
  • 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.

  • gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, ).
  • Fel kvno eller maskinlösenord i etc/apache2/spn.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.

  • kinit: KDC has no support for encryption type while getting initial credentials
  • Ändra standardkrypteringstypen i avsnittet libdefaults i filen /etc/apache2/krb5.conf. Lägg till default_tgs_enctypes och default_tkt_enctypes till din konfiguration.
  • [libdefaults]
    default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
    default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5

    kinit: krb5_get_init_creds: Error from KDC: CLIENT EXPIRED
    or
    kinit: Client's entry in database has expired while getting initial credentials
  • Ditt Kerberos-konto är inte längre aktivt. Kontouppgifterna måste förnyas.

  • kinit: krb5_cc_get_principal: No credentials cache file found
    or
    kinit: krb5_get_init_creds: Error from KDC: CLIENT_NOT_FOUND
  • Fel domän var inriktad när kommandot kinit kördes. Verifiera domännamnet, det ska vara med versaler EXAMPLE.COM

  • kinit : Cannot find KDC for requested realm while getting initial credentials
  • /etc/apache2/krb5.conf-filen innehåller inte domännamnet för den aktiva katalogen (.EXAMPLE.COM).

  • kinit: Preauthentication failed while getting initial credentials
  • Orsakas av att felaktigt skriva in kerberos-lösenordet. Var god försök igen. Eller på grund av systemets klocka. Se till att datumkommandot returnerar en korrekt tid inom 5 minuter.

  • kinit: Client not found in Kerberos database while getting initial credentials
  • Din kerberos-principal kan skilja sig från ditt användarnamn på ditt lokala system.

  • kinit: Client's entry in database has expired
  • Du måste ändra ditt kerberos-lösenord.

Hej där!

Behövs hjälp? Vi är här!

stödja
Kontakta miniOrange Support
framgång

Tack för din förfrågan.

Om du inte hör från oss inom 24 timmar, skicka gärna ett uppföljningsmail till info@xecurify.com