Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

IIS Developer Support Voice-kolumn

Problem med delegering av Kerberos-autentisering och felsökning

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

Mitt namn är <Namn> och jag är med Microsofts Microsoft Internet Information Services (IIS) kritiska problemlösningsgrupp. Jag har arbetat hos Microsoft i nio år och har arbetat i IIS-teamet i nio år. Jag har sammanställt information från flera platser på
http://msdn.microsoft.com och
http://www.microsoft.com om Kerberos och hur du felsöker delegeringsproblem.

IIS 6.0

I följande informationsblad beskrivs hur du konfigurerar delegering i Microsoft Windows Server 2003. Informationsblad innehåller specifik information för Nätverksbelastningsutjämning (NLB) men innehåller mycket detaljerad information om hur du konfigurerar ett delegerat scenario utan att använda NLB. Information om hur du visar den här informationen finns på följande Microsoft-webbplats:

http://technet.microsoft.com/en-us/library/cc757299.aspxObs! Använd SÄRSKILT HTTP Service Principal Names (SPN) när du använder NLB.

Ett annat populärt Kerberos-problem nyligen har varit behovet av att tillåta att flera programpooler använder samma DNS-namn. När du använder Kerberos för att delegera autentiseringsuppgifter kan du tyvärr inte binda samma Service Principal Name (SPN) till olika programpooler. Du kan inte göra detta på grund av Kerberos design. Kerberos-protokollet kräver flera delade hemligheter för att protokollet ska fungera korrekt. Genom att använda samma SPN för olika programpooler tar vi bort en av dessa delade hemligheter. Active Directory-katalogtjänsten stöder inte den här konfigurationen av Kerberos-protokollet på grund av säkerhetsproblemet.

Om du konfigurerar SPN:erna på det här sättet misslyckas Kerberos-autentiseringen. En möjlig lösning på det här problemet är att använda protokollövergång. Den första autentiseringen mellan klienten och den server som kör IIS hanteras med NTLM-autentiseringsprotokollet. Kerberos hanterade autentiseringen mellan IIS och resursservern för serverservern.

Microsoft Internet Explorer 6 eller senare

Klientwebbläsaren kan få problem, till exempel upprepade uppmaningar om inloggningsuppgifter eller felmeddelandet "401 Åtkomst nekad" från servern som kör IIS. Vi har hittat följande två problem som kan hjälpa dig att lösa dessa problem:

  • Kontrollera att Aktivera integrerad Windows-autentisering är markerat i webbläsarens egenskaper.
     

  • Om Internet Explorer Enhanced Security Configuration är aktiverat i Lägg till/ta bort program måste du lägga till en webbplats som använder delegering i
    listanBetrodda platser. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

    815141 Internet Explorer Enhanced Security Configuration ändrar surfupplevelsen
     

IIS 5.0 och IIS 6.0

När du har uppgraderat från IIS 4.0 till IIS 5.0 eller IIS 6.0 kanske delegeringen inte fungerar korrekt, eller möjligen har någon eller ett program ändrat metabaseegenskapen NTAuthenticationProviders.

 

Ett visst problemområde kan uppstå när du ställer in SPN

Fastställa servernamnet

Bestäm om du ansluter till webbplatsen med hjälp av det faktiska NetBIOS-namnet på servern eller med hjälp av ett aliasnamn, till exempel ett DNS-namn (till exempel www.microsoft.com). Om du använder webbservern med ett annat namn än det faktiska namnet på servern måste ett nytt Service Principal Name (SPN) ha registrerats med verktyget Setspn från Windows 2000 Server Resource Kit. Eftersom Active Directory-katalogtjänsten inte känner till det här tjänstnamnet ger den biljettbeviljande tjänsten (TGS) inte dig ett ärende för att autentisera användaren. Det här beteendet tvingar klienten att använda nästa tillgängliga autentiseringsmetod, som är NTLM, för att omförhandla. Om webbservern svarar på ett DNS-namn på www.microsoft.com men servern heter webserver1.development.microsoft.com måste du registrera www.microsoft.com i Active Directory på den server som kör IIS. För att göra detta måste du ladda ned Setspn-verktyget och installera det på servern som kör IIS.


