Exchange Accepted Domains

Exchange weiß anhand seiner "Accepted Domains" sehr genau Bescheid, welche SMTP-Domains Exchange nutzen kann. Leider ist das kein Schutz gegen ein fehlerhaftes Provisioning. Denn leider erzwingen nicht alle Commandlets die Verwendung der richtigen Maildomänen. Exchange Online hingegen erzwingt die im Tenant definierten SMTP-Domänen. So kann ein Administrator absichtlich oder durch einen Tippfehler fehlerhafte Objekte anlegen. Hier am Beispiel einer Gruppe.

Falsches Provisioning

Das folgende Beispiele wurden mit der Exchange On-Premises-Umgebung von Net at Work nachgestellt. Ich habe dort einen Mailverteiler mit einer primären SMTP-Adresse angelegt, deren Domain (uclabor.de) nicht zu dieser Firma und nicht dem per Exchange Hybrid verbundenen Tenant gehört. Der Befehl war schnell umgesetzt:

New-DistributionGroup fctest `
   -Members fcarius `
   -PrimarySmtpAddress fctest@uclabor.de

Danach hatte ich eine mailaktivierte Sicherheitsgruppe, in der mein Postfach als Mitglied aufgenommen wurde.

OnPrem Verteiler

Ein Blick auf den Verteiler per PowerShell zeigt keine besonderen Auffälligkeiten. Beachten sie aber den Inhalt der Felder "Mail" und "EMailAddresses".

[PS] C:\>Get-DistributionGroup fctest |fl

GroupType                              : Universal
SamAccountName                         : fctest-1-583180161
BypassNestedModerationEnabled          : False
IsDirSynced                            : False
ManagedBy                              : {uclabor.de/Users/Carius, Frank (ADM)}
MemberJoinRestriction                  : Closed
MemberDepartRestriction                : Open
MigrationToUnifiedGroupInProgress      : False
ExpansionServer                        :
ReportToManagerEnabled                 : False
ReportToOriginatorEnabled              : True
SendOofMessageToOriginatorEnabled      : False
AcceptMessagesOnlyFrom                 : {}
AcceptMessagesOnlyFromDLMembers        : {}
AcceptMessagesOnlyFromSendersOrMembers : {}
AddressListMembership                  : {\All Distribution Lists, \Alle Gruppen, \Default Global Address List,
                                         \Globale Standardadressliste}
AdministrativeUnits                    : {}
Alias                                  : fctest
ArbitrationMailbox                     : uclabor.de/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
BypassModerationFromSendersOrMembers   : {}
OrganizationalUnit                     : uclabor.de/Users
CustomAttribute1                       :
CustomAttribute10                      :
CustomAttribute11                      :
CustomAttribute12                      :
CustomAttribute13                      :
CustomAttribute14                      :
CustomAttribute15                      :
CustomAttribute2                       :
CustomAttribute3                       :
CustomAttribute4                       :
CustomAttribute5                       :
CustomAttribute6                       :
CustomAttribute7                       :
CustomAttribute8                       :
CustomAttribute9                       :
ExtensionCustomAttribute1              : {}
ExtensionCustomAttribute2              : {}
ExtensionCustomAttribute3              : {}
ExtensionCustomAttribute4              : {}
ExtensionCustomAttribute5              : {}
DisplayName                            : fctest
EmailAddresses                         : {SMTP:fctest@uclabor.de}
GrantSendOnBehalfTo                    : {}
ExternalDirectoryObjectId              :
HiddenFromAddressListsEnabled          : False
LastExchangeChangedTime                :
LegacyExchangeDN                       : /o=UCLabor/ou=Exchange Administrative Group
                                         (FYDIBOHF23SPDLT)/cn=Recipients/cn=0efcea124e3740bdaf58c01760276c67-fctest
