IIS Developer Support Voice -sarake

Kerberos-todennukseen ja delegoinnin vianmääritykseen liittyvät ongelmat

Jotta voit mukauttaa tämän sarakkeen tarpeittesi mukaan, haluamme kutsua sinut lähettämään ideoita sinua kiinnostavista aiheista ja ongelmista, joita haluat tarkastella tulevissa Knowledge Base -artikkeleissa ja Tukiääni-sarakkeissa. Voit lähettää ideasi ja palautteesi Kysy sitä -lomakkeella. Tämän sarakkeen alareunassa on myös linkki lomakkeeseen.

Nimeni on <Nimi->, ja kuulun Microsoftin Microsoft IIS (IIS) Kriittisen ongelmanratkaisun ryhmään. Olen ollut Microsoftin kanssa yhdeksän vuotta ja ollut IIS-tiimissä yhdeksän vuotta. Olen koonnut tietoja useista sijainneistahttp://msdn.microsoft.com jahttp://www.microsoft.com Kerberosista ja delegointiongelmien vianmäärityksestä.

IIS 6.0

Seuraavassa valkoisessa kirjassa kerrotaan, miten delegointi määritetään Microsoft Windows Server 2003:ssa. Valkoisessa kirjassa on erityisiä tietoja verkon kuormituksen tasaamisesta (NLB), mutta se sisältää erinomaiset tiedot delegoidun skenaarion määrittämisestä käyttämättä NLB:tä. Jos haluat tarkastella tätä valkoista raporttia, siirry seuraavaan Microsoftin verkkosivustoon:

http://technet.microsoft.com/en-us/library/cc757299.aspxHuomautus Käytä HTTP Service Principal Names (SPNs) -nimiä erityisesti, kun käytät NLB:tä.Toinen suosittu Kerberos-ongelma viime aikoina on ollut tarve sallia useiden sovellusvarantojen käyttää samaa DNS-nimeä. Valitettavasti kun delegoit tunnistetiedot Kerberosin avulla, et voi sitoa samaa palvelun päänimeä (SPN) eri sovellusvarantoihin. Tätä ei voi tehdä Kerberosin rakenteen vuoksi. Kerberos-protokolla edellyttää useita jaettuja salaisuuksia, jotta protokolla toimii oikein. Käyttämällä samaa SPN:tä eri sovellusvarannoissa poistamme yhden näistä jaetuista salaisuuksista. Active Directory -hakemistopalvelu ei tue tätä Kerberos-protokollan määritystä suojausongelman vuoksi.Yhdistämisnimien määrittäminen tällä tavalla aiheuttaa Kerberos-todennuksen epäonnistumisen. Mahdollinen vaihtoehtoinen menetelmä tälle ongelmalle olisi käyttää protokollasiirtymistä. Asiakkaan ja IIS-palvelinta suorittavan palvelimen välinen alkuperäinen todennus hoidettaisiin NTLM-todennusprotokollan avulla. Kerberos hoitaisi IIS:n ja taustaresurssipalvelimen välisen todennuksen.

Microsoft Internet Explorer 6 tai uudempi versio

Asiakasselaimessa voi ilmetä ongelmia, kuten toistuvien kirjautumiskehotteiden vastaanottaminen tunnistetietoja varten tai "401 Käyttö estetty" -virhesanoman vastaanottaminen IIS-palvelimelta. Olemme löytäneet seuraavat kaksi ongelmaa, jotka voivat auttaa ratkaisemaan nämä ongelmat:

  • Varmista, että Integroidun Windows-todennuksen ottaminen käyttöön on valittuna selaimen ominaisuuksissa.  

  • Jos Internet Explorerin parannetun suojauksen määritys on käytössä Lisää tai poista sovellus -kohdassa, sinun on lisättävä delegointia käyttävä sivustoLuotetut sivustot -luetteloon. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base ‑artikkelinumeroa:

    815141 Internet Explorerin parannetun suojauksen määritys muuttaa selauskokemusta  

IIS 5.0 ja IIS 6.0

Kun olet päivittänyt IIS 4.0:sta IIS 5.0:aan tai IIS 6.0:aan, delegointi ei ehkä toimi oikein, tai joku tai sovellus on mahdollisesti muokannut metakannan ominaisuutta NTAuthenticationProviders.  

Tietty ongelma-alue voi ilmetä, kun määrität SPN:n

Palvelimen nimen määrittäminen

Määritä, muodostatko yhteyden sivustoon palvelimen todellisen NetBIOS-nimen avulla vai käyttämällä aliaksen nimeä, kuten DNS-nimeä (esimerkiksi www.microsoft.com). Jos käytät verkkopalvelinta muulla nimellä kuin palvelimen varsinaisella nimellä, uusi Palvelun päänimi (SPN) on rekisteröitävä Käyttämällä Windows 2000 Server Resource Kitin Setspn-työkalua. Koska Active Directory -hakemistopalvelu ei tiedä palvelun nimeä, lipun myöntävä palvelu (TGS) ei anna sinulle käyttäjän todennuspyyntöä. Tämä pakottaa asiakkaan käyttämään seuraavaa käytettävissä olevaa todennusmenetelmää, joka on NTLM, neuvotellakseen uudelleen. Jos verkkopalvelin vastaa www.microsoft.com DNS-nimeen, mutta palvelimen nimi on webserver1.development.microsoft.com, sinun on rekisteröitävä www.microsoft.com Active Directoryyn palvelimessa, jossa on käytössä IIS. Voit tehdä tämän lataamalla Setspn-työkalun ja asentamalla sen palvelimeen, jossa on käytössä IIS.Jos haluat selvittää, muodostatko yhteyden käyttämällä todellista nimeä, yritä muodostaa yhteys palvelimeen käyttämällä palvelimen varsinaista nimeä DNS-nimen sijaan. Jos et pysty muodostamaan yhteyttä palvelimeen, katso "Tarkista, että tietokone on luotettu delegointia varten" -osio.Jos voit muodostaa yhteyden palvelimeen, määritä palvelimeen muodostettavaLLE DNS-nimelle spn seuraavasti:

  1. Asenna Setspn-työkalu.

  2. Avaa komentokehote IIS-palvelimessa ja avaa sitten C:\Program Files\Resource Kit -kansio.

  3. Lisää uusi SPN (www.microsoft.com) palvelimen Active Directoryyn suorittamalla seuraava komento:

    Setspn -A HTTP/www.microsoft.com webserver1Huomautus Tässä komennossa webserver1 edustaa palvelimen NetBIOS-nimeä.

