Konfigurirajte preverjanje pristnosti Kerberos na spletnem mestu IIS

Navodila po korakih za nastavitev pregledne avtentikacije uporabnikov domene v načinu SSO (Single Sign-On) s pomočjo protokola Kerberos na spletnem mestu IIS v sistemu Windows Server 2012 R2.

Na spletnem strežniku zaženite konzolo IIS Manager, izberite želeno mesto in odprite razdelek Preverjanje pristnosti. Kot lahko vidite, je privzeto dovoljena le anonimna avtentikacija (Anonimni Preverjanje pristnosti) Izklopite in vklopite Windows Preverjanje pristnosti (IIS vedno najprej poskusi anonimno overjanje).

Odpremo seznam ponudnikov, ki so na voljo za preverjanje pristnosti Windows (Ponudniki) Privzeto sta na voljo dva ponudnika: Pogajati in NTLM. Pogajanje je vsebnik, ki kot prvi način preverjanja pristnosti uporablja Kerberos; če ta avtentikacija ne uspe, se uporabi NTLM. Potrebno je, da na seznamu ponudnikov metoda Pogajati stal prvi.

Naslednji korak je registracija Naziv glavne storitve (SPN) zapisi o imenu spletnega mesta, do katerega bodo uporabniki dostopali. Če naj bo spletno mesto IIS dostopno samo z imenom strežnika, na katerem se nahaja (http: // ime strežnika ali http://server-name.contoso.com), vam ni treba ustvarjati dodatnih SPN zapisov (SPN zapisi že obstaja v računu strežnika v AD). Če uporabljate naslov spletnega mesta, ki ni ime gostitelja, ali ko gradite uravnoteženo spletno kmetijo, boste morali na strežnik ali uporabniški račun vezati dodatne SPN-je..

Recimo, da imamo kmetijo IIS strežnikov. V tem primeru je optimalno ustvariti ločen račun v AD-ju in nanj vezati SPN zapise. Iz istega računa bodo zagnali ciljni aplikacijski bazen našega spletnega mesta.

Ustvarite domenski račun iis_storitev. Prepričajte se, da tem predmetom niso dodeljeni vnosi SPN (atribut servicePrincipalName je prazen).

Predpostavimo, da mora spletno mesto odgovarjati na naslove _http: // webportal in _http: //webportal.contoso.loc. Te naslove moramo registrirati v atributu SPN računa storitve.

Setspn / s HTTP / webportal contoso \ iis_service
Setspn / s HTTP / webportal.contoso.loc contoso \ iis_service

Tako bomo s tem računom omogočili dešifriranje vozovnic za Kerberos, ko uporabniki dostopajo do teh naslovov in overjajo seje.

Nastavitve SPN za svoj račun lahko preverite na naslednji način:

setspn / l iis_service

Namig. Kerberos ne bo deloval pravilno, če so v različnih zapisih domen podvojeni SPN. Z naslednjim ukazom preverite, ali v domeni ni podvojenih SPN-jev: setpn -x

Naslednji korak je konfiguriranje zbirke aplikacij IIS, ki se bo izvajala iz ustvarjenega računa storitve.

Izberite spletno mesto Application Pool (v našem primeru je DefaultAppPool).

Odprite razdelek z nastavitvami Napredno Nastavitve  in pojdite na parameter Identiteta.

Spremenite s ApplicationPoolIdentity naprej contoso \ iis_service.

Nato v konzoli IIS Manager pojdite na svoje spletno mesto in izberite razdelek Urejevalnik konfiguracij.

V spustnem meniju pojdite na razdelek system.webServer> varnost> preverjanje pristnosti> windowsAuthentication

Spremeni se useAppPoolCredentials naprej Res je.

Tako bomo IIS omogočili uporabo domenskih računov za dešifriranje Kerberosovih vozovnic od strank.

Znova zaženite IIS z ukazom:

iisreset

Enako konfiguracijo je treba izvesti na vseh strežnikih spletnih kmetij.

Kerberosovo pooblastilo preizkušamo tako, da v brskalniku stranke odpremo stranko (brskalnik mora biti najprej konfiguriran za uporabo Kerberosa)

Opomba. V mojem primeru se nisem mogel takoj prijaviti v IE11. Moral sem dodati naslov zaupanja vrednim in v nastavitvah Spletnih mest za zaupanja vredne vrednosti določil vrednost overjanja uporabnika -> Parametra prijava na Samodejno prijava s trenutno uporabnik ime in geslo

Lahko preverite, ali se Kerberos uporablja za avtorizacijo na spletnem mestu z vpogledom v promet HTTP s pripomočkom Fiddler (to orodje smo že omenili).

Začnemo Fiddler, v brskalniku odpremo ciljno mesto. V levem oknu najdemo linijo dostopa do spletnega mesta. Na desni strani pojdite na zavihek Inšpektorji. String Zdi se, da glavo za odobritev (Pogajanje) vsebuje vozovnico Kerberos, pravi, da je bil za avtorizacijo na spletnem mestu IIS uporabljen protokol Kerberos.