MaxSendSize                            : Unlimited
MaxReceiveSize                         : Unlimited
ModeratedBy                            : {}
ModerationEnabled                      : False
PoliciesIncluded                       : {}
PoliciesExcluded                       : {{26491cfc-9e50-4857-861b-0cb8df22b5d7}}
EmailAddressPolicyEnabled              : False
PrimarySmtpAddress                     : fctest@uclabor.de
RecipientType                          : MailUniversalDistributionGroup
RecipientTypeDetails                   : MailUniversalDistributionGroup
RejectMessagesFrom                     : {}
RejectMessagesFromDLMembers            : {}
RejectMessagesFromSendersOrMembers     : {}
RequireSenderAuthenticationEnabled     : True
SimpleDisplayName                      :
SendModerationNotifications            : Always
UMDtmfMap                              : {emailAddress:328378, lastNameFirstName:328378, firstNameLastName:328378}
WindowsEmailAddress                    : fctest@uclabor.de
MailTip                                :
MailTipTranslations                    : {}
Identity                               : uclabor.de/Users/fctest
IsValid                                : True
ExchangeVersion                        : 0.10 (14.0.100.0)
Name                                   : fctest
DistinguishedName                      : CN=fctest,OU=Modern Workplace,OU=Abteilung,DC=uclabor,DC=de
Guid                                   : f0e4d301-81bd-42fc-aff6-e9706b7ac9e3
ObjectCategory                         : uclabor.de/Configuration/Schema/Group
ObjectClass                            : {top, group}
WhenChanged                            : 09.07.2020 00:18:46
WhenCreated                            : 09.07.2020 00:06:06
WhenChangedUTC                         : 08.07.2020 22:18:46
WhenCreatedUTC                         : 08.07.2020 22:06:06
OrganizationId                         :
Id                                     : uclabor.de/Users/fctest
OriginatingServer                      : NAWDC02.uclabor.de
ObjectState                            : Changed

Interne Erreichbarkeit

 Ich konnte sogar On-Premises "intern" eine Mail per Outlook an diese Adresse senden, die an die Mitglieder zugestellt wurde. Eine Einlieferung per SMTP war hier möglich, da der SMTP-Server von intern auch ohne Authentifizierung die Mails angenommen hat.

Send-MailMessage `
   -SmtpServer localhost  `
   -From user1@msxfaq.de  `
   -To fctest@uclabor.de  `
   -Subject test20200709-0009

Entsprechend kam in Outlook die folgende Mail an:

Das "Mitglied" der Verteilergruppe lag sogar schon in Exchange Online. Das hat aber Exchange On-Premises nicht gestört, da die Mail lokal durch den Transport aufgeteilt und in die Cloud gesendet wurde.

ADSync Export

Interessant wird es nun, wenn ADSync diesen neuen Verteiler findet und zu Exchange Online repliziert. Das Fenster zeigt die ausgehende Replikation in den Tenant

Auch hier ist zu sehen, dass er z.B. "Mail" und "ProxyAddresses" zu Exchange Online schreibt. Es gibt keine Warnung und keinen Fehler im ADSync-Log

Office 365 Verteiler

Leider kommen die Felder dort aber nicht an. Das Exchange Online Control Panel zeigt andere Werte für "Mails" und "EMailAddresses" an.

Bedenken Sie, dass in dem Tenant nicht die Domain "UCLABOR.DE" registriert ist und er daher diese Adressen gar nicht nutzen darf. ProxyAddresses müssen ja weltweit eindeutig sein und Exchange Online erlaubt daher nur die Domains in den Feldern, die ihnen auch gehören.

Das gilt übrigends genauso für "interne Domänen" wie "firma.local" oder andere SMTP-Domänen in ihrer Exchange Welt, die sie im Tenant nicht eintragen können

Auswirkung auf die Erreichbarkeit

Wenn aber das Objekt in der Cloud nicht die Mailadresse "fctest@uclabor.de" hat, dann kann diese Adresse aus der Cloud auch nicht erreicht werden.

Exchange Online scheint nichts zu der On-Premises verwendeten Mailadresse zu wissen, sondern leitet die Mail direkt nach extern weiter. Da es die Adresse im "echten Tenant" mit uclabor.de nicht gibt, bekomme ich den NDR zurück. Also haben mich alle Eigenschaften in Exchange Online interessiert:

PS C:\> Get-DistributionGroup fctest | fl *