Saat seuraavanlaisen tuloksen: ServicePrincipalNames-rekisteröinti CN=webserver1:lle,OU=Domain Controllers,DC=microsoft,DC=com HTTP/www.microsoft.com Päivitetty objekti Jos haluat tarkastella palvelimen spn-ytimien luetteloa, jotta näet tämän uuden arvon, kirjoita seuraava komento IIS-palvelimeen:

Setspn -L webservername Huomaa, että sinun ei tarvitse rekisteröidä kaikkia palveluita. Monet palvelutyypit, kuten HTTP, W3SVC, WWW, RPC, CIFS (tiedostojen käyttö), WINS ja peruuttamaton virtalähde (UPS), yhdistetään oletuspalvelutyyppiin nimeltä HOST. Jos asiakasohjelmistosi esimerkiksi käyttää HTTP/webserver1.microsoft.com-yhteyttä HTTP-yhteyden luomiseen verkkopalvelimeen webserver1.microsoft.com palvelimessa, mutta tätä SPN:ää ei ole rekisteröity palvelimeen, Windows 2000 -toimialueen ohjauskone yhdistää yhteyden automaattisesti host/webserver1.microsoft.comiin. Tätä yhdistämismääritystä käytetään vain, jos verkkopalvelu toimii paikallisen järjestelmätilin alla.

Varmista, että tietokone on luotettu delegointia varten

Jos tämä IIS-palvelin on toimialueen jäsen, mutta se ei ole toimialueen ohjauskone, tietokoneen on oltava luotettava, jotta Delegointi toimii, jotta Kerberos toimii oikein. Voit tehdä tämän seuraavasti:

  1. Valitse toimialueen ohjauskoneeseen Käynnistä, valitse Asetukset ja valitse sitten Ohjauspaneeli.

  2. Avaa Ohjauspaneeli Hallintatyökalut.

  3. Kaksoisnapsauta Active Directoryn käyttäjät ja tietokoneet.

  4. Valitse toimialueesi alta Tietokoneet.

  5. Etsi luettelosta palvelin, jossa on käytössä IIS, napsauta palvelimen nimeä hiiren kakkospainikkeella ja valitse sitten Ominaisuudet.

  6. Valitse Yleiset-välilehti, valitseLuotettu delegoinnille -valintaruutu ja valitse sittenOK.

Huomaa, että jos useaan sivustoon pääsee samalla URL-osoitteella mutta eri porteilla, delegointi ei toimi. Jotta tämä toimisi, sinun on käytettävä eri isäntänimiä ja eri SPN-ysteitä. Kun Internet Explorer pyytää jompaakumpaa http://www.mywebsite.com tai http://www.mywebsite.com:81, Internet Explorer pyytää lippua OSOITTEESEEN SPN HTTP/www.mywebsite.com. Internet Explorer ei lisää porttia tai vdiriä SPN-pyyntöön. Tämä toiminta on sama http://www.mywebsite.com/app1 tai http://www.mywebsite.com/app2. Tässä skenaariossa Internet Explorer pyytää lippua SPN-http://www.mywebsite.com avainten jakelukeskuksesta (KDC). Kukin SPN voidaan määrittää vain yhden käyttäjätiedon mukaan. Tämän vuoksi saat myös KRB_DUPLICATE_SPN -virhesanoman, jos yrität määrittää tämän spn:n kullekin käyttäjätiedelle.

Delegointi ja Microsoft ASP.NET

Saat lisätietoja tunnistetietojen delegoinnin määrityksistä, kun käytät ASP.NET-sovellusta, napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:

810572 ASP.NET-sovelluksen määrittäminen delegointiskenaariossa Tekeytyminen ja delegointi ovat kaksi tapaa, joilla palvelin todennetaan asiakkaan puolesta. Sen päättäminen, mitä näistä menetelmistä käytetään ja miten ne toteutetaan, voi aiheuttaa sekaannusta. Sinun on tarkistettava näiden kahden menetelmän erot ja tutkittava, mitä näistä menetelmistä haluat ehkä käyttää sovelluksessasi. Suositukseni olisi lukea lisätietoja seuraavasta valkoisesta kirjasta:

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

Lisätietoja

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

262177 Kerberos-tapahtuman kirjaamisen ottaminen käyttöön

Kerberos-virheiden vianmääritys Internet Explorerissa

Kuten aina, voit vapaasti lähettää ideoita aiheista, joita haluat käsitellä tulevissa sarakkeissa tai Knowledge Base -tietokannassa Kysy sitä -lomakkeen avulla.

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.