Exchange Online Authentifizierung

Microsoft macht langsam Ernst und plant die Anmeldung per "Benutzername/Kennwort" an POP, IMAP und immer mehr Diensten abzuschalten. Der neue Weg heißt "OAUTH", bei der sich der Client erst ein Zugangstoken bei einem zugelassenen Federation Service (EvoSTS) besorgt. Dieser Service kann dann auch genutzt werden, um MFA, Conditional Access u.a. Mehrwerte umzusetzen.

Meine Empfehlung:
Warten Sie nicht auf Microsoft, sondern schalten sie so bald wie möglich "Legacy Authentication" ab. Dies gilt insbesondere, wenn Sie heute schon ihre Benutzer mit MFA/Conditional Access schützen müssen, denn EWS und andere Zugänge sind dann weiter Einfallstore.

Abschaltung Basic Authentication

Wenn man den Aussagen von Microsoft glauben darf, dann sollte am Oktober 2020 eine Anmeldung per POP/IMAP nur noch über "Modern Authentication" möglich sein. Allerdings hat Microsoft diese Aussage immer wieder geändert.

COVID19 wirft so einiges durcheinander. Zuerst war Oktober 2020 als Stichtag geplant, der über mehrere Stufen immer weiter verschoben wurde. Im Mail 2021 war der Stand, dass Basic Authentication nur bei den Tenants deaktiviert wird, die es bislang eh nichts genutzt haben.

Bitte beachten Sie jeweils aktuellste Information und ggfls. Links zu neueren Seiten.

Datum Information

16, Jun 2021

Microsoft hat die letzten 3 Monate genutzt, um die Anmeldungen zu analysieren und behauptet nun besser zu verstehen, wer was nutzt. Das Ziel ist immer noch "Basic Authentication" abzuschalten und sie fangen mit den Kunden an, die "Basic Authentication" nicht nutzen. Der Prozess wird wie folgt ablaufen:

  • T-30: Information im Message Center
    Wenn ihr Tenant ausgewählt wird, dann bekommen Sie 30 Tage vorher eine Information im Message Center ihres Tenant. Achten Sie also darauf, diese Informationen zu lesen oder sich als Planner oder Mail zustellen zu lassen. Siehe auch Microsoft 365 Message Center
  • T-0: Basic wird abgeschaltet und im Messagecenter mitgeteilt
    Wenn bei ihnen dann alles noch funktioniert, dann war es das.

Sollten Sie aber erst danach irgendwann merken, dass etwas nicht funktioniert oder sie nachträglich doch wieder "Basic Authentication" benötigen, dann können Sie es selbst wieder über die Hilfefunktion im Portal akivieren. Die Schritte dazu sind im Blog beschrieben.

2. Apr 2021

Alles wieder zurück auf Anfang.

...The first change is that until further notice, we will not be disabling Basic Authenticationfor any protocols that your tenant is using. When we resume this program, we will provide a minimum of twelve months notice before we block the use of Basic Authenticationon any protocol being used in your tenant.

Wer aber heute kein Basic Authentication nutzt oder einen neuen Tenant anlegt, wird dennoch deaktiviert.

28. Juli 2020

Es gibt nun eine Option im Admin Center, die Nutzung von Basic Authentication schon vorab einfach abzuschalten.

09. Apr 2020

Neu angelegte Tenants werden per Default keine Basic Authentication mehr nutzen können.

In response to the COVID-19 crisis and knowing that priorities have changed for many of our customers we have decided to postpone disabling Basic Authentication in Exchange Online for those tenants still actively using it until the second half of 2021. We will provide a more precise date when we have a better understanding of the impact of the situation.

We will continue to disable Basic Authentication for newly created tenants by default and begin to disable Basic Authentication in tenants that have no recorded usage starting October 2020. And of course you can start blocking legacy authentication today, you don’t need us to do anything if you want to get started (and you should).

25. Feb 2020

Hinweise, wie sie im Azure Portal ermitteln. wer sich noch per Basic Authentication anmeldet

09. Jan 2020

20. Sep 2019

Erste Information über die Abschaltung von Basic Authentication bei Exchange Online

07. März 2018

Erster Hinweis, dass Microsoft "Basic Authentication" für die Zugänge zu EWS, ActiveSync, POP, IMAP und RemotePowershell am 13. Okt 2020 abschalten möchte

Das kann einfach ein Zugeständnis aufgrund von Covid-19 an Kunden sein oder auch aufgrund einer Knappheit an eigenen Kräften kein Risiko einzugehen. Ich persönlich denke aber, dass es noch viel zu viele Lösungen gibt, die Postfächer mit POP3/IMAP4 abrufen und einfach nicht schnell genug umgestellt werden können.

Microsoft ist aber nicht der einzige Anbieter, der OAUTH forciert.

Nutzung über Exchange prüfen

