Vergangene Woche lag wieder einmal ein interessanter Fall auf unserem Schreibtisch: Der User kann sich nicht einloggen.
Wir machten uns auf die Suche. Zuerst schlossen wir die üblichen Verdächtigen aus:
- Benutzername falsch geschrieben
- Passwort falsch eingegeben
- AD Account gesperrt
Kurios an dem ganzen Fall war, von über 1’800 Accounts waren weniger als 10 Accounts betroffen.
Die O365-Tests bei Microsoft Remote Connectivity Analyzer brachten uns nicht weiter, da gemäss Analyse von Microsoft alles in Ordnung war. Wir beobachteten aber beim Anmeldeversuch der betroffenen Accounts folgendes Verhalten auf dem ADFS-Server:
- Die CPU-Last des ADFS-Services stieg auf über 50%, solange der Loginversuch lief.
- Google Chrome und Mozilla Firefox lieferten als Fehlermeldung „Too many redirects“ / „Zu viele Umleitungen“ zurück.
Dieser Sache wollten wir unbedingt auf den Grund gehen (Sherlock Holmes lässt grüssen). Mit dem Web Debgugging Tool Fiddler2 machten wir uns an die Analyse des Loginvorgangs.
Dabei zeigte sich, dass bei einem betroffenen Account kein MSISAuth Cookie erstellt werden konnte. Aus diesem Grund gab es eine Endlosschleife (infinity loop) mit dem Loginvorgang, was die erhöhte Last des ADFS-Services sowie die Fehlermeldungen der Browser erklärte.
Eine Debug-Analyse des ADFS-Trace-Logs bestätigte dies und brachte uns auch zur Ursache des Problems. Das erzeugte SSO-Token war zu gross, um in das MSISAuth Cookie geschrieben zu werden.
Der Premier-Support von Microsoft gab uns anschliessend noch die Erklärung und Lösungsvorschläge zu dem Problem: Es gab im August einen Security-Fix (MS13-066) für ADFS, welcher dazu führt, dass bei zu vielen Gruppenmitgliedschaften das SSO-Token zu gross wird und es dadurch keinen Platz mehr im MSISAuth Cookie hat. Gemäss Microsoft-Support wird demnächst ein neuer Fix erscheinen, der dieses Problem ohne Workaround beheben soll.
Als Lösungsvorschläge bzw. Workaround bieten sich aktuell folgende Möglichkeiten an:
- Deinstallation des Fix MS13-066
- Reduktion der Anzahl Gruppenmitgliedschaften des betroffenen Accounts
- Anpassung der Claim Rules auf dem Claim Provider Trust in der ADFS-Konsole (Entfernung der Regel: all Group SID claims)
Beitrag teilen