Be careful with the EwsAllowList / EwsBlockList in Exchange OrganizationConfig
Hallo zusammen,
Vor ein paar Wochen habe ich ein bisschen mit der EwsAllowList / EwsBlockList in der Exchange OrganizationConfig herumgespielt.
Setzt man einen Wert (User Agent) in die EwsBlockList, so ist alles erlaubt, ausser dieser UserAgent. Setzt man einen Wert (User Agent) in die EwsAllowList, so ist nur dieser UserAgent erlaubt, alles andere ist nicht erlaubt.
Set-OrganizationConfig
https://docs.microsoft.com/en-us/powershell/module/exchange/set-organizationconfig?view=exchange-ps
Get-OrganizationConfig | fl *ews*
Der Anbieter eines 3rd Party Kalender Displays für Meeting Rooms hat das ganz gut zusammengefasst.
How to Limit Third-Party Application Access to Exchange & Office 365 Services via EwsApplicationAccessPolicy, EnforceAllowList, and EnforceBlockList
Set-OrganizationConfig -EwsAllowList @{add='MeetingRoom365/*'}
Get-OrganizationConfig | fl *ews*
Danach habe ich mich versucht über ein PowerShell Script und der EWS Managed API mit meiner Mailbox zu verbinden.
Hinweis: Dafür muss Basic Auth in der Conditional Access Policy für diesen User zugelassen sein und die Authentication Policy muss dies ebenfalls für diese Mailbox erlauben
In den Azure AD Sign-ins findet man zwar die Anmeldung, aber nicht, dass es wegen der EwsAllowList nicht geklappt hat. Aber man findet dort den UserAgent: ExchangeServicesClient/15.00.0913.015
Also tragen wir den mal ein
Set-OrganizationConfig -EwsAllowList @{add='ExchangeServicesClient/*'}
Get-OrganizationConfig | fl *ews*
Nun klappt die Abfrage der Folder mit dem PowerShell und der EWS Managed API.
Allerdings habe ich dann festgestellt, dass beim Teams im WebBrowser der Kalender nicht mehr funktioniert.
Und auch auf dem Teams Desktop Client war der Kalender verschwunden.
Dann bin ich auf folgenden Artikel gestossen, da sind mehrere UserAgents angegeben, welche freigeschaltet werden müssen.
Troubleshoot Microsoft Teams and Exchange Server interaction issues
Leider sieht man in den AzureAD Sign-Ins unter dem Filter "Exchange Web Services" nur Legacy Authentications. Nicht aber Clients mit Modern Authentication.
Einige alte Office Versionen melden sich ja auch noch mit Legacy Auth an und auf die Exchange Web Services greifen alle Outlook Versionen zu.
Folglich müssen da ganz viele UserAgents freigeschaltet werden.
#Change
Get-OrganizationConfig | fl *ews*
Set-OrganizationConfig -EwsAllowList @{Add="MicrosoftNinja/*"}
Set-OrganizationConfig -EwsAllowList @{Add="*Teams/*"}
Set-OrganizationConfig -EwsAllowList @{Add="*SchedulingService*"}
Set-OrganizationConfig -EwsAllowList @{Add="SkypeSpaces/*"}
Set-OrganizationConfig -EwsAllowList @{Add="UCCAPI/*"}
Set-OrganizationConfig -EwsAllowList @{Add="OC/*"}
Set-OrganizationConfig -EwsAllowList @{Add="*Microsoft.Skype.Presence.App/*"}
Set-OrganizationConfig -EwsAllowList @{Add="Outlook-Android/*"}
Set-OrganizationConfig -EwsAllowList @{Add="Outlook-iOS/*"}
Set-OrganizationConfig -EwsAllowList @{Add="Microsoft Office/*"}
Set-OrganizationConfig -EwsAllowList @{Add="Microsoft+Office/*"}
Set-OrganizationConfig -EwsAllowList @{Add='ExchangeServicesClient/*'}
#Set-OrganizationConfig -EwsAllowList @{Remove='ExchangeServicesClient/*'}
Set-OrganizationConfig -EwsAllowOutlook $true
Fazit:
Es gibt zwar eine Möglichkeit hier EWS Applikationen anhand von UserAgents zuzulassen oder zu blockieren. Das Troubleshooting dazu ist aber sehr schwierig bis unmöglich.
Ausserdem habe ich einige Applikationen gesehen, welche wie ich das EWS Managed API mit dem UserAgent "ExchangeServicesClient/*" benutzen. Da wird es schwierig, einzelne Applikationen zu blockieren, wenn sie keinen eindeutigen UserAgent haben.
Aus diesen Gründen würde ich hier eher empfehlen die Finger davon zu lassen und auf MFA und Azure AD Application Authentication zu setzen.