ADSync und MFA

Microsoft setzt alles daran, die Sicherheit für Anmeldekonten über zusätzliche Authentifizierungsverfahren anzuheben. Eine Anmeldung per Benutzername und Kennwort ist einfach nicht sicher genug, wenn Anwender ihr Kennwort durch Phishing "verraten". Eine kleine falsche Konfiguration kann aber durchschlagende Wirkung auf automatische Prozess wie ADSync haben:

Fehler bei ADSync: stopped-extension-dll-exception

Es war, wie so oft, ein aktueller Case bei einem Kunden, bei dem ADSync beim Export ins AzureAD nicht mehr funktioniert hat. Ein Blick in den Synchronisation Manager hat einen Fehler "stopped-extension-dll-exception" angezeigt:

In Blick ins Eventlog hat dann jede Menge Fehler angezeigt:

Letztlich führen fast alle Events zu einer klaren Aussage:

Protokollname: Application
Quelle: Directory Synchronization
Datum: 02.03.2022 10:17:28
Ereignis-ID: 906
Aufgabenkategorie:Keine
Ebene: Fehler
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: ADSYNC.msxfaq.de
Beschreibung:
The ADSync service is not allowed to interact with the desktop to authenticate 
Sync_msxfa_132324@msxfaq.onmicrosoft.com. This error may occur if multifactor or 
other interactive authentication policies are accidentally enabled for the 
synchronization account.

Da hat wohl jemand im Tenant mit "Conditional Access"-Regeln gearbeitet und dabei übersehen, das das ADSync-Konto dies nicht unterstützt.

Signin-Logs

Wir haben dann im AzureAD den Benutzer angeklickt und die SignIn-Logs geprüft. Da war dann sofort zu sehen, dass das Sync-Konto sich nicht mehr anmelden konnte. Ein Bild davon reiche ich nach, wenn ich die Situation in einem Demo-Tenant nachgestellt habe. Im Log stand auch drin, welche Conditional Access Policy zugeschlagen hat.

Conditional Access

Wir haben dann in der Conditional Access Policy geschaut und hier hat ein anderer Admin einen Richtlinie angelegt, nachdem alle Benutzer MFA nutzen müssen, die eine der 77 Adminrollen im AzureAD haben. Das mag für Global Admin und viele andere passen, aber die Checkbox bei "Verzeichnissynchronisierungskonten" hätte man besser deaktiviert.

Nachdem MFA für das ADSync-Konto deaktiviert wurde, konnte ADSync seine unterbrochene Arbeit wieder aufnehmen.

Tenant Security Default

Neben der Conditional Access-Funktion gibt es im Azure AD noch "Security "Default" (https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Properties)

Die können die gefahrlos einschalten, denn das ADSync-Konto fällt nicht darunter, da die Anmeldungen keine "Interaktiven" Anmeldungen sind. das können Sie im SignIn-Log des Kontos gut sehen:

Unter "User Sign ins (interactive)" finden sich keine Einträge.

Ergebnis

MFA ist wichtig und sollte für jeden "Mensch" aktiviert werden. Menschen sind es, die auf Links in Mails klicken und auf einer so geöffneten Webseite vielleicht eine Malware herunterladen oder ihre Zugangsdaten eingeben. Aktuell sind die meisten dieser Seiten noch auf das reine "Phishing" eingestellt. Bislang habe ich nur nachgemachte Bankseiten gesehen, die eingegebene Anmeldedaten sofort gegen die Bank prüfen um so auch eine MFA-Abfrage der Bank zu erkennen und diese auch auszuführen. Bei der Bank geht es dem Angreifer aber nicht um einen dauerhaften Zugang, solange er nur einmal sich anmelden kann.

Bei AzureAD hingegen gibt es Dienstkonten, deren Kennwort sehr lang sein kann und die nicht von "unbedarften Anwendern" genutzt werden. Wenn die Dienstkonten dann auf ihre Funktion beschränkt sind, dann kann der Zugang auch ohne MFA als sicher gelten. Es hindert sich natürlich niemand, per Conditional Access auch das ADSync-Konto abzusichern aber die statische IP-Adresse ihres Netzwerks (Trustde Site) als zweiten Faktor zu aktivieren.

Übrigens gibt es natürlich auch App-Konten, mit denen ein Code unter Nutzung seiner AppID als Kontonamen und einem Kennwort oder Zertifikat als Secret den Zugriff auf Cloud-Dienste und Daten erhalten. Diese Konten fallen generell nicht unter MFA/Conditional Access. Leider nutzt ADSync noch ein Dienstkonto mit dem Zugriff auf die DirSync API und nicht ein App-Konto mit Zugriff auf Graph.

Weitere Links