For those of us who are not hosting services, the available solutions are not adequate. We want to use Active Directory authentication, which does not play with 2-factor authentication. We do not want to require 2-factor authentication when users are internal to our network. We have department-level generic accounts that are accessed by multiple users, so 2-factor authentication does not work well for those.
We do want to restrict most accounts to only be usable when in the office, so we want to distinguish between external and internal access, and we want to control which users are allowed to log in remotely. Then we need 2-factor enforced when those allowed users connect remotely.
This is important for PCI DSS compliance, because their rules are pretty clear: all remote access must be protected with 2-factor authentication. I see no basis for arguing that webmail access should be exempted. The only justification I an offer is that I don't know how to make this happen across all protocols.
I was thrilled when my boss figured out the firewall trick that we rolled out a few weeks ago, which requires an account enabled for remote access and then requires 2-factor to get past the firewall to the SmarterMail login page.
Any secure solution design gets more complicated when you consider that an attack can come against Webmail, EAS, MAPI, EWS, IMAP, POP, or Authenticated SMTP. We reduce our attack service by only allowing the port 443 protocols through the firewall, but not everyone can do that. MAPI, EAS, and EWS all share port 443 with webmail, which make things even harder. IIS rules can be used to block MAPI, EAS, and/or EWS for all external users, if any of those are not required. Currently, we use IIS path filter rules to block external access using MAPI. EWS and EAS are allowed using one-factor login, and of course EAS is restricted to specific users by licensing.
Hosting service clients might like this same capability, but the setup becomes much harder because the client's definition of "internal" is different for each client and all of them are different from SmarterMail's internal network.
So the ideal solution would:
- allow definition of internal vs external connections on a per-domain basis,
- provide the ability to enforce 2FA for external connections, and
- provide the ability to restrict external access to specific domain users.