Seit kurzem ist das Service Pack 2 für den Nachfolger von ISA 2006 verfügbar. Neben Bugfixes und verbesserten Fehlerseiten ist vor allem die Möglichkeit den Firewall Service als Domain User zu starten interessant. Dadurch erhält man die Möglichkeit den SPN für die virtuelle IP Adresse des NLB Custer auf eine Benutzerkonto zu binden, wenn der Firewall Service dann mit diesem Konto gestartet wird, funktioniert Kerberos Authentifizierung auch im NLB.

 

 

NLB und Kerberos

Für ein erfolgreiche Kerberos Authentifizierung muss der Service Principal Name den der Client verwendet um sich mit dem Server zu verbinden im Active Directory Account des Servers registriert sein. Der SPN muss im gesamten Forest eindeutig sein, d.h. nur ein Account kann den SPN für die NBL IP Adresse verwenden. Verbinden sich Clients mit anderen Knoten im Cluster schlägt die Kerberos Authentifizierung fehl, da der SPN nicht stimmt.

Bisher konnte der “Microsoft Forefront TMG Firewall Service” nur als Network Service laufen, d.h. für Kerberos Authentifizierungen wurde das Computerkonto jedes TMG Servers verwendet.

image

Mit Service Pack 2 kann man den Firewall Dienst als Domänenbenutzer starten, registriert man auf diesen Domänenbenutzer die benötigten SPNs funktioniert die Kerberos Authentifizierung im Clusterbetrieb.

Service Account Sicherheit

Aus Sicherheitsgründen sollte man ein eigenes Benutzerkonto für den TMG Service anlegen, dieses Benutzerkonto sollte ausschließlich für TMG verwendet werden und keine weiteren Berechtigungen in der Domain haben. Außerdem sollte man das Konto aus der Gruppe “Domain Users” entfernen, und eine andere Gruppe als primäre Gruppe definieren. Auch dieses Gruppe sollte kein Berechtigungen in der Domain oder auf einem anderen System haben.

Forefront TMG erteilt dem Benutzerkonto automatisch die minimal benötigten Berechtigungen wenn man den Firewall Service für dieses Konto konfiguriert. Auch auf dem TMG ist somit keine Konfiguration von Berechtigungen für das Service Account notwendig.

Konfiguration

Nach der Installation von Service Pack 2 kann man in den Eigenschaften des Arrays, im Reiter “Credentials” das Konto auswählen unter dem der Firewall Service in Zukunft laufen soll.

image

SPN hinzufügen

Um einen Serivce Principal Name zum Service Account hinzuzufügen, kann man z.B. das Tool “setspn” verwenden.

Registrierte SPNs anzeigen:

setspn –L benutzername</p>

setspn –L computername</code>

Neuen SPN registrieren:

setspn -S http/myArray.ntsystems.local tmgSvcUsr

Der Parameter –S überprüft zuerst ob der SPN nicht bereits von einem anderen Konto verwendet wird, anschließend wird er zum Konto hinzugefügt.

Verify Kerberos Authentication

Mit einem Netzwerk Analyse Tool sieht man dass vor der Registrierung des SPN NTLM für Proxy Authentifizierung verwendet wird.

image

Wurde der Firewall Service als Domain User gestartet und der benötigte SPN registriert, wird Kerberos verwendet.

image

Der Client verwendet jetzt GSS-API, also Kerberos, um sich zu authentifizieren. Mit “klist” kann man sehen dass der Client jetzt ein Ticket für den Array Namen hat.

image

Achtung: Es müssen alle Mitglieder im Array aktualisiert werden, bevor der Firewall Service als Domain User gestartet werden kann. Außerdem sollte man den SPN erst dann hinzufügen, wenn der Firewall Service als Domain User läuft da es sonst zu Authentifizierungsproblemen kommt.

 

Weitere Informationen zu “Kerberos authentication on an NLB array” im TechNet: http://technet.microsoft.com/en-us/library/hh454304.aspx

Um Forefront TMG SP2 installieren zu können muss Forefront TMG SP1 Update 1 installiert sein, Download: http://www.microsoft.com/download/en/details.aspx?id=11445

 

so long, tom

This post has been migrated from our earlier blog based on BlogEngine.NET.