Im neuen Exchange Admin Center gibt es mittlerweile umfangreiche Reports. Ein Report dazu ist der "SMTP AUTH clients report".

Der Report analysiert, welche SMTP-Clients sich per "Basic Authentication" anmelden.

Das ist natürlich kein 100% Report für IMAP4/POP3-Nutzung aber "nahe genug" dran, denn IMAP3/POP3-Clients senden auch gerne Mails per SMTP und fallen so mit auf.

Nutzung über Azure analysieren

Aber Sie sollten sich vorbereiten und wenn eine Applikation bis dahin nicht erweitert werden kann, sollten Sie die Postfächer besser auf einem lokalen Exchange Server umziehen. Auf jeden Fall ist ein Blick in die Anmeldeüberwachung ratsam, um die Nutzer von POP3/IMAP4 zu erkennen. Über das Azure-Portal können Sie im "Azure Active Directory" unter "Sign-Ins" auf die Clients Filtern.

Zuerst addieren Sie "Client App" als Filter um dann auf dem Filter die "Legacy Authentication Clients" anzukreuzen. Eventuell sollten Sie den Zeitraum von "24h" auf "1 Monat" umstellen. Sie sollten dann alle Anmeldungen an diesen Diensten aufgelistet bekommen. Client, die schon OAUTH nutzen, sind aus Sicht des AzureAD eben keine "Legacy Authentication Clients" sondern tauchen mit ihrem Applikationsnamen auf.

Applikationen aktualisieren

Die neu möglich gewordene Sicherheit erfordert natürlich eine Anpassung der jeweiligen Anwendung. Allerdings ist niht nur Microsoft auf dem Weg zu OAUTH, sondern auch Google und andere Dienste erweitern ihre Anmeldungsoptionen. Thunderbird konnte schon in der Version 38 (Release 11.Juni 2015) mit Google OAUTH.

Es dürfte also nicht lange dauern, bis die Funktion auch mit Office 365-Postfächern zur Verfügung steht. Ale anderen Programmierer sollten sich aber zügig mit dieser Funktion auseinandersetzen. Zumal Firmen auch ihre OnPremises-Systeme mittels Hybrid Modern Authentication (HMA) auf OAUTH umstellen.

Altlasten mit IMAP4 weiter betreiben

