Nakonfigurujte autentifikáciu Kerberos na webe IIS

Podrobné pokyny na nastavenie transparentnej autentifikácie používateľov domény v režime SSO (Single Sign-On) pomocou protokolu Kerberos na webovej stránke IIS v systéme Windows Server 2012 R2.

Na webovom serveri spustite konzolu IIS Manager, vyberte požadovanú stránku a otvorte časť overenie pravosti. Ako vidíte, v predvolenom nastavení je povolené iba anonymné overenie (anonymný overenie pravosti). Vypnite ho a zapnite ho windows overenie pravosti (IIS sa vždy pokúša najprv o anonymné overenie).

Otvoríme zoznam poskytovateľov dostupných pre autentifikáciu Windows (poskytovatelia). V predvolenom nastavení sú k dispozícii dvaja poskytovatelia: vyjednávať a NTLM. Negotiate je kontajner, ktorý používa Kerberos ako svoju prvú autentifikačnú metódu, ak toto overenie zlyhá, použije sa NTLM. Je potrebné, aby v zozname poskytovateľov bola táto metóda vyjednávať stál prvý.

Ďalším krokom je registrácia Meno príkazcu služby (SPN) záznamy názvu servera, ku ktorému majú používatelia prístup. Ak by stránka IIS mala byť prístupná iba podľa názvu servera, na ktorom je umiestnená (http: // názov servera alebo http://server-name.contoso.com), nemusíte vytvárať ďalšie záznamy SPN (záznamy SPN). už existuje na serverovom účte v službe AD). Ak používate inú adresu lokality ako názov hostiteľa alebo pri vytváraní vyváženej webovej farmy, budete musieť k serveru alebo používateľskému účtu priradiť ďalšie SPN..

Predpokladajme, že máme serverovú farmu IIS. V takom prípade je optimálne vytvoriť samostatný účet v službe AD a naň viazať záznamy SPN. Z toho istého účtu spustia cieľovú skupinu aplikácií našej stránky.

Vytvorte si účet domény iis_služba. Uistite sa, že k tomuto objektu nie sú priradené žiadne položky SPN (atribút servicePrincipalName je prázdny).

Predpokladajme, že stránka by mala odpovedať na adresy _http: // webportal a _http: //webportal.contoso.loc. Tieto adresy musíme zaregistrovať v atribúte SPN servisného účtu.

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

Takto povolíme tomuto účtu dešifrovať lístky Kerberos, keď používatelia pristupujú na tieto adresy a autentifikujú relácie.

Nastavenia účtu SPN pre svoj účet môžete skontrolovať takto:

setspn / l iis_service

rada. Kerberos nebude fungovať správne, ak existujú duplicitné SPN v rôznych záznamoch domény. Pomocou nasledujúceho príkazu overte, či v doméne nie sú duplicitné názvy SPN: setspn -x

Ďalším krokom je konfigurácia IIS Application Pool, aby sa spúšťala pod vytvoreným účtom služby.

Vyberte web fondu aplikácií (v našom príklade je to DefaultAppPool)..

Otvorte sekciu nastavení pokročilý nastavenie  a prejdite na parameter identita.

Zmeniť pomocou ApplicationPoolIdentity na contoso \ iis_service.

Potom v konzole IIS Manager prejdite na svoju stránku a vyberte príslušnú časť Editor konfigurácie.

V rozbaľovacej ponuke prejdite na časť system.webServer> bezpečnosť> autentifikácia> windowsAuthentication

zmena useAppPoolCredentials na pravdivý.

Takto umožníme službe IIS používať účty domény na dešifrovanie lístkov Kerberos od klientov.

Reštartujte službu IIS príkazom:

iisreset

Rovnaká konfigurácia sa musí vykonať na všetkých serveroch webovej farmy.

Autorizáciu Kerberos testujeme otvorením klienta v klientovom prehliadači (prehliadač musí byť najprv nakonfigurovaný na používanie protokolu Kerberos) _http: //webportal.contoso.loc

poznámka. V mojom príklade som sa nemohol okamžite prihlásiť na serveri IE11. Musel som pridať adresu k dôveryhodným a v nastaveniach Dôveryhodných zónových serverov nastaviť hodnotu Overenie užívateľa -> Parameter prihlásenia na automatický prihlásenie s prúd užívateľ názov a heslo

Môžete skontrolovať, či sa Kerberos používa na autorizáciu na webe kontrolou prevádzky HTTP pomocou nástroja Fiddler (tento nástroj sme už uviedli).

Začíname Fiddler, v prehliadači otvoríme cieľovú stránku. V ľavom okne nájdeme linku prístupu na stránku. Vpravo prejdite na kartu Inšpektori. riadok Zdá sa, že hlavička autorizácie (Negotiate) obsahuje lístok Kerberos, hovorí, že protokol Kerberos bol použitý na autorizáciu na serveri IIS.