在 Exchange Server 中配置下载域

概述

此功能 Download Domains 会导致从与用户用来访问 Outlook 网页版 Outlook (OWA) 的 URL 不同的 URL 加载附件。 此跨站点调用强制实施所谓的SameSite cookies浏览器标准,从而更好地防止跨站点请求伪造 (CSRF) 攻击。 该功能解决 Download Domains 的漏洞是 CVE-2021-1730

什么是 Cookie 以及何时使用它们

Cookie 是从网站发送的文本字符串,由 Web 浏览器存储在计算机上。 它们用于身份验证和个性化。 例如,Cookie 用于撤回有状态信息、保留用户设置、记录浏览活动以及显示相关广告。 Cookie 始终链接到特定域,且由各方安装。

从历史上看,向其他域(例如)发出请求的网站example.com(例如)contoso.com会导致浏览器在任何请求中发送 example.comcross-origin Cookie。

在大多数情况下,用户能够重用某些状态 (例如,登录状态) 跨站点,无论请求来自何处,都会带来好处。 但是,在 CSRF 攻击中可能会滥用此行为。 组件 SameSite 通过在标头中 Set-Cookie 实现和管理来减少公开。

定义为 SameSite 顶级域 (TLD) 再加一个域名。

示例:

方案 域名 Tld
https:// contoso .com

URL 方案也会考虑在内。 例如,来自 https://contoso.com 并转到 http://contoso.com (的请求(例如,通过单击链接) )被视为跨站点请求。

SameSite cookies使用 标准版,网站或 Web 应用程序可以通过 标头或使用 document.cookie JavaScript 属性在 Cookie Set-Cookie 上设置 SameSite 属性,以限制在哪种情况下发送 Cookie。

SameSite cookies 规范在 Google Chrome 版本 51 中作为可选属性引入。 它随 Microsoft Edge 和 Internet Explorer 的 Windows 10 内部版本 17672 一起引入。

支持三个值:

  • Strict
    • 浏览器不会在任何跨站点请求中发送此 Cookie
  • Lax
    • 浏览器在某些条件下在跨站点请求中发送此 Cookie, (所有条件都必须应用) :
      • 使用“安全”HTTP GET 方法
      • 请求来自顶级导航,该导航由用户执行 (,例如,单击链接)
  • None
    • 浏览器在任何跨站点请求中发送 Cookie,因为此设置会 SameSite 禁用限制

所有主要 Web 浏览器都支持该 SameSite cookies 标准,如果 SameSite 属性不是由发布 Cookie 的网站或应用程序显式设置的,则 Web 浏览器会自动假定该标准,默认情况下会将其视为 SameSite=Lax 提高针对 CSRF 攻击的安全性。

查看Download Domains该功能,从 owa.contoso.com 发起的attachments.owa.contoso.com对 的调用被视为跨站点请求,并且仅当满足值描述Lax的条件时,才会发送 Cookie。

在组织中启用下载域

在为组织启用“下载域”功能之前,必须执行几个步骤。 按照步骤配置功能:

  1. 创建类型为 CNAME 的新 DNS 记录 (别名) 。 记录必须指向用于访问 Outlook 网页版的域 (OWA) 。

    示例:

    名称 类型
    attachments.owa.contoso.com CNAME owa.contoso.com

    注意

    如果使用不同的命名空间进行内部和外部 OWA 访问,则需要创建两条 CNAME 记录,并通过 和 ExternalDownloadHostName 参数相应地InternalDownloadHostName设置它们,如步骤 3 中所述。

    重要

    用户 不得使用下载域 访问 Outlook 网页版,因为这样会消除“下载域”功能提供的保护。

  2. 请确保将新的子域添加到证书,该证书由 Exchange Server 使用并绑定到前端。 有关Exchange Server证书请求的详细信息,请参阅Exchange Server文章中的证书过程

  3. 通过从提升的 Exchange 命令行管理程序 (EMS) 运行以下命令,将新的子域添加到 Outlook 网页版配置:

    Set-OwaVirtualDirectory -Identity "Contoso\OWA (Default Web Site)" -InternalDownloadHostName "attachments.owa.contoso.com" -ExternalDownloadHostName "attachments.owa.contoso.com"
    

    注意

    如果 Exchange 配置使用不同的命名空间从内部和外部网络访问 OWA,请确保设置正确的主机名。 使用错误的命名空间可能会导致用户体验降级 (例如,内联图像不可见等 ) 。

  4. 准备好所有 OWA 虚拟目录并将新证书部署到所有 Exchange 服务器后,可以通过从提升的 Exchange 命令行管理程序 (EMS) 运行以下命令来启用此功能:

    Set-OrganizationConfig -EnableDownloadDomains $true
    
  5. 需要在每个 Exchange 服务器上重启 World Wide Web Publishing serviceWindows Process Activation Service 才能激活该功能。 从提升的 PowerShell 窗口运行以下命令,或重启服务器:

    Restart-Service -Name W3SVC, WAS -Force 
    

确认已启用下载域

可以按照以下步骤确认“下载域”功能已启用并按预期工作:

  1. 将包含内联图像的电子邮件发送到邮箱。 电子邮件是从内部邮箱还是外部邮箱发送的,这并不重要。
  2. 登录到 OWA 并搜索发送到邮箱的测试电子邮件。
  3. 确保图像已加载并显示在阅读窗格中。
  4. 右键单击内联图像,然后选择 Copy Image link
  5. 将链接粘贴到 Notepad.exe 并检查 URL。 它应该是配置的下载域 (例如,attachments.owa.contoso.com) 。 此结果确认“下载域”功能处于活动状态并按预期工作。

在组织中禁用下载域

下载域功能是通过组织范围的配置配置的,因此,只能在所有或不使用 Exchange 服务器上启用或禁用。 如果要禁用此功能,则从提升的 Exchange 命令行管理程序 (EMS) 运行以下命令就足够了:

Set-OrganizationConfig -EnableDownloadDomains $false

按照本文确认 已启用下载域 部分中概述的步骤确认该功能已禁用。