WAF on v9.3 for Exchange 2013 on single server/IP/FQDN/certificate?

Hello all,

Is it at all possible to set up WAF on v9.3 for Exchange 2013 OWA, Outlook Anywhere and ActiveSync on the same URL, on one server, a single IP address, and with the same certificate (with only one server name in it)?

I have tried to follow Sophos' official 9.2 pdf guide, as well as https://www.winsec.nl/2013/10/11/publishing-exchange-utm-web-application-firewall/ (taking note of the exceptions in step 5), but I still can't enable the OA virtual webserver.

"The virtual web server domain name 'External (Address):443:mail.domain.com' is already in use by the domain list attribute of the virtual webserver object 'Exchange Services'."

In https://community.sophos.com/products/unified-threat-management/astaroorg/f/81/t/65746 one Sabine says that "one domain name can only be used once on the same interface and on the same port number. Otherwise the WAF can not distinguish which virtual webserver to use. That is the background of your error message." That seems logical enough, of course, but I was of the impression that with a clever combination of virtual servers, exceptions and site path routings this is indeed possible.

Is it? Or if not, what is needed? Multiple public IPs? Different URLs? An expensive certificate with several server names in it?

Thanks in advance.

SG 115, v9.309-3, Exchange 2013 CU7.

Regards,
Mr Olrich
  • If you have only a single server, you don't need to add a site-path route.  It sounds like all you need is different Exceptions for OWA, Outlook Anywhere and ActiveSync after having configured a single Filter and Virtual Server.  Instead of that extract, refer to the complete document on the KnowledgeBase: How to configure the UTM firewall for Microsoft Exchange connectivity.  Any luck with that?

    Cheers - Bob
  • Hi, and thanks, Bob.

    Just to clarify: When I said I followed Sophos' "official 9.2 pdf guide", I meant the one at http://sophserv.sophos.com/repo_kb/120454/file/Exchange%20WAF%20How%20to%209%202.pdf.

    Anyway, I took your suggestion and got it to work with two virtual servers, one for Autodiscover and one for OWA+OA+AS. (I had a certificate and DNS record for autodiscover.domain.com pointing to the same server, so that's why I did a two-server solution.) I even got Autodiscover to work, externally tested both Outlook 2013 and an Android client, and both smacked right in place.

    Thank you for your hint, really appreciated. Just wishing Sophos would keep their how-tos up to date with the UTM versions.

    If anyone wants, I can post my settings here. Just let me know.

    Happy weekend and things.
    MrOlrich
  • Yes, Please do post your settings.  Did you create two Virtual Servers because you had a cert that you could use, or were you unable to get it to work with a single one?

    Cheers - Bob
  • Ok, my set up and settings are as follows:

    Preparations
    Registered two certificates for free at startssl.com; mail.domain.com and autodiscover.domain.com.
    Created public DNS A and MX records pointing to my single public IP.
    Created the host "labserver.internal.domain.com", with IP and DNS hostname specified.
    No firewall rules or NAT set up. Traffic is forwarded when everything below is enabled.

    Virtual webserver "Exchange Autodiscover"
    Interface: External (Address)
    Type: Encrypted (HTTPA) & Redirect
    Port: 443
    Certificate: autodiscover.domain.com
    Domain: autodiscover.domain.com
    Real webserver: Exchange
    Firewall profile: Exchange Autodiscover
    Rewrite HTML: checked
    Rewrite cookies: checked
    Pass Host Header: checked

    Virtual webserver "Exchange OWA+OA+AS"
    Interface: External (Address)
    Type: Encrypted (HTTPA) & Redirect
    Port: 443
    Certificate: mail.domain.com
    Domain: mail.domain.com
    Real webserver: Exchange
    Firewall profile: Exchange OWA+OA+AS
    Rewrite HTML: checked
    Rewrite cookies: checked
    Pass Host Header: checked

    Real webserver "Exchange"
    Name: Exchange
    Host: labserver.internal.domain.com
    Type: Encrypted (HTTPS)
    Port: 443
    HTTP keepalive: 300

    Firewall profile "Exchange Autodiscover"
    Mode: Reject
    Static URL Hardening: /autodiscover and /Autodiscover
    Form Hardening: checked.
    Block clients with bad reputation: checked.

    Firewall profile "Exchange OWA+OA+AS"
    Mode: Reject
    Static URL Hardening: /owa, /OWA, /ecp, /ECP, /rpc, /RPC, /oab, /OAB, /microsoft-server-activesync, /Microsoft-Server-ActiveSync
    Antivirus: Dual scan, uploads and downloads.
    Block unscannable content: checked.
    Block clients with bad reputation: checked.

    Exception "Exchange Autodiscover"
    Static URL Hardening: skipped (checked)
    XSS Attacks: skipped (checked)
    Virtual webserver: Exchange Autodiscover
    Web requests matching this path: /autodiscover/*, /Autodiscover/*

    Exception "Exchange OWA+OA+AS"
    Static URL Hardening: skipped (checked)
    Virtual webserver: Exchange OWA+OA+AS
    Web requests matching this path:
    /owa/*, /OWA/*, /ecp/*, /ECP/*, /rpc/*, /RCP/*, /oab/*, /OAB/*, /microsoft-server-activesync*, /Microsoft-Server-ActiveSync*

    Default site path routes are unmodified.
    Secrets under the Advanced tab are unmodified.
    Reverse authentication: Nothing configured.

    Setting up Outlook 2013 both on the LAN and outside through Autodiscover works flawlessly, as does a corporate account on a Cyanogenmod Android mobile.

    Please note that I have no idea if these settings are the optimal ones for either security or performance, all I know is that they seem to work fine. Perhaps someone can provide input and comments on that?

    Also note that several howtos here and there mention both "Microsoft-Server-ActiveSync" and "Exchange-Server-ActiveSync", but apparently "Microsoft-Server-ActiveSync" ones are correct (both capitalisations).

    And to answer your question, Bob: I created two virtual servers, A records and certificates because every guide and howto afaik state that AutoDiscover needs a separate one. Sounds legit, so I simply haven't tested with just a single virtual server setup. But since the the firewall profiles and exceptions in my setup are not tuned for neither security or performance and therefore are pretty similar, I suppose it's possible to set up and get it to work with just a single server, though.

    Thanks.
    MrOlrich