Kerberos-autentisering och felsökning för delegering

IIS-utvecklare stöd för röst-kolumn

Kerberos-autentisering och felsökning för delegering

Vi vill bjuda in dig att skicka dina idéer om ämnen som intresserar du och problem som du vill se i framtida adresserat kunskapsbasartiklar och Support röst kolumner om du vill anpassa den här kolumnen efter dina behov. Du kan skicka dina idéer och feedback med hjälp av formuläret Fråga för den . Det finns också en länk till formuläret längst ned i den här kolumnen.

Mitt namn är Martin Smith och jag med Microsofts kritiska problemlösning för Microsoft Internet Information Services (IIS). Jag har arbetat med Microsoft nio år och har arbetat med IIS-gruppen Alla nio år. Jag har sammanställt information från flera platser på
http://msdn.microsoft.com och
Om Kerberos och hur du felsöker problem med delegering på http://www.microsoft.com .

IIS 6.0

Följande faktablad beskriver hur du konfigurerar delegering i Microsoft Windows Server 2003. Faktabladet innehåller specifik information för Utjämning av nätverksbelastning (NLB) men innehåller utmärkt information om hur du ställer in en delegerad scenario utan att använda NLB. Om du vill visa det här faktabladet finns på följande Microsoft-webbplats:

http://technet.microsoft.com/en-us/library/cc757299.aspxObs! Använd HTTP Service Principal SPN-namn () när du använder Utjämning av nätverksbelastning.

En annan populär Kerberos-problemet har nyligen behovet av att flera programpooler för att använda samma DNS-namn. Tyvärr när du använder Kerberos för att delegera uppgifter, kan du binda den samma namn SPN (Service Principal) till olika programpooler. Du kan inte göra detta är konstruerat av Kerberos. Kerberos-protokollet kräver flera delade hemligheter för protokollet ska fungera korrekt. Vi eliminerar en av dessa delade hemligheter med samma SPN för olika programpooler. Katalogtjänsten Active Directory stöder inte den här konfigurationen av Kerberos-protokollet på grund av säkerhetsproblemet.

Konfigurera SPN-namnen på det här sättet kan Kerberos-autentisering misslyckas. En möjlig lösning på detta problem är att använda protokollet övergång. Den första autentiseringen mellan klienten och servern kör IIS skulle hanteras med hjälp av NTLM-autentiseringsprotokollet. Kerberos skulle hantera autentisering mellan IIS och backend-servern för resursen.

Microsoft Internet Explorer 6 eller senare

Klientens webbläsare kan det uppstå problem, som tar emot upprepade inloggningar efterfrågas referenser eller "401 åtkomst nekas" felmeddelanden från servern som kör IIS. Vi har hittat följande två problem som kan hjälpa dig att lösa de här problemen:

  • Kontrollera att Aktivera integrerad Windows-autentisering är markerad i webbläsarens egenskaper. Mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

    299838 det går inte att förhandla Kerberos-autentisering efter uppgradering till Internet Explorer 6

  • Om Förbättrad säkerhetskonfiguration i Internet Explorer aktiveras i Lägg till/ta bort program, måste du lägga till en webbplats som använder delegering till den
    Listan över Tillförlitliga platser . Mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

    815141 Förbättrad säkerhetskonfiguration i Internet Explorer påverkar webbläsningen

IIS 5.0 och IIS 6.0

När du uppgraderar från IIS 4.0 till IIS 5.0 eller IIS 6.0 delegering fungerar inte korrekt, eller möjligen någon eller ett program har ändrat egenskapen NTAuthenticationProviders.
Mer information om hur du åtgärdar det här problemet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

248350 Kerberos-autentisering misslyckas när du uppgraderar från IIS 4.0 till IIS 5.0

En viss del av problem som kan uppstå när du anger SPN

Ta reda på servernamn

Ta reda på om du ansluter till webbplatsen genom att använda NetBIOS-namnet på servern eller med hjälp av ett aliasnamn, till exempel ett DNS-namn (till exempel www.microsoft.com). Om du ansluter till webbservern med ett annat namn än det faktiska namnet på servern, måste en ny namnet SPN (Service Principal) har registrerats med hjälp av verktyget Setspn från Windows 2000 Server Resource Kit. Eftersom det här namnet inte vet katalogtjänsten Active Directory, ger ticket-granting service (TGS) dig inte en biljett för att autentisera användaren. Detta tvingar klienten att använda nästa tillgängliga autentiseringsmetoden, som är NTLM, för att omförhandla. Om webbservern svarar på en DNS-namnet på www.microsoft.com, men servern heter webserver1.development.microsoft.com, måste du registrera www.microsoft.com i Active Directory på en server som kör IIS körs. Det gör du genom att hämta verktyget Setspn och installera på servern som kör IIS.


