Exchange Online Authentifizierung

Microsoft wird die Anmeldung per "Benutzername/Kennwort" an POP, IMAP und einigen anderen Diensten abschalten. Der neue Weg heißt "Modern Authentication", 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.

M365 Platform Call Jun 14 2022 - Greg Taylor - Basic Auth Deprecation in Exchange Online
https://pnp.github.io/blog/microsoft-365-platform-community-call/2022-06-14/files/M365%20Platform%20Call%20-%20June%2014%202022.pptx

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

Aktuell

Ver Versand von SMTP-Nachrichten über outlook.office365.com:587 ist ohne AUTH nur möglich, wenn es pro Benutzer oder Organisationsweit zugelassen wird

Set-CASMailbox -Identity <MailboxIdentity> -SmtpClientAuthenticationDisabled $false

Jun 2023

Im Sommer 2023 will Microsoft dann auch noch die Exchange PowerShell umstellen, damit sie keine RPS-Calls mehr nutzt. Für Sie als Administrator bedeutet dies, dass Sie alle Skripte bis dahin auf die neue Exchange PowerShell 3 umstellen müssen.

1. Jan 23

BasicAuth ist bei allen Tenants abgeschaltet und kann auch nicht mehr temporär aktiviert werden. Wenn Sie weiter Dienste nutzen, die Postfachzugriff per BasicAuth brauchen, dann müssen Sie eine Alternative umsetzen. Siehe BasicAuth Ende mit POP3/IMAP4 umgehen.

1. Okt 22

BasicAuth wird bei den verbliebenen Tenants abgeschaltet. Ein einmaliges Rollback pro Protokoll ist möglich

Sep 22

In diesem Monat "können" sie eine Verlängerung bis 31.12.2022 beantragen.

Aug 22

Es wird langsam ernst, denn Microsoft twittert mittlerweile einen "Countdown". Niemand sollte darauf spekulieren, dass Microsoft die Abschaltung noch mal vertagt.

3. Mai 22

Es bleibt beim bekannten Fahrplan und zum 1. Okt und es wurde noch etwas konkretisiert:

October 1; this is not the date we turn it off for everyone. We will randomly select tenants, send 7-day warning Message Center posts (and post Service Health Dashboard notices), then we will turn off Basic Auth in the tenant. We expect to complete this by the end of this year.
We’re turning off Basic Auth for the following protocols: MAPI, RPC, Offline Address Book (OAB), Exchange Web Services (EWS), POP, IMAP, and Remote PowerShell.
We are not turning off SMTP AUTH. We have turned off SMTP AUTH for millions of tenants not using it, but if SMTP AUTH is enabled in your tenant, it’s because we see usage and so we won’t touch it

There is no way to request an exception after October. Tenant selection is random, and we cannot put your tenant to the back of the queue to give you more time or change your settings on any specific date.

04. Mrz 22

Auch vor der Deadline schaltet Microsoft bei Tenant die Funktion ab, wenn sie nicht genutzt wird. Am 4. März habe ich in meinem Message Center die folgende Meldung gefunden.

23. Sep 2021

Mittlerweile wird es ernst.

Today, we are announcing that, effective October 1, 2022, we will begin to permanently disable Basic Auth in all tenants, regardless of usage, with the exception of SMTP Auth.

Wer heute noch Dienste nutzt, die Postfächer per POP3/IMAP4 oder EWS ohne OAUTH-Support von einem Exchange Online Postfach abfragen, sollte schnell an Alternativen arbeiten. Es gibt dazu sogar einige Optionen.

  • Update der Software oder Tausch der Software
    Prüfen Sie, ob es nicht schon eine neue Version gibt, die mit Exchange Online harmoniert
  • Weiterbetrieb Exchange OnPrem
    Mit ADSync müssen sie aktuell sowieso einen Hybrid Connector Server betreiben. Wenn er lizenziert ist, können Sie hier weiterhin Postfächer betreiben
  • 3rd Party POP-Server/SMTP-Zustellung
    Wenn Sie die Exchange On-Prem Lizenz nicht weiter kaufen wollen, dann können Sie natürlich auch die Mails an die Mailadresse per SMTP an einen anderen SMTP-Server, z.B. hMailServer, betreiben und dort die Mails abholen.
  • Service-Proxy
    Theoretisch sollte es möglich sein, dass ein Proxy auf der einen Seite die Anmeldung ber BasicAuth annimmt und zur Cloud per MOdern Auth durchführt um dann einen transparenten Kanal aufzubauen.

Mir ist aktuell noch kein Service Proxy bekannt.

Aber sie müssen langsam anfangen, sich zu bewegen, denn die aktuell noch mögliche Reaktivierung der LegacyAuth wird irgendwann nicht mehr möglich sein.

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.

OrganizationConfig

