Konfigurirajte Kerberos provjeru autentičnosti na IIS mjestu

Korak po korak upute za postavljanje transparentne provjere autentičnosti korisnika domene u SSO (Single Sign-On) načinu rada pomoću Kerberos protokola na IIS web mjestu na Windows Server 2012 R2.

Na web poslužitelju pokrenite konzolu IIS Manager, odaberite željenu web lokaciju i otvorite odjeljak ovjera. Kao što vidite, samo je anonimna provjera autentičnosti dopuštena (anoniman ovjera). Isključite i uključite Windows ovjera (IIS prvo prvo pokuša anonimnu autentifikaciju).

Otvaramo popis pružatelja usluga dostupnih za provjeru autentičnosti sustava Windows (Pružatelji usluga). Prema zadanim postavkama dostupna su dva pružatelja usluga: pregovarati i FCNTL. Pregovarač je spremnik koji koristi Kerberos kao svoju prvu metodu provjere autentičnosti; ako ova provjera identiteta ne uspije, koristi se NTLM. Potrebno je da na popisu pružatelja metoda pregovarati stajao prvi.

Sljedeći korak je registracija Naziv glavnog usluge (SPN) zapise o nazivu web mjesta kojima će korisnici pristupiti. Ako bi IIS web mjesto trebalo biti dostupno samo imenom poslužitelja na kojem se nalazi (http: // ime poslužitelja ili http://server-name.contoso.com), ne morate stvarati dodatne SPN zapise (SPN zapise već postoji na računu poslužitelja u AD-u). Ako upotrebljavate adresu web mjesta koja nije ime domaćina ili kad gradite uravnoteženu web farmu, morat ćete povezati dodatne SPN-ove na poslužiteljski ili korisnički račun.

Pretpostavimo da imamo farmu poslužitelja IIS. U tom je slučaju optimalno stvoriti zaseban račun u AD-u i na njega vezati SPN zapise. S istog računa pokrenut će ciljni Application Pool naše stranice.

Stvorite račun domene iis_usluga. Provjerite da li ovom objektu nisu dodijeljeni SPN unosi (atribut servicePrincipalName je prazan).

Pretpostavimo da web mjesto treba odgovoriti na adrese _http: // webportal i _http: //webportal.contoso.loc. Te adrese moramo registrirati u atributu SPN računa računa usluge.

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

Na taj ćemo način omogućiti ovom računu da dešifrira Kerberos karte kad korisnici pristupe tim adresama i ovjere sesije.

Postavke SPN za svoj račun možete provjeriti na sljedeći način:

setspn / l iis_service

vijeće. Kerberos neće raditi ispravno ako postoje dvostruki SPN-ovi na različitim zapisima domena. Pomoću sljedeće naredbe provjerite da u domeni nema dupliciranih SPN-ova: setpn -x

Sljedeći je korak konfiguriranje skupa aplikacija IIS da se pokreće iz kreiranog računa usluge.

Odaberite web mjesto s bazenom aplikacija (u našem primjeru to je DefaultAppPool).

Otvorite odjeljak postavki napredan postavke  i idite na parametar identitet.

Promijenite ga sa ApplicationPoolIdentity na contoso \ iis_service.

Zatim u konzoli IIS upravitelja idite na web mjesto i odaberite odjeljak Uređivač konfiguracija.

Na padajućem izborniku idite na odjeljak system.webServer> sigurnost> provjera autentičnosti> WindowsAuthentication

promjena useAppPoolCredentials na istinski.

Stoga ćemo omogućiti IIS-u da koristi račune domene za dešifriranje Kerberosovih karata od klijenata.

Ponovo pokrenite IIS sa naredbom:

iisreset

Ista konfiguracija mora biti izvedena na svim poslužiteljima web farm.

Kerberos autorizaciju testiramo otvarajući klijenta u pregledniku klijenta (preglednik prvo mora biti konfiguriran da koristi Kerberos) _http: //webportal.contoso.loc

primjedba. U svom primjeru nisam se mogao prijaviti odmah na IE11. Morao sam dodati adresu pouzdanima i u postavkama Trusted Zones Sites postaviti vrijednost User Authentication -> Logon parametar na automatski prijava s struja korisnik ime i lozinka

Možete provjeriti koristi li Kerberos za autorizaciju na web mjestu uvidom u HTTP promet pomoću Fiddler uslužnog programa (taj program smo već spomenuli ranije).

Pokrećemo Fiddler, u pregledniku otvaramo ciljno mjesto. U lijevom prozoru nalazimo liniju pristupa mjestu. S desne strane idite na karticu Inspektori. red Čini se da zaglavlje autorizacije (pregovora) sadrži kartu Kerberos, kaže da je za autorizaciju na web mjestu IIS korišten protokol Kerberos.