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
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 lozinkaMož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.