Om du använder Windows Server 2003 och IIS 6 är Setspn-verktyg för Microsoft Windows Server 2003 tillgänglig från följande plats:

http://support.microsoft.com/kb/970536Ta reda på om du ansluter med hjälp av det faktiska namnet du försök ansluta till servern med hjälp av det faktiska namnet på servern i stället för att DNS-namnet. Om du inte kan ansluta till servern finns i avsnittet "Kontrollera datorn är betrodd för delegering".

Om du kan ansluta till servern, gör så här om du vill ange ett SPN för DNS-namn som du använder för att ansluta till servern:

  1. Installera verktyget Setspn.

  2. Öppna Kommandotolken på den server som kör IIS och öppna sedan mappen C:\Program Files\Resource Kit.

  3. Kör följande kommando för att lägga till den här nya SPN (www.microsoft.com) i Active Directory för servern:

    Setspn - A HTTP/www.microsoft.com webbserver1Obs! I det här kommandot representerar webbserver1 NetBIOS-namnet på servern.

Utdata som liknar följande visas:
Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=comHTTP/www.microsoft.com
Updated object

Om du vill visa en lista över SPN-namn på servern för att se detta nya värde, skriver du följande kommando på servern som kör IIS:

Setspn -L webbservernamnObservera att du inte behöver registrera alla tjänster. Många typer av tjänster, mappas såsom HTTP, W3SVC, WWW, RPC, CIFS (filåtkomst), WINS- och avbrottsfri elkällor (UPS), till en typ av tjänst som heter värd. Till exempel om klientprogramvaran använder ett SPN-namnet HTTP/webserver1.microsoft.com för att skapa en HTTP-anslutning till webbservern på servern webserver1.microsoft.com, men detta SPN är inte registrerad på servern, ska Windows 2000-domänkontrollant mappas automatiskt anslutningen till HOST/webserver1.microsoft.com. Den här mappningen gäller endast om webbtjänsten körs under det lokala systemkontot.

Kontrollera att datorn är betrodd för delegering

Om den här IIS-servern är medlem i domänen, men inte är en domänkontrollant, måste datorn vara betrodd för delegering för Kerberos ska fungera korrekt. Gör så här:

  1. På domänkontrollanten, klicka på Start, peka på Inställningaroch klicka sedan på Kontrollpanelen.

  2. Öppna Administrationsverktyg på Kontrollpanelen.

  3. Dubbelklicka på Active Directory-användare och datorer.

  4. Klicka på datoreri din domän.

  5. Leta reda på IIS-servern i listan, högerklicka på servernamnet och klicka sedan på Egenskaper.

  6. Klicka på fliken Allmänt , markera den
    Betrodd för delegering , markera kryssrutan och klicka sedan på
    OK.

Observera att om flera webbplatser har uppnåtts med samma URL, men på olika portar, delegering inte fungerar. För att detta ska fungera måste du använda olika värdnamn och olika SPN-namn. När Internet Explorer begär antingen http://www. minwebbplats.com eller http://www. minwebbplats.com:81 Internet Explorer begär en biljett för SPN HTTP/www.mywebsite.com. Internet Explorer inte lägga till porten eller vdir SPN-begäran. Detta är samma för http://www. minwebbplats.com/app1 eller http://www. minwebbplats.com/app2. I detta fall begär Internet Explorer en biljett för SPN-http://www. minwebbplats.com från Key Distribution Center (KDC). Varje SPN kan deklareras för en identitet. Du skulle därför också få ett meddelande om KRB_DUPLICATE_SPN om du försöker ange SPN-namnet för varje identitet.

Delegering och Microsoft ASP.NET

Mer information om konfigurationen för delegering av autentiseringsuppgifter när du använder ett ASP.NET-program klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

810572 hur du konfigurerar ett ASP.NET-program för ett delegeringsscenario

Personifiering och delegering finns två metoder för en server för att autentisera på uppdrag av klienten. Avgöra vilken av dessa metoder som ska användas och deras genomförande kan orsaka viss förvirring. Du måste granska skillnaden mellan dessa två metoder och undersöka vilken av metoderna du vill använda i programmet. Min rekommendation är att läsa följande faktablad för mer information:

http://msdn2.microsoft.com/en-us/library/ms998351.aspx

Referenser

http://technet.microsoft.com/en-us/library/cc757299.aspx

http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx

305971 Windows 2000 Server uppmanas domänanvändare för autentiseringsuppgifter

262177 hur du aktiverar Kerberos-händelseloggning

Hur 326985 felsökning av Kerberos-relaterade problem i IIS

842861 TechNet-webbutsändning: felsökning av Kerberos-autentisering med säkra webbprogram och Microsoft SQL Server

Som alltid, gärna skicka idéer om ämnen som du vill använda i framtiden upp kolumner eller i Knowledge Base med den
Be för det formulär.

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×