IIS Developer Support Voice oszlop
Kerberos-hitelesítés és delegálási problémák elhárítása
Az oszlop igényeinek megfelelően történő testreszabásához szeretnénk meghívni Önt, hogy küldje el ötleteit az Önt érdeklő témakörökről és azokról a problémákról, amelyeket a Tudásbázis jövőbeli cikkeiben és a Támogatási hang oszlopaiban szeretne látni. Ötleteit és visszajelzéseit a Kérdés feltevése űrlapon küldheti el. Az oszlop alján található az űrlapra mutató hivatkozás is.
A nevem <Név>, és a Microsoft Microsoft Internet Information Services (IIS) kritikus problémamegoldási csoportjában vagyok. Kilenc éve dolgozom a Microsoftnál, és kilenc éve vagyok az IIS csapatával. Több helyről gyűjtöttem össze információkathttp://msdn.microsoft.com éshttp://www.microsoft.com a Kerberosról és a delegálási problémák elhárításáról.
IIS 6.0
Az alábbi tanulmány bemutatja, hogyan állíthat be delegálást a Microsoft Windows Server 2003-ban. A tanulmány a hálózati terheléselosztással (NLB) kapcsolatos konkrét információkkal rendelkezik, de kiváló részleteket tartalmaz a delegált forgatókönyvek NLB használata nélküli beállításáról. A tanulmány megtekintéséhez látogasson el a Microsoft következő webhelyére:
http://technet.microsoft.com/en-us/library/cc757299.aspxMegjegyzés: Használjon HTTP egyszerű szolgáltatásneveket (SPN-eket), különösen ha hálózati terheléselosztást használ.Egy másik népszerű Kerberos-probléma a közelmúltban az volt, hogy több alkalmazáskészletnek is engedélyeznie kell ugyanazt a DNS-nevet. Sajnos, ha a Kerberos használatával delegálja a hitelesítő adatokat, nem kötheti ugyanazt az egyszerű szolgáltatásnevet (SPN) különböző alkalmazáskészletekhez. Ezt a Kerberos kialakítása miatt nem teheti meg. A Kerberos protokollnak több megosztott titkos kódra van szüksége ahhoz, hogy a protokoll megfelelően működjön. Ha ugyanazt az egyszerű szolgáltatásnevt használja a különböző alkalmazáskészletekhez, megszüntetjük a megosztott titkos kulcsok egyikét. Az Active Directory címtárszolgáltatás a biztonsági probléma miatt nem támogatja a Kerberos protokoll ezen konfigurációját.Ha így konfigurálja az egyszerű szolgáltatásneveket, a Kerberos-hitelesítés meghiúsul. A probléma lehetséges megkerülő megoldása a protokollváltás használata. Az ügyfél és az IIS-kiszolgáló közötti kezdeti hitelesítés kezelése az NTLM hitelesítési protokoll használatával történik. A Kerberos kezeli az IIS és a háttérerőforrás-kiszolgáló közötti hitelesítést.
Microsoft Internet Explorer 6 vagy újabb
Az ügyfélböngésző problémákat tapasztalhat, például ismétlődő bejelentkezési kéréseket kaphat a hitelesítő adatokról, vagy "401 Hozzáférés megtagadva" hibaüzeneteket kaphat az IIS-t futtató kiszolgálótól. A következő két problémát találtuk, amelyek segíthetnek a problémák megoldásában:
-
Ellenőrizze, hogy az Integrált Windows-hitelesítés engedélyezése beállítás be van-e jelölve a böngésző tulajdonságai között.
-
Ha az Internet Explorer fokozott biztonsági konfigurációja engedélyezve van a Programok telepítése/eltávolítása területen, akkor delegálást használó webhelyet kell hozzáadnia aMegbízható helyek listához. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
815141 Az Internet Explorer fokozott biztonsági beállításai megváltoztatják a böngészési élményt
IIS 5.0 és IIS 6.0
Az IIS 4.0-ról IIS 5.0-ra vagy IIS 6.0-ra való frissítés után előfordulhat, hogy a delegálás nem működik megfelelően, vagy valaki vagy egy alkalmazás módosította az NTAuthenticationProviders metabázis-tulajdonságot.
Az egyszerű szolgáltatásnév beállításakor egy adott problémás terület fordulhat elő
A kiszolgáló nevének meghatározása
Állapítsa meg, hogy a webhelyhez a kiszolgáló tényleges NetBIOS-nevének használatával vagy egy aliasnév, például EGY DNS-név (például www.microsoft.com) használatával csatlakozik-e. Ha a webkiszolgálót a kiszolgáló tényleges nevétől eltérő névvel éri el, a Windows 2000 Server Resource Kit Setspn eszközével regisztrálnia kell egy új egyszerű szolgáltatásnevet (SPN). Mivel az Active Directory címtárszolgáltatás nem ismeri ezt a szolgáltatásnevet, a jegymegadó szolgáltatás (TGS) nem ad jegyet a felhasználó hitelesítéséhez. Ez a viselkedés arra kényszeríti az ügyfelet, hogy a következő elérhető hitelesítési módszert , azaz az NTLM-et használja az újratárgyaláshoz. Ha a webkiszolgáló a www.microsoft.com DNS-nevére válaszol, de a kiszolgáló neve webserver1.development.microsoft.com, regisztrálnia kell www.microsoft.com az Active Directoryban az IIS-t futtató kiszolgálón. Ehhez le kell töltenie a Setspn eszközt, és telepítenie kell az IIS-t futtató kiszolgálón.Ha meg szeretné állapítani, hogy a tényleges névvel csatlakozik-e, próbáljon meg a kiszolgálóhoz csatlakozni a DNS-név helyett a kiszolgáló tényleges nevével. Ha nem tud csatlakozni a kiszolgálóhoz, olvassa el a "A számítógép megbízható delegálásának ellenőrzése" című szakaszt.Ha tud csatlakozni a kiszolgálóhoz, az alábbi lépésekkel állíthatja be a kiszolgálóhoz való csatlakozáshoz használt DNS-név egyszerű szolgáltatásnevét:
-
Telepítse a Setspn eszközt.
-
Az IIS-t futtató kiszolgálón nyisson meg egy parancssort, majd nyissa meg a C:\Program Files\Resource Kit mappát.
-
Az alábbi parancs futtatásával adja hozzá ezt az új SPN-t (www.microsoft.com) a kiszolgáló Active Directoryjához:
Setspn -A HTTP/www.microsoft.com webserver1Megjegyzés Ebben a parancsban a webserver1 a kiszolgáló NetBIOS-nevét jelöli.
A következőhöz hasonló kimenetet kap: ServicePrincipalNames regisztrálása a KÖVETKEZŐhöz: CN=webserver1,OU=Tartományvezérlők,DC=microsoft,DC=com HTTP/www.microsoft.com Objektum frissítése Ha meg szeretné tekinteni a kiszolgálón található egyszerű szolgáltatásnevek listáját az új érték megtekintéséhez, írja be a következő parancsot az IIS-t futtató kiszolgálón:
Setspn -L webservername Vegye figyelembe, hogy nem kell minden szolgáltatást regisztrálnia. Számos szolgáltatástípus, például a HTTP, a W3SVC, a WWW, az RPC, a CIFS (fájlhozzáférés), a WINS és a szünetmentes tápegység (UPS) egy HOST nevű alapértelmezett szolgáltatástípusra lesz leképezve. Ha például az ügyfélszoftver a HTTP/webserver1.microsoft.com egyszerű szolgáltatásnevével hoz létre HTTP-kapcsolatot a webkiszolgálóval a webserver1.microsoft.com kiszolgálón, de ez az egyszerű szolgáltatásnév nincs regisztrálva a kiszolgálón, a Windows 2000 tartományvezérlő automatikusan leképezi a kapcsolatot a HOST/webserver1.microsoft.com címre. Ez a leképezés csak akkor érvényes, ha a webszolgáltatás a helyi rendszerfiók alatt fut.
Ellenőrizze, hogy a számítógép megbízható-e a delegáláshoz
Ha az IIS-t futtató kiszolgáló a tartomány tagja, de nem tartományvezérlő, a számítógépnek megbízhatónak kell lennie ahhoz, hogy a Kerberos megfelelően működjön. Ezt a következőképpen teheti meg:
-
A tartományvezérlőn kattintson a Start gombra, mutasson a Beállítások pontra, majd kattintson a Vezérlőpult.
-
A Vezérlőpult nyissa meg a Felügyeleti eszközök elemet.
-
Kattintson duplán a Active Directory - felhasználók és számítógépek.
-
A tartomány alatt kattintson a Számítógépek elemre.
-
A listában keresse meg az IIS-t futtató kiszolgálót, kattintson a jobb gombbal a kiszolgáló nevére, majd kattintson a Tulajdonságok parancsra.
-
Kattintson az Általános fülre, jelölje be aMegbízható delegáláshoz jelölőnégyzetet, majd kattintson azOK gombra.
Vegye figyelembe, hogy ha több webhelyet ér el ugyanaz az URL-cím, de különböző portokon, a delegálás nem fog működni. A művelet elvégzéséhez különböző állomásneveket és különböző egyszerű szolgáltatásneveket kell használnia. Amikor az Internet Explorer http://www kér.mywebsite.com vagy http://www.mywebsite.com:81, az Internet Explorer egy jegyet kér az SPN HTTP/www.mywebsite.com címre. Az Internet Explorer nem adja hozzá a portot vagy a vdirt az SPN-kérelemhez. Ez a viselkedés a http://www esetében is ugyanaz.mywebsite.com/app1 vagy http://www.mywebsite.com/app2. Ebben a forgatókönyvben az Internet Explorer egy jegyet kér az SPN-http://www.mywebsite.com a Key Distribution Centerből (KDC). Minden egyszerű szolgáltatásnév csak egy identitáshoz deklarálható. Ezért KRB_DUPLICATE_SPN hibaüzenetet is kap, ha minden identitáshoz megpróbálja deklarálni ezt az egyszerű szolgáltatásnevt.
Delegálás és Microsoft ASP.NET
Ha többet szeretne tudni arról, hogy hogyan delegálhatja a hitelesítő adatokat ASP.NET alkalmazás használatakor, kattintson a következő cikkszámra a Microsoft Tudásbázisban a cikk megtekintéséhez:
810572 ASP.NET alkalmazás konfigurálása delegálási forgatókönyvhöz A megszemélyesítés és a delegálás két módszer arra, hogy a kiszolgáló hitelesítse magát az ügyfél nevében. Annak eldöntése, hogy ezek közül a módszerek közül melyiket és azok implementálását érdemes használni, némi zavart okozhat. Át kell tekintenie a két módszer közötti különbséget, és meg kell vizsgálnia, hogy ezek közül melyiket érdemes használni az alkalmazáshoz. Azt javasoljuk, hogy olvassa el a következő tanulmányt további részletekért:
Hivatkozások
http://technet.microsoft.com/en-us/library/cc757299.aspxhttp://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx
262177 Kerberos-eseménynaplózás engedélyezése
Kerberos-hibák elhárítása az Internet Explorerben
Mint mindig, nyugodtan küldje el ötleteit a jövőbeli oszlopokban vagy a Tudásbázisban a Kérdés feltevése űrlap használatával.