Den aktuellen Status ihres Tenants können Sie z.B.: per Exchange Online PowerShell abfragen. Der dezimale Wert ist dann eine Bit-Maske für die verschiedenen Apps:

(Get-OrganizationConfig).BasicAuthBlockedApps
POP3

Solle bei ihnen kein String sondern eine Zahl erscheinen, dann bedeutet jedes Bit ein Protokoll:

87654321
xxxxxxxx
!!!!!!!+-- 1  Exchange ActiveSync (EAS)
!!!!!!+--- 2  Exchange WebServices (EWS)
!!!!!+---- 4  POP3
!!!!+----- 8  IMAP4
!!!+----- 16  Remote PowerShell
!!+------ 32  Outlook AnyWhere (RPC over HTTP)
!+------- 64  Office Address Buch (OAB)
+--------128  MAPI over RPC (In Exchange Online nie möglich gewesen)

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.

Achtung: Es ist nicht geplant den Zugang per SMTP mit BasicAuth zu unterbinden.

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 On-Premises-Systeme mittels Hybrid Modern Authentication (HMA) auf OAUTH umstellen.

SMTP Auth

Der Zugriff auf ein Postfach per POP3 oder IMAP4 erlaubt den Abruf von Mails aus einem Postfach und ist etwa anders zu betrachten als der Versand von Mails. Interessanterweise hat Microsoft für den Versand per SMTP AUTH noch keine "Modern Auth" erzwungen. Das war zumindest im Sep 2021 noch die Aussage:

Today, we are announcing that, effective October 1, 2022, we will begin to permanently disable Basic Auth in all tenants, regardless of usage, with the exception of SMTP Auth.
Basic Authentication and Exchange Online – September 2021 Update
https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-september-2021-update/ba-p/2772210

We are not turning off SMTP AUTH. We have turned off SMTP AUTH for millions of tenants not using it, but if SMTP AUTH is enabled in your tenant, it’s because we see usage and so we won’t touch it. We do recommend you disable it at the tenant level and re-enable it only for those user accounts that still need it.
https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-deprecation-in-exchange-online-may-2022/ba-p/3301866

Dennoch schaltet Microsoft natürlich auf Tenant die BasicAut auch bei SMTP ab, wenn es nicht genutzt wird. Auch als Administrator können Sie die Authentifizierung per SMTP global und pro Benutzer steuern. Wenn Sie z.B. BasicAuth per SMTP abgeschaltet haben, sehen Sie folgende Fehlermeldungen;

SMTP authentication failed 5355.7.139 Authentication unsuccessful, SmtpClientAuthentication is diabled for the Tenant
Visit https://aka.ms/smtp_auth_disabled for more information [AM0PR03CA0122.eurprd02.prod.outlook.com]
SMTP authentication failed 5355.7.139 Authentication unsuccessful, 
basic authentication ist diabled. [AM0PR03CA0122.eurprd02.prod.outlook.com]

Die globale Steuerung ist über die TransportConfig zu steuern.

PS C:\> Get-TransportConfig | fl SmtpClientAuthenticationDisabled

SmtpClientAuthenticationDisabled : True

Diese Einstellung ist der globale Default und wirkt sich auf alle Postfächer aus. Allerdings kann pro Postfach auch eine abweichende Konfiguration eingestellt werden.

PS C:\> Get-CASMailbox user1 | fl SmtpClientAuthenticationDisabled

SmtpClientAuthenticationDisabled : True

Für "Legacy Applicationen" können wir also erlauben, dass per SMTP über Port 587 eine einfache Anmeldung mit Benutzername und Kennwort möglich ist, so dass diese Applikation mit einer Mailadresse des genutzten Postfachs Mails an eigene Empfänger und ins Internet senden kann.

Natürlich kann ich ganz unabhängig davon auch über einen "Inbound Connector" einer IP-Adresse oder einer per Client -Zertifikat identifizierbaren Verbindung auf Port 25 einen gewissen Vertrauensvorschuss geben.

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 On-Premises
    Solange Sie noch Exchange Hybrid sind und einen lokalen Exchange Server betreiben, könnten Sie die fraglichen Postfächer weiterhin "On-Premises" 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.

Wenn Sie keine Überraschung erleben wollen, dann würde ich so schnell wie möglich anfangen, unsichere Anmeldeverfahren bei den Benutzern abzuschalten und bei Bedarf wieder einzuschalten.

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"

Globale Einstellung

Mittlerweile gibt es im Microsoft 365 Admin-Center eine direkte Möglichkeit, über die sie die Exchange Protokolle selektiv abschalten können.

Auch hier wäre meine Empfehlung diese Einstellungen für die verschiedenen Protokolle frühzeitig zu deaktivieren, solange Sie diese wieder reaktivieren können.

Basic wieder erlauben

Dieser Workaround funktioniert nur bis zum 1. Okt 2022.

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