I have a security problem that I can't seem to find the answer to, and I'm hoping someone here who knows EWS better than I do can point me in the right direction.
We have a policy of only allowing access to files and email externally via methods that support 2FA/MFA. We use Azure MFA with ADFS and WAP to protect our Remote Desktop, SharePoint and OWA external access. For EAS we've been using device quarantining and
we're now looking at moving that to Conditional Access via Intune. For all of these access methods, Microsoft have good solutions for integrating MFA.
We're looking at moving our mail from on-prem Exchange to Exchange Online in the near future, and all of the above methods work well for Exchange Online as well. No hassles there.
EWS is a problem for me. I'd always vaguely thought of EWS as a way for desk phones to display calendar details or look up contacts, that sort of thing, but of course EWS can be used to access email too. Most of the various Mac mail clients that support
Exchange use EWS. Unfortunately, I can't seem to find a way of making EWS and MFA play nicely. None of the clients that connect using EWS can handle MFA. Right now I block EWS at the WAP reverse proxy, so it's only available to internal clients, and that complies
with our security policy. That approach has two problems:
a) offsite clients that use EWS for calendar lookups (e.g. Lync 2013 mobile client on company-owned iPhones) are semi-broken without EWS, and
b) as I understand it, I won't be able to do this with Exchange Online. EWS will become available from everywhere. Staff will be able to use EWS clients to download their entire mailbox with only username and password.
Going forward on Exchange Online, I can see only two options:
1) Disable EWS across the board, breaking all sorts of things. Lync/Skype4B stops working properly, UM voicemail breaks, Lync desk phones become semi-functional, and I don't know what else breaks, but I'm sure plenty of other stuff will.
2) Use an EWS Allow List to whitelist certain client types that don't download email (e.g. Lync iPhone client), while blocking things known to download email.
https://exchangeserverpro.com/managing-exchange-web-services-in-office-365/
The problem with the second approach is that it's just matching a string that the client sends. It wouldn't be hard at all to download the EWS API bits from MSDN and build a client that spoofed the known client header of the Lync iPhone client. I don't think
I can really argue that this meets our requirement for MFA on email access.
What I really need is something like Conditional Access blocking unknown clients from connecting to EWS as well as EAS. Or, better yet, the ability to toggle in an organizational config policy which types of content can be accessed over EWS. If I could say
Calendar and Contacts objects are allowed, but Email objects are blocked via EWS everywhere, then I could happily allow EWS without MFA.
Does anyone have any suggestions for me on properly securing EWS? We're running Exchange 2013 CU10 at the moment, but have SA on our Exchange licenses and CALs and I'd be happy to upgrade to 2016 if that gave me a feature that helped with this problem.