Freigeben über


PCNS und seine Tücken

PCNS, Password Change Notification Service, ist eine Ergänzung zu MIIS/ILM und dient dazu Passwörter zu synchronisieren. Der grundsätzliche Aufbau ist quasi ein Source Forest in dem man die Password Änderungen aufnimmt und ein Target Forest in die dann das geänderte Password synchronisiert werden soll. Vorsicht hier vor einer Schleife, wer von beiden Seiten hin-und-her synchronisieren möchte, der landet schnell in einer Endlos Schleife. Daher also grundsätzlich so: Ein Source Forest und ein oder mehrere Target Forest. Gehen wir mal von einem üblichen Fall aus:

Ein Source Forest AD_1 (wir akzeptieren nur Active Directory als Password Quelle) und mehrere Ziel Forests AD_2, AD_3 usw. Man muss nun eine lauffähige MIIS Struktur dazu aufbauen, also Active Directory Management Agenten für jeden Forest. Wenn dies alles läuft, dann kann man sich PCNS zuwenden. PCNS ist ein kostenfreier Download (Links werden unten angefügt) und besteht im wesentlichen aus drei Komponenten:

PCNSFLT.DLL: Der Password Filter erhält das Password vom AD, dazu muss er auf jedem DC im Source Forest installiert werden (fehlt er auf einem, dann werden die Password Änderungen dieses DCs nicht erfasst)

PCNSSVC.EXE: Der Password Notification Service erhält die Passwort Notifications vom lokalen Passwort Filter und leitet diese an MIIS weiter. Dieser Dienst ist auch für die Verschlüsselung des Passwords zuständig, natürlich geht das nicht im Klartext über die Leitung.

PCNSCFG.EXE: Dies ist das Configuration Tool um den Dienst zu konfigurieren

Zusammen mit den Produkt kann man auch eine sehr ausführliche Dokumentation herunter laden. Diese Step-by-Step Anleitung ist sehr ausführlich und sollte tunlichst genau befolgt werden. Speziell das Eintragen des SPN für den MIIS Service Account sollte mit Sorgfalt durchgeführt werden.

Wobei wir auch schon zu den Problemzonen kommen. Wenn Probleme mit PCNS auftreten, dann sind dies zu 99% Probleme aus diesen drei Bereichen:

  • Namensauflösung
  • SPN Registrierung
  • Ports auf einer Firewall

Namensauflösung:

Hier muss eine sauber funktionierende DNS Namensauflösung gegeben sein. In der Anleitung heißt es ganz lapidar:

"Proper DNS Configuration

The management agents for both Active Directory forests must have access to each forest. ILM 2007 must have access to the SRV records in DNS for a management agent to find a forest. The zones for the two forests have to be centrally located on a DNS server that the management agents have access to or you must configure the forwarders on the server running ILM 2007. "

Aus Erfahrung kann ich nur dazu raten dies sehr sorgfältig zu überprüfen. Wenn nicht die DNS Server aus Source und Target Forest für den MIIS Server eingetragen werden können, dann vielleicht als Workaround ein lokaler DNS mit Forwarder für Source und Target Forest? Egal wie, DNS muss klappen.

SPN Registrierung:

Die SPN Registrierung ist in der Anleitung sehr genau beschrieben, hier wird der SPN für den MIIS Serviceaccount registriert. Bitte unbedingt überprüfen ob der korrekt eingetragen ist und auch für den PCNSSVC eingetragen wurde. Auch hier ist Genauigkeit angesagt. Lieber einmal öfter die Syntax genau überprüft als den SPN nur per Erfahrung zu setzen.

Ports auf einer Firewall:

Das ist ein Kapitel für sich. Für MIIS gibt es ein Whitepaper "MIIS 2003 Management Agent Communication Ports, Rights, and Permissions", hier sind ganz genau die Rechte und Ports aufgeführt die von MIIS genutzt werden. Jedoch, es gibt da einen Haken. Für PCNS wird vorausgesetzt, das der MIIS Server in der gleichen Domain ist. Wenn der MIIS Server in der anderen Domain ist, dann muss ein Bi-direktionaler Forestlevel Trust zwischen beiden Forests bestehen. Der Grund dafür ist, das PCNS den MIIS Server über Kerberos via seines SPNs findet. Doch meistens ist das zu umgehen indem der MIIS Server im Source Forest steht. Doch nun kommt eine weitere Schwierigkeit: Was, wenn zwischen DC mit PCNS installiert und MIIS Server eine Firewall steht? (Zum Verständnis eine Skizze:)

 

pcns-ports

Auch hier müssen die Ports 389, 88, 135 offen sein. Und noch eine weitere Hürde: Es ist nicht erwartet, dass zwischen Source DC und MIIS eine Firewall steht. Daher geht PCNS zunächst über den RPC Endpointmapper (TCP 135) um einen Dynamischen Port für die weitere RPC Kommunikation zu vereinbaren. Dieser neue Dynamische Port muss nun auch freigegeben werden. Manche Firewalls wie z.B. der ISA Server haben einen RPC Filter und erkennen dann aufgrund der UUID das auch die folgende RPC Kommunikation durchgelassen werden muss. Wenn das nicht gemacht wird, dann wird PCNS einen Fehler 6025 loggen und kann die Password Notifications nicht an MIIS übermitteln.

Und das waren auch schon 99% aller Probleme die mit PCNS auftreten. Wenn also PCNS Fehler auftreten, überprüft bitte diese drei Punkte, die Chance das Problem zu lösen ist extrem hoch - wenn man diese Punkte mit der nötigen Genauigkeit überprüft.

Und noch der Link zu PCNS: Microsoft Password Change Notification Service

und zur PCNS Dokumentation: ILM 2007 Password Management Collection

Schöne Grüße, Hans-Jürgen