PSComputerName                         : outlook.office365.com
PSShowComputerName                     : False
GroupType                              : Universal
SamAccountName                         : fctest_ad255adfeb53870-1432971631
BypassNestedModerationEnabled          : False
IsDirSynced                            : True
ManagedBy                              : {Organization Management}
MemberJoinRestriction                  : Closed
MemberDepartRestriction                : Closed
MigrationToUnifiedGroupInProgress      : False
ExpansionServer                        :
ReportToManagerEnabled                 : False
ReportToOriginatorEnabled              : True
SendOofMessageToOriginatorEnabled      : False
Description                            : {}
BccBlocked                             : False
AcceptMessagesOnlyFrom                 : {}
AcceptMessagesOnlyFromDLMembers        : {}
AcceptMessagesOnlyFromSendersOrMembers : {}
AddressListMembership                  : {\Default Global Address List, \All Distribution Lists, \Offline Global Address List, \All Recipients(VLV)...}
AdministrativeUnits                    : {}
Alias                                  : fctest
ArbitrationMailbox                     : SystemMailbox{15e25b94-0120-42b3-ae34-7aae37db8ded}
BypassModerationFromSendersOrMembers   : {}
OrganizationalUnit                     : eurpr04a003.prod.outlook.com/Microsoft Exchange Hosted Organizations/carius.onmicrosoft.com
CustomAttribute1                       :
CustomAttribute10                      :
CustomAttribute11                      :
CustomAttribute12                      :
CustomAttribute13                      :
CustomAttribute14                      :
CustomAttribute15                      :
CustomAttribute2                       :
CustomAttribute3                       :
CustomAttribute4                       :
CustomAttribute5                       :
CustomAttribute6                       :
CustomAttribute7                       :
CustomAttribute8                       :
CustomAttribute9                       :
ExtensionCustomAttribute1              : {}
ExtensionCustomAttribute2              : {}
ExtensionCustomAttribute3              : {}
ExtensionCustomAttribute4              : {}
ExtensionCustomAttribute5              : {}
DisplayName                            : fctest
EmailAddresses                         : {SMTP:fctest1938@carius.onmicrosoft.com, X500:/o=UCLabor/ou=Exchange Administrative Group
                                         (FYDIBOHF23SPDLT)/cn=Recipients/cn=0efcea124e3740bdaf58c01760276c67-fctest}
GrantSendOnBehalfTo                    : {}
ExternalDirectoryObjectId              : fe624a1b-6e8d-49e4-9705-96c8bda7fb08
HiddenFromAddressListsEnabled          : False
LastExchangeChangedTime                :
LegacyExchangeDN                       : /o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipien
                                         ts/cn=33be5152b69b48979f8300def571ccd5-fctest_ad25
MaxSendSize                            : Unlimited
MaxReceiveSize                         : Unlimited
ModeratedBy                            : {}
ModerationEnabled                      : False
PoliciesIncluded                       : {}
PoliciesExcluded                       : {{26491cfc-9e50-4857-861b-0cb8df22b5d7}}
EmailAddressPolicyEnabled              : False
PrimarySmtpAddress                     : fctest1938@carius.onmicrosoft.com
RecipientType                          : MailUniversalDistributionGroup
RecipientTypeDetails                   : MailUniversalDistributionGroup
RejectMessagesFrom                     : {}
RejectMessagesFromDLMembers            : {}
RejectMessagesFromSendersOrMembers     : {}
RequireSenderAuthenticationEnabled     : True
SimpleDisplayName                      :
SendModerationNotifications            : Always
UMDtmfMap                              : {emailAddress:3283781938, lastNameFirstName:328378, firstNameLastName:328378}
WindowsEmailAddress                    : fctest1938@carius.onmicrosoft.com
MailTip                                :
MailTipTranslations                    : {}
Identity                               : fctest_ad255adfeb
Id                                     : fctest_ad255adfeb
IsValid                                : True
ExchangeVersion                        : 0.10 (14.0.100.0)
Name                                   : fctest_ad255adfeb
DistinguishedName                      : CN=fctest_ad255adfeb,OU=carius.onmicrosoft.com,OU=Microsoft Exchange
                                         Hosted Organizations,DC=EURPR04A003,DC=prod,DC=outlook,DC=com
ObjectCategory                         : EURPR04A003.prod.outlook.com/Configuration/Schema/Group
ObjectClass                            : {top, group}
WhenChanged                            : 09.07.2020 00:21:21
WhenCreated                            : 09.07.2020 00:21:20
WhenChangedUTC                         : 08.07.2020 22:21:21
WhenCreatedUTC                         : 08.07.2020 22:21:20
ExchangeObjectId                       : 87484d69-b0be-4827-96a1-a6f6d2cede29
OrganizationId                         : EURPR04A003.prod.outlook.com/Microsoft Exchange Hosted
                                         Organizations/carius.onmicrosoft.com - EURPR04A003.prod.outlook.com/Configu
                                         rationUnits/carius.onmicrosoft.com/Configuration
