Kerberos przyjacielem twym
Coraz częściej w pracy stykam się z koniecznością ustawienia autentykacji poprzez protokół Kerberos, więc stwierdziłem, że podzielę się z wami linkami bez których zrozumienie działania tego protokołu oraz zasad jego konfiguracji nie byłoby możliwe (przynajmniej dla mnie;) ).
Podstawą w kerberos jest poprawne skonfigurowanie SPN. Wiele artykułów w sieci podaje błędnie informacje na temat ich rejestracji, przez co częstym problemem jest ich duplikacja w domenie. Pierwszym artykułem który polecam jest Essential Tips On Kerberos for SharePoint Deployers. Nazwa wskazuje na SharePoint, jednak tyczy się ogólnie ustawiania SPN. Polecam ten artykuł dlatego, że otworzył mi oczy na moje ustawienia SPN – miałem masę podwójnych po tym jak robiłem wszystko zgodnie z tutorialem z jednej z książek, której nazwy nie wymienię ;)
Jak to, już przez to przebrniecie to polecam serię:
· IIS and Kerberos Part 1 - What is Kerberos and how does it work?
· IIS and Kerberos Part 2 - Service Principal Names (SPNs)
· IIS and Kerberos Part 3 - A simple scenario
· IIS and Kerberos Part 4 - A simple delegation scenario
· IIS and Kerberos Part 5 - Protocol Transition, Constrained Delegation, S4U2S and S4U2P
· IIS and Kerberos Part 6 - What's new in IIS 7
· IIS and Kerberos Part 7 - A simple cross Forest scenario
· IIS and Kerberos Part 8 - A simple cross Forest/Domain scenario delegation scenario
Dzięki tym linkom powinniście już być wstanie skonfigurować sobie tak site, by działał on po protokole kerberos. Autor omawia szczegółowo krok po kroku co powinniście zrobić w konkretnych scenariuszach, oraz opisuje jak działanie kerberosa w nich – gdzie i jak jest ticket przekazywany.
Przydatna do testowania tego całego rozwiązania będzie aplikacja DelegConfig. Jest to prosty site ASP.NET, na który wchodzimy z klietna (np.: IE). Podpowie nam ona czego brakuje, co jest nie tak, lub będzie świeciła na piękny kolor zielony jeżeli wszystko jest OK.
Dodatkowo, Kerberos można ustawić na SQL Server jak i SQL Server Analysis Services oraz Excel Services:
· How to use Kerberos authentication in SQL Server
· How to configure SQL Server 2005 Analysis Services to use Kerberos authentication
· How to configure SharePoint Server 2007 and Excel Services for Kerberos authentication
· How to make sure that you are using Kerberos authentication when you create a remote connection to an instance of SQL Server 2005
Bardzo ciekawy jest STEP 3 w pierwszym artykule. Pokazuje on w jaki sposób ustawić tak konto SQL Server’a by nie trzeba było potem się martwić o SPNy – będą one automatycznie ustawiane.
Przy SQL warto wspomnieć o tym, że w zależności od wersji systemu Windows na którym stoi domena, różne będą protokoły. Dla domeny w Windows 2000 będziecie wykorzystywać dla SQL Server wartośći MSSQLSvc zaś dla Analysis Services wartośći MSOLAPSvc. Zaś dla domeny w Windows 2003, do każdej wartości z Windows 2000, należy dodać .3, czyli MSSQLSvc.3 i MSOLAPSvc.3.
Podczas konfiguracji Kerberos, należy też wiedzieć iż ustawienie na cross domain na Windows 2000 jest nie możliwe. Tak samo jak na cross domain Windows 2000 i Windows 2003. Jest to spowodowane ustawieniem „ufności” dwóch domen. Poniższy pierwszy akapit artykułu, powinien wam już dużo powiedzieć (link i pomoc przy tym uzyskałem od nExoRa – jeszcze raz dzięki!):
„One of the important features of Windows Server 2003 was that Microsoft finally achieved the ability to create a true Kerberos trust between forests, also called a "cross-forest trust." This was noticeably missing in Windows 2000 Server, which allowed only NTLM or "external" trusts that did not have transitivity.”
Szersze wytłumaczenie można znaleźć w poście zatytułowanym Kerberos demystified.
Mam nadzieję że po tych lekturach nie będziecie mieli kłopotu z kerberosem :) jeżeli jednak wciąż coś wam nie wychodzi, dajcie znać w komentarzach a pomogą w ramach możliwości :)
PS.: Jeżeli wasza strona znajduje się dla przykładu na serwerze server01 zaś ustawiliście jej adres mojastrona.domena.pl lub coś podobnego, może się zdażyć iż wam kerberos nie zadziała. Dzieje się tak, że przeważnie ludzie dodaję wpis Alias (CNAME) dla Forward Lookup Zones zamiast HOST (A). Wystarczy, że usuniecie wpis CNAME i dodacie HOST i wszystko wam będzie śmigać (jeżeli cała reszta konfiguracji przebiegła pomyślnie oczywiście :D)
PS2.: Coś dla SharePoint’owców. Dwa bardzo dobre krótkie artykuły jak ustawić Kerberos dla SharePoint:
· Configuring Kerberos for SharePoint 2007: Part 1 - Base Configuration for SharePoint
· Configuring Kerberos for SharePoint 2007: Part 2 - Excel Services and SQL Analysis Services
PS3.: nExoR też wrzucił info o IIS i Kerberos, zapraszam do lektury (krótkiej, ale treściwej). Warto zwrócić uwagę na drukowane LITERY, bo to też jest bardzo ważne: http://www.w-files.pl/iis-i-kerberos/