Configure Download Domains in Exchange Server
Overview
The Download Domains
feature causes attachments to be loaded from a different URL than the one, which is used by the user to access Outlook on the Web (OWA). This cross-site call enforces the so-called SameSite cookies
standard of the browser, which enables a better protection against cross-site request forgery (CSRF) attacks.
A vulnerability that is addressed by the Download Domains
feature is, for example, CVE-2021-1730.
What are cookies and when are they used
Cookies are text strings sent from websites and stored on a computer by the web browser. They're used for authentication and personalization. For example, cookies are used to recall stateful information, preserve user settings, record browsing activity, and display relevant ads. Cookies are always linked to a particular domain and are installed by various parties.
Historically, sites such as example.com
that make cross-origin
requests to other domains such as contoso.com
have caused the browser to send example.com
cookies as part of any request.
In most cases, the user benefits by being able to reuse some state (for example, login state) across sites no matter from where a request originated. However, this behavior can be abused in CSRF attacks. The SameSite
component reduced the exposure through its implementation and management in the Set-Cookie
header.
How does the SameSite cookie standard work
A SameSite
is defined as a top-level domain (TLD) plus one more domain name.
Example:
Scheme | Domain Name | TLD |
---|---|---|
https:// | contoso | .com |
The URL scheme is also taken into account. A request that comes from https://contoso.com
and goes to http://contoso.com
(for example, by clicking on a link), is considered as cross-site requests.
With the SameSite cookies
standard, sites or web applications can set the SameSite
attribute on cookies via the Set-Cookie
header or by using the document.cookie
JavaScript property to restrict in which cases a cookie is sent.
The SameSite cookies
specification was introduced in Google Chrome version 51 as an optional attribute. It was introduced with Windows 10 Build 17672 for Microsoft Edge and Internet Explorer.
There are three values that are supported:
Strict
- The browser won't send this cookie in any cross-site request
Lax
- The browser sends this cookie in cross-site requests under certain conditions (all conditions must apply):
- The "safe" HTTP
GET
method is used - The request comes from a top-level navigation, which was performed by the user (for example, a link was clicked)
- The "safe" HTTP
- The browser sends this cookie in cross-site requests under certain conditions (all conditions must apply):
None
- The browser sends the cookie in any cross-site request as this setting disables the
SameSite
restriction
- The browser sends the cookie in any cross-site request as this setting disables the
The SameSite cookies
standard is supported by all major web browsers and if the SameSite
attribute isn't explicitly set by the web site or application, which issues the cookie, it's automatically presumed by the web browser and treated by default as SameSite=Lax
to improve security against CSRF
attacks.
Looking at the Download Domains
feature, a call to attachments.owa.contoso.com
that was initiated from owa.contoso.com
is considered as cross-site request and cookies are only sent if the conditions, described for the Lax
value, have been met.
Enable Download Domains in your organization
There are several steps that must be performed before the Download Domain feature can be turned on for your organization. Follow the steps to configure the feature:
Create a new DNS record of type CNAME (Alias). The record must point to the domain that you use to access Outlook on the Web (OWA).
Example:
Name Type Value attachments.owa.contoso.com CNAME owa.contoso.com Note
If you are using different namespaces for internal and external OWA access, it's required to create two CNAME records and set them accordingly via the
InternalDownloadHostName
andExternalDownloadHostName
parameter as described in step 3.Important
Users must NOT use the Download Domains to access Outlook on the Web as this would eliminate the protection provided by the Download Domains feature.
Make sure to add the new subdomain to the certificate, which is used by Exchange Server and bound to the front-end. More information about certificate request on Exchange Server can be found in the Certificate procedures in Exchange Server article.
Add the new subdomain to the Outlook on the Web configuration by running the following command from an elevated Exchange Management Shell (EMS):
Set-OwaVirtualDirectory -Identity "Contoso\OWA (Default Web Site)" -InternalDownloadHostName "attachments.owa.contoso.com" -ExternalDownloadHostName "attachments.owa.contoso.com"
Note
Make sure to set the correct hostnames if your Exchange configuration uses different namespaces for accessing OWA from internal and external networks. Using the wrong namespace can cause the user experience to be degraded (for example, inline images are invisible etc.).
After all OWA virtual directories have been prepared and the new certificate has been deployed to all Exchange servers, the feature can be turned on by running the following command from an elevated Exchange Management Shell (EMS):
Set-OrganizationConfig -EnableDownloadDomains $true
It's required to restart the
World Wide Web Publishing service
and theWindows Process Activation Service
on each Exchange server to activate the feature. Run the following command from an elevated PowerShell window or restart the server:Restart-Service -Name W3SVC, WAS -Force
Confirm that Download Domains are enabled
You can follow these steps to confirm that the Download Domain feature is enabled and works as expected:
- Send an email with an inline image to your mailbox. It doesn't matter if the email was sent from an internal or external mailbox.
- Login into OWA and search for the test email that was sent to your mailbox.
- Make sure that the image is loaded and displayed in the reading pane.
- Right-click on the inline image and select
Copy Image link
- Paste the link into
Notepad.exe
and check the URL. It should be the configured Download Domain (for example, attachments.owa.contoso.com). This result confirms that the Download Domain feature is active and works as expected.
Disable Download Domains in your organization
The Download Domain feature is configured via an organization-wide configuration and as a result, can only be enabled or disabled on all or no Exchange servers. If you want to disable the feature, it's sufficient to run the following command from an elevated Exchange Management Shell (EMS):
Set-OrganizationConfig -EnableDownloadDomains $false
Follow the steps as outlined in the Confirm that Download Domains are enabled section of this article to confirm, that the feature is disabled.