Guid                                   : 87484d69-b0be-4827-96a1-a6f6d2cede29
OriginatingServer                      : VI1PR04A03DC004.EURPR04A003.prod.outlook.com
ObjectState                            : Changed

Und noch mal in der neuen Form:

PS C:\> Get-EXORecipient fctest | fl *

ExternalDirectoryObjectId : fe624a1b-6e8d-49e4-9705-96c8bda7fb08
Identity                  : fctest_ad255adfeb
Alias                     : fctest
EmailAddresses            : {SMTP:fctest1938@carius.onmicrosoft.com, X500:/o=UCLabor/ou=Exchange Administrative Group
                            (FYDIBOHF23SPDLT)/cn=Recipients/cn=0efcea124e3740bdaf58c01760276c67-fctest}
DisplayName               : fctest
Name                      : fctest_ad255adfeb
PrimarySmtpAddress        : fctest1938@carius.onmicrosoft.com
RecipientType             : MailUniversalDistributionGroup
RecipientTypeDetails      : MailUniversalDistributionGroup
ExchangeVersion           : 0.10 (14.0.100.0)
DistinguishedName         : CN=fctest_ad255adfeb,OU=carius.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=EURPR04A003,DC=prod,DC=outlook,DC=com
OrganizationId            : EURPR04A003.prod.outlook.com/Microsoft Exchange Hosted Organizations/carius.onmicrosoft.com -
                            EURPR04A003.prod.outlook.com/ConfigurationUnits/carius.onmicrosoft.com/Configuration

Es gibt als auch hier keinen Treffer auf "uclabor.de" in den Exchange Online Properties. Sie können natürlich den Empfänger im Adressbuch finden und dort auch adressieren:

Diese Mail kommt dann auch an.

Aber viele andere Dienste, die eine Mail an diese Gruppe über die SMTP-Adresse senden wollen, können ihre Mails zumindest nicht in Exchange Online abliefern. Das betrifft interne Absender im gleichen Tenant, z.B. Flows, PowerApps, SharePoint-Listen u.a. aber auch externe Absender. Wenn Exchange Online in dem Fall eine Mail an einen Empfänger in der Domain "uclabor.de" bekommt, dann wird Exchange Online sicher nicht alle Tenants durchsuchen, sondern anhand der Domain schon den Tenant auswählen, der die Domain tatsächlich registriert hat und dann über Inbound Connectoren die Mail weiter verarbeiten.

ADSync wieder zurück

Nun wissen Sie zumindest seit ADSync Bidirektional, dass der Verzeichnisabgleich mit ADSync auch einige Felder in die Gegenrichtung überträgt. Beim nächsten Lauf überträgt ADSync bei einer Verteilergruppe nur das Feld den "ProxyAddresses" zurück in das lokale Active Directory. Der LegacyExchangeDN aus der Cloud wird als X500-Adresse in die lokalen Proxy-Addresses geschrieben.

Einen anderen SourceAnchor oder msds-ConsistencyGUID gib es bei Gruppen im Gegensatz zu Benutzern nicht.

Update der lokalen Gruppe

Entsprechend wurde die Gruppe im lokalen Active Directory nun aktualisiert.

[PS] C:\>Get-DistributionGroup fctest | fl

RunspaceId                             : 112ab23a-c1bd-485a-a9df-819507dcbc7b
GroupType                              : Universal
SamAccountName                         : fctest-1-699384151
BypassNestedModerationEnabled          : False
IsDirSynced                            : False
ManagedBy                              : {uclabor.de/Users/Carius, Frank (ADM)}
MemberJoinRestriction                  : Closed
MemberDepartRestriction                : Open
MigrationToUnifiedGroupInProgress      : False
ExpansionServer                        :
ReportToManagerEnabled                 : False
ReportToOriginatorEnabled              : True
SendOofMessageToOriginatorEnabled      : False
AcceptMessagesOnlyFrom                 : {}
AcceptMessagesOnlyFromDLMembers        : {}
AcceptMessagesOnlyFromSendersOrMembers : {}
AddressListMembership                  : {}
AdministrativeUnits                    : {}
Alias                                  : fctest
ArbitrationMailbox                     : uclabor.de/Users/SystemMailbox{1f05a927-a08d-42d6-b8f2-49b021aa50b8}
BypassModerationFromSendersOrMembers   : {}
OrganizationalUnit                     : uclabor.de/Users
CustomAttribute1                       :
CustomAttribute10                      :
CustomAttribute11                      :
CustomAttribute12                      :
CustomAttribute13                      :
CustomAttribute14                      :
CustomAttribute15                      :
CustomAttribute2                       :
CustomAttribute3                       :
CustomAttribute4                       :
CustomAttribute5                       :
CustomAttribute6                       :
CustomAttribute7                       :
CustomAttribute8                       :
CustomAttribute9                       :
ExtensionCustomAttribute1              : {}
ExtensionCustomAttribute2              : {}
ExtensionCustomAttribute3              : {}
ExtensionCustomAttribute4              : {}
ExtensionCustomAttribute5              : {}
DisplayName                            : fctest
EmailAddresses                         : {x500:/o=ExchangeLabs/ou=Exchange Administrative Group
                                         (FYDIBOHF23SPDLT)/cn=Recipients/cn=45f58a8a2c3a4d2f98ea168785aab30e-fctest,
                                         SMTP:fctest@uclabor.de}