Om du vill ta reda på om du ansluter med det faktiska namnet kan du försöka ansluta till servern genom att använda det faktiska namnet på servern i stället för DNS-namnet. Om du inte kan ansluta till servern läser du avsnittet "Kontrollera att datorn är betrodd för delegering".

Om du kan ansluta till servern följer du de här anvisningarna för att ange ett SPN för det DNS-namn som du använder för att ansluta till servern:

  1. Installera Setspn-verktyget.

  2. Öppna en kommandotolk på servern som kör IIS och öppna sedan mappen C:\Program\Resource Kit.

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

    Setspn -A HTTP/www.microsoft.com webserver1Obs! I det här kommandot representerar webserver1 netBIOS-namnet på servern.

Du får utdata som liknar följande:
Registrera ServicePrincipalNames för CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=com
HTTP/www.microsoft.com
Uppdaterat objekt
Om du vill visa en lista med SPN på servern för att se det nya värdet skriver du följande kommando på servern som kör IIS:

Setspn -L webservername Observera att du inte behöver registrera alla tjänster. Många tjänsttyper, till exempel HTTP, W3SVC, WWW, RPC, CIFS (filåtkomst), WINS och UPS (Uninterruptible Power Supply), mappas till en standardtjänsttyp som heter HOST. Om klientprogramvaran till exempel använder ett SPN för HTTP/webserver1.microsoft.com för att skapa en HTTP-anslutning till webbservern på webserver1.microsoft.com-servern, men spn inte är registrerat på servern, mappar Windows 2000-domänkontrollanten 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 servern som kör IIS är medlem i domänen men inte är en domänkontrollant måste datorn vara betrodd för att Kerberos ska fungera korrekt. Gör så här:

  1. Klicka på Start på domänkontrollanten, peka på Inställningar och klicka sedan på Kontrollpanelen.

  2. Öppna Administrationsverktyg i Kontrollpanelen.

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

  4. Klicka på Datorer under din domän.

  5. Leta reda på den server som kör IIS i listan, högerklicka på servernamnet och klicka sedan på Egenskaper.

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

Observera att delegering inte fungerar om flera webbplatser nås med samma URL men på olika portar. För att det här ska fungera måste du använda olika värdnamn och olika SPN. När Internet Explorer begär antingen http://www.mywebsite.com eller http://www.mywebsite.com:81, Internet Explorer begär ett ärende till SPN HTTP/www.mywebsite.com. Internet Explorer lägger inte till porten eller vdir i SPN-begäran. Det här beteendet är detsamma för http://www.mywebsite.com/app1 eller http://www.mywebsite.com/app2. I det här scenariot kommer Internet Explorer att begära ett ärende för SPN-http://www.mywebsite.com från Nyckeldistributionscenter (KDC). Varje SPN kan bara deklareras för en identitet. Därför får du också ett KRB_DUPLICATE_SPN felmeddelande om du försöker deklarera spn för varje identitet.

Delegering och Microsoft ASP.NET

Om du vill ha mer information om konfigurationen för delegering av autentiseringsuppgifter när du använder ett ASP.NET program klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:

810572 Så här konfigurerar du ett ASP.NET program för ett delegeringsscenario

Personifiering och delegering är två metoder för att autentisera en server för klientens räkning. Att bestämma vilka 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 vilka av dessa metoder du kanske vill använda för ditt program. Min rekommendation skulle vara att läsa följande informationsblad för ytterligare detaljer:

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

Referenser



http://technet.microsoft.com/en-us/library/cc757299.aspxhttp://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx

262177 Så här aktiverar du Kerberos händelseloggning

Felsöka Kerberos-fel i Internet Explorer

Som alltid kan du skicka idéer om ämnen som du vill ta upp i framtida kolumner eller i Knowledge Base med hjälp av formuläret Fråga för det.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×