SMTP AUTH mit OAuth2
Für die SMTP Anbindung eines Exchange Online-Konto für das Authentifizierungsverfahren OAuth2 im esExchange finden Sie nachfolgend eine kurze Beschreibung.
Die nachfolgende Beschreibung ist für Administratoren vorgesehen und setzt grundlegende Kenntnisse und Berechtigungen mit dem Microsoft Admin Center, Azure Active Directory und der App Registrierung für Exchange Online voraus.
Damit die nachfolgenden Schritte angewendet werden können, ist die grundsätzliche Konfiguration für Exchange Online erforderlich, siehe auch Anwendungs-Authentifizierung mit OAuth 2.0 (IDs, Secret).
Azure Active Directory (Azure AD oder AAD) unter dem neuen Namen Microsoft Entra ID ist eine Microsoft-Lösung für die Identitäts- und Zugriffsverwaltung, mit der Unternehmen Identitäten in Hybrid- und Multicloud-Umgebungen sicher verwalten können.
Für die weiteren Schritte wird ein entsprechend konfigurierte Microsoft Entra ID für Anwendungen vorausgesetzt.
es2000 macht keine Angaben zu einer bestimmten Eignung der folgenden Informationen. Irrtümer und Fehler bleiben ausdrücklich vorbehalten, die Angaben erfolgen ohne Gewähr. Die Angaben stellen nur Beschreibungen dar und enthalten keine Garantie der Beschaffenheit der Produkte. Die Informationen können zum Teil auch ein Versuch sein, Ihnen bei einer Aufgabenstellung zu helfen, selbst wenn das Produkt eigentlich nicht für diesen speziellen Zweck vorgesehen wurde.
Hintergrund
Die SMTP Standardauthentifizierung / Basisauthentifizierung für Exchange Online mit Benutzername und Kennwort wird von Microsoft in Zukunft nicht mehr unterstützt. Bei neu eingerichteten Exchange Online Konto kann aus diesem Grund keine Basisauthentifizierung mehr aktiviert werden, für bestehende Konten wird diese Authentifizierung in absehbarer Zeit abgeschaltet, siehe auch https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online.
Diese Entscheidung von Microsoft erfordert, dass Anwendungen mit Standardauthentifizierung eine sichere Authentifizierungsmethode verwenden müssen. Die moderne Authentifizierung (tokenbasierte Autorisierung mit OAuth 2.0) bietet viele Vorteile und Verbesserungen, die dazu beitragen, die Sicherheitsprobleme der Standardauthentifizierung zu minimieren. OAuth-Zugriffstoken haben beispielsweise eine begrenzte Lebensdauer und sind spezifisch für die Anwendungen und Ressourcen, für die sie ausgestellt wurden. Sie können daher nicht wiederverwendet werden.
Über die Microsoft Powershell können Sie prüfen, ob die Basis-Authentifizierung für die Verbindung zum Exchange Online verwendet wird, siehe auch Powershell Befehle zum Prüfen der bestehenden Verbindung.
Auch wenn für die Verbindung zum Exchange Server die Basisauthentifizierung / Standardauthentifizierung noch zur Verfügung steht, wird empfohlen die sichere Authentifizierung über OAuth schon vor der Abschaltung der Standardauthentifizierung umzustellen.
Voraussetzungen für SMTP über OAuth
-
Microsoft 365 Tenant mit Exchange Online
-
Zugriff auf das Microsoft Entra Admin Center (früher Azure AD)
-
PowerShell-Zugriff mit administrativen Rechten
Konfiguration des ServerPrincipials für SMTP OAuth
Die entsprechenden Schritte werden über die PowerShell konfiguriert
SMTP OAuth per PowerShell konfigurieren
-
Öffnen Sie eine PowerShell Sitzung mit administrativen Berechtigungen (als Admin)
-
Installieren bzw. Importieren Sie das Modul für die Verbindung zum Exchange Online (falls nicht vorhanden):
Installation
Install-Module -Name ExchangeOnlineManagement
Import
Import-Module ExchangeOnlineManagement
Get-Module ExchangeOnlineManagement
-
Melden Sie sich mit Ihren administrativen Zugangsdaten beim Exchange Online an .
Connect-ExchangeOnline -UserPrincipalName "company\admin"
Connect-ExchangeOnline -UserPrincipalName admin@deinedomain.de
Nach der Ausführung des Skriptes werden ggf. weitere Zugangsdaten über ein separates Fenster abgefragt.
-
Führen Sie den folgenden Befehl zum Anlegen des ServerPrincipals (Verbindung zwischen App Registrierung und Mailbox des esservers) durch.
KopierenServer Principal anlegenNew-Serviceprincipal
-AppId "AppId_yx-yxyx-yxyx-yxyx-yxyxyxyxyxyx"
-ObjectId "ObjectId-yxyx-yxyx-yxyx-yxyxyxyxyxyx"
-DisplayName "SMTP Application Send Permission"Die Angaben für das Skript (AppID und ObjectID) finden Sie im Microsoft Entra Admin Center (Entra ID -> Enterprise applications / Entra ID -> Unternehmensanwendungen). Der DisplayName kann individuell festgelegt werden.
Die Im Microsoft Entra Admin Center unter App-Registrierungen angezeigte Anwendungs-ID (AppID) und Objekt-ID (ObjectID) können für diesen Befehl nicht verwendet werden.
Im Beispiel wird die App Registrierung es-business-server für die Anbindung des Exchange Online an den Buisinessserver verwendet.
Microsoft Entra admin center (Englisch)
Microsoft Entra Admin Center (Deutsch)
-
Es ist noch erforderlich dem verwendeten Exchange Konto die erforderliche Rechte zuzuordnen.
KopierenAdd-MailboxPermission -identity “ZielKontoName” -User "New-Serviceprincipal-Idxy-yxyxyxyxyx" -AccessRights FullAccess
-identity "ZielKontoName"
Name des Exchange Kontos, welches für die Businesssever Anbindung verwendet wird.
- User "New-Serviceprincipal-Idxy-yxyxyxyxyx"
Hier kann der Name des neu angelegten ServerPrincipals oder die ObjectId verwendet werden.
-AccessRights
Hiermit ordnen Sie eine Berechtigung zu.
Im obigen Beispiel wird die volle Berechtigung (FullAccess) zugeordnet.
Folgende Berechtigungen sind möglich (Kombinationen sind möglich):
-
ChangeOwner
-
ChangePermission
-
DeleteItem
-
ExternalAccount
-
FullAccess (bevorzugte Berechtigung)
-
ReadPermission
Die Art der Berechtigung ist abhängig vom Einsatzzweck der Exchangeverbindung.
Für die korrekte Vergabe von Berechtigungen ist der Exchange-Administrator verantwortlich.
Siehe auch
https://learn.microsoft.com/en-us/powershell/module/exchange/add-mailboxpermission?view=exchange-ps
-
-
Die Konfiguration ist damit abgeschlossen. Stellen Sie sicher, dass im Businessserver für den Postausgangsserver die entsprechend konfigurierte Exchange Online-Verbindung eingetragen ist.
Powershell Befehle zum Prüfen der bestehenden Verbindung
Die folgenden Befehle können von erfahrenen Administratoren in der Powershell (mit Adminrechten) verwendet werden, um den Status einer bestehenden Verbindung zu Exchange Online zu prüfen und ggf. Probleme zu beheben.
Für die Ausführung der Befehle ist eine bestehende Verbindung inklusive Anmeldung am Exchange Online erforderlich.
Prüfen, ob Basic Auth erlaubt ist
Get-AuthenticationPolicy | FL *basic*
Prüfen, ob die SMTP Authentifikation nicht ganz deaktiviert ist
Get-TransportConfig |FL SMTPClient*
Prüfen, ob nicht eine Regel wie 'BLOCK-BasicAuth' noch aktiv ist
Get-AuthenticationPolicy | Format-List
Ist die Regel 'BLOCK-BasicAuth' aktiv, kann sie mit dem folgenden Befehl deaktiviert werden
Get-AuthenticationPolicy -Identity BLOCK-BasicAuth |Remove-AuthenticationPolicy