GrantSendOnBehalfTo                    : {}
ExternalDirectoryObjectId              :
HiddenFromAddressListsEnabled          : True
LastExchangeChangedTime                :
LegacyExchangeDN                       : /o=UCLabor/ou=Exchange Administrative Group
                                         (FYDIBOHF23SPDLT)/cn=Recipients/cn=c7ffbd32e58b4aa6b24e41d9af03fac9-fctest
MaxSendSize                            : Unlimited
MaxReceiveSize                         : Unlimited
ModeratedBy                            : {}
ModerationEnabled                      : False
PoliciesIncluded                       : {}
PoliciesExcluded                       : {{26491cfc-9e50-4857-861b-0cb8df22b5d7}}
EmailAddressPolicyEnabled              : False
PrimarySmtpAddress                     : fctest@uclabor.de
RecipientType                          : MailUniversalDistributionGroup
RecipientTypeDetails                   : MailUniversalDistributionGroup
RejectMessagesFrom                     : {}
RejectMessagesFromDLMembers            : {}
RejectMessagesFromSendersOrMembers     : {}
RequireSenderAuthenticationEnabled     : True
SimpleDisplayName                      :
SendModerationNotifications            : Always
UMDtmfMap                              : {emailAddress:328378, lastNameFirstName:328378, firstNameLastName:328378}
WindowsEmailAddress                    : fctest@uclabor.de
MailTip                                :
MailTipTranslations                    : {}
Identity                               : uclabor.de/Users/fctest
IsValid                                : True
ExchangeVersion                        : 0.10 (14.0.100.0)
Name                                   : fctest
DistinguishedName                      : CN=fctest,OU=Modern Workplace,OU=Abteilung,DC=uclabor,DC=de
Guid                                   : a728303a-6c23-43e0-968f-2774d005f581
ObjectCategory                         : uclabor.de/Configuration/Schema/Group
ObjectClass                            : {top, group}
WhenChanged                            : 08.07.2020 23:55:12
WhenCreated                            : 08.07.2020 21:04:11
WhenChangedUTC                         : 08.07.2020 21:55:12
WhenCreatedUTC                         : 08.07.2020 19:04:11
OrganizationId                         :
Id                                     : uclabor.de/Users/fctest
OriginatingServer                      : NAWDC003.uclabor.de
ObjectState                            : Changed

Ergebnis

Exchange Online kennt über die im Tenant eingetragenen Domänen sehr genau und erlaubt eine falschen Domänen im Tenant. Das kann ich über Exchange On-Premises leider nicht behaupten. Hier können Sie trotz "Accepted Domains" per Exchange PowerShell und sogar ECP Mailadressen anderer Domänen in die ProxyAddresses schreiben und damit sogar gezielt Mails an diese Adressen umleiten. Das kann gewollt und nützlich sein aber ist natürlich auch ein Thema beim Datenschutz, da Sie damit Mails an ein Ziel ja abfangen können.

Sie sollten solche schmutzigen Konfigurationen möglichst vermeiden, denn spätestens im Exchange Hybrid Mode wird es zu Problemen kommen. Die Grundregel gilt:

Addieren Sie alle "Accepted Domain" auch im Office 365 Tenant und vergeben Sie nie ProxyAddresses aus anderen Domänen. Die einzige Ausnahme sind MailUser/MailContacts.

Weitere Links