Ein Microsoft Network Policy Server kann unter anderem dafür eingesetzt werden, um WLAN-Clients einen Zugang zu ermöglichen, bei denen die Authentifizierung über Client-Zertifikate abgewickelt wird. Der Server schickt dem Client eine Liste der vertrauenswürdigen Stammzertifikate, denen der Server vertraut. Der Client überprüft die Liste seiner Zertifikate und sendet dem Server dann ein Zertifikat, das von einer Zertifizierungsstelle aus dieser Liste (bzw. einer entsprechenden Sub-CA) ausgestellt wurde.
Nun schickt Microsoft mit den Updates ab und zu auch mal ein Update der Stammzertifizierungsstellen raus (z.B. KB931125). Das führte bei einem Kunden zu einem interessanten Fehler auf dem Network Policy Server.
Nach dem Einspielen des Updates und einem Reboot konnten die Clients keine Verbindung mehr zum WLAN aufbauen. Auf dem Network Policy Server gab es sehr viele Fehlermeldungen mit der Quelle "SChannel". Schaute man genauer hin, sah man eine Warnung mit derselben Quelle (Event-ID 36885). Diese Warnung führte uns dann zur Lösung. Im Internet gab es einige Artikel dazu; auch Microsoft hat einen KB-Artikel dazu. In dem Microsoft-Artikel wird auch erklärt, wo der Fehler liegt: die Größe der Liste, die der Server zurückliefert, ist auf 12.228 Bytes begrenzt. Ist die Liste größer, dann schneidet der Server einen Teil ab und sendet die modifizierte Liste an den Client. Das führt dann natürlich zu einem Problem, wenn in dem abgeschnittenen Teil das Stammzertifikat der CA war, die das Client-Zertifikat herausgegeben hat.
Es gibt nun mehrere Lösungsvorschläge. In dem MS-Artikel wird auf einen Hotfix für Windows Server 2003 verwiesen (das Problem tritt also nicht zum ersten Mal auf); da bei uns der Fehler unter Windows Server 2008 R2 auftrat, brachte uns das nicht weiter. Ein anderer KB-Artikel schlug drei weitere Möglichkeiten vor:
- nicht benötigte Stammzertifikate löschen
- per Gruppenrichtlinie den Client anweisen, Zertifikate aus "Vertrauenswürdige Stammzertifizierungsstellen" zu ignorieren (der Client betrachtet dann nur noch Zertifikate aus "Enterprise-Stammzertifizierungsstelle"
- per Registrierungsschlüssel den Server anweisen, die Liste nicht mehr zu versenden
Wir haben uns für die erste Lösung entschieden und haben außer dem Stammzertifikat der Kunden-CA nur noch Stammzertifikate von Microsoft in "Vertrauenswürdige Stammzertifikate" belassen. In einem weiteren KB-Artikel findet man eine Liste der Stammzertifizierungsstellen, die man laut Microsoft nicht entfernen sollte.
Sobald die Liste der Stammzertifizierungsstellen verkleinert war, konnten sich die WLAN-Clients wieder verbinden.
Links:
[2] http://support.microsoft.com/kb/933430/de
[3] http://support.microsoft.com/kb/2464556/en-us
[4] http://support.microsoft.com/kb/293781
http://faq-o-matic.net/?p=4738