Es wird immer Programme oder Lösungen geben, die nicht mehr durch den Hersteller gewartet oder aktualisiert werden. Sie müssen aber auch nach der Abschaltung von "Basic Authentication" funktionieren. gegen Exchange Online mit POP3/IMAP4 wird das schwer. Also gilt es Alternativen zu suchen. Ich stelle hier mal ein ein paar kurz vor.

  • Exchange OnPremises
    Solange Sie noch Exchange Hybrid sind und einen lokalen Exchange Server betreiben, könnten Sie die fraglichen Postfächer weiterhin "OnPremises" betreiben. Damit kann ihre alte POP3/IMAP4-Applikation, die vermutlich auch nicht in der Cloud läuft, auf das Postfach weiter zugreifen.
  • Lokaler IMAP4-Subdomain
    Der Betrieb eines Exchange Servers ist natürlich aufwändig. Wenn es nur um ein "durchlaufendes Postfach" geht, dann können Sie auch in der Nähe der Applikation einen kleinen IMAP4-Server, wie z.B. hMailServer, betreiben. Der kann dann eine Subdomain haben wie "app1.uclabor.de" und in Exchange gibt es einen Kontakt, der alle Mails an app@uclabor.de an mailbox@app.uclabor.de über einen passenden Send-Connector weiter gibt. Dann kann die Applikation die Daten auch wieder abrufen.
  • Alternative Wege
    Wenn die App nicht auf EWS/Graph umgestellt werden kann, dann könnte Sie vielleicht so angepasst werden, dass diese stattdessen Dateien in einem Verzeichnis einliest. Dann können Sie sogar den einfachen Windows SMTP-Server nutzen. Dieser kann auch Mails für einen Domain annehmen und als Dateien im RFC822-Format ablegen. zudem kann auch auch Mails per Dateischnittstelle FILE - Pickup Verzeichnis Nachrichten zum Versand annehmen.
  • IMAP4->EWS/Graph-Proxy
    Mit DavMail (http://davmail.sourceforge.net/advanced.html) gibt es schon länger eine Brücke, mit der IMAP4-Programme weiterhin auf andere Dienste zugreifen können, die nur per EWS/WebDAV erreichbar sind. Aktuell funktioniert der Proxy noch nicht mit OAUTH2 aber könnte vielleicht weiter entwickelt werden. Leider scheint aber Exchange 2010 die letzte Exchange Version zu sein.
  • Eigener Proxy
    IMAP4 ist ja kein besonders kniffliges Protokoll und wenn die alte App einfach nur per TCP-Connection auf einen lokalen IMAP-Server geht, der dann seinerseits gegen Graph die Daten liefert, könne so eine Lösung dann auch möglich sein.

Der Weg, die Mails gar nicht mehr in einer Exchange Online-Mailbox abzulegen, sondern an einen eigenen für die jeweilige Applikation angepassten IMAP4-Server per SMTP zuzustellen, hat aus meiner Sicht den größten Charme.

Prüfen

Ehe Sie nun aber ihre OAUTH-taugliche Applikation gegen Outlook.Office365.com per POP3 oder IMAP4 konfigurieren, können Sie ja mal schauen, welche Authentifizierungsverfahren die Gegenseite ihnen anbietet. Bei Thunderbird habe ich daher eine Verbindung per "IMAP:outlook.office36.com:143" mit konfiguriertem OAUTH2 gestartet. Thunderbird fragt direkt die "Capability" ab.

Hier kann man allerdinge OAUTH nicht sehen, denn Microsoft wird dieses Verfahren sicher nicht ohne Verschlüsselung anbieten. Bei OAUTH wird ja das Zugriffstoken direkt übertragen und könnte dann mitgelesen werden. Verschlüsselung ist also Pflicht. Erst dann sollten Sie auch das Verb "AUTH=XOAUTH2" bzw. "AUTH=XOAUTH" ausgeliefert bekommen. Das könnte dann so aussehen.

C: 01 CAPABILITY
S: * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA XLISTCHILDREN XYZZY SASL-IR AUTH=XOAUTH2 AUTH=XOAUTH
S: 01 OK Completed
C: 02 AUTHENTICATE XOAUTH2 <base64token==>
S: 02 OK Success
...

Per WireShark können Sie diese Kommunikation leider nicht mitschneiden, wenn Sie per TLS verschlüsselt ist.

Basic abschalten

Sie müssen aber nicht erst warten, bis Microsoft global die Nutzung on Basic Authentication abschaltet. Diese Einstellungen können Sie pro Benutzer in der Exchange PowerShell aktivieren. So können Sie schon heute bei all den Benutzer die Anmeldung per Basic Authentication von Vorneherein unterbinden. Zuerst legen wir dazu eine Authentifizierungsrichtlinie an.

New-AuthenticationPolicy `
   -Name "Block Basic Authentication" `
   -BlockLegacyAuthImap `
   -BlockLegacyAuthPop

Das Commandlet kennt noch weitere Einstellungen aber ich habe mich hier auf POP3 und IMAP4 beschränkt.

Im zweiten Schritt wird die Policy dann an die entsprechenden Postfächer zugewiesen.

Set-User `
   -Identity <upn> `
   -AuthenticationPolicy "Block Basic Authentication"

Die Richtlinie kann leider nicht über LDAP-Attribute oder Gruppenmitgliedschaften sondern nur pro Benutzer zugewiesen werden. Wenn Sie mehrere Benutzer bearbeiten wollen, dann können Sie mit PowerShell natürlich eine Schleife programmieren.

Eine elegante Methode ist aber auch die Negierung der Logik. Es gibt eine "Default Authentifizierung-Policy", die für alle Benutzer gilt, die keine abweichende individuelle Richtlinie nutzen. Sie können so Basic Authentication generell abschalten und dann für die Ausnahmen wieder zulassen.

# Zwei Policies anlegen
New-AuthenticationPolicy `
   -Name "Block Basic Authentication" `
   -BlockLegacyAuthImap `
   -BlockLegacyAuthPop

New-AuthenticationPolicy `
   -Name "Allow Basic Authentication" `
   -AllowLegacyAuthImap `
   -AllowLegacyAuthPop

# Ausnahmen zuweisen
Set-User `
   -identity <pop3username> `
   -Authenticationpolicy "Allow Basic Authentication"

# Default zuweisen
Set-OrganizationConfig `
   -DefaultAuthenticationPolicy "Block Basic Authentication"

Basic wieder erlauben

Wenn Microsoft ihren Tenant auf "Modern Auth Only" umgestellt hat, weil Sie noch nie eine Anmeldung mit einem Legacy-Client genutzt haben, dann können Sie aktuell (Stand Jun 2021) immer noch die klassische Anmeldung aktivieren. Sie gehen einfach auf das Microsoft Admin Center unter https://admin.microsoft.com und starten über das Fragezeichen links unten die Hilfe

Im Dialog suchen Sie dann einfach nach "disable modern authentication". In der Ergebnisliste sollte dann auch der folgende Eintrag erscheinen:

Aktuell finde ich aber nur die Links auf folgende Seiten. Früher gab es da auch schon mal einen Sprung zu Assistenten, der die Änderungen per GUI erlaubt. Bei Exchange Online EWS Online Throttling gibt es den ja auch

Weitere Links