Exchange Server でダウンロード ドメインを構成する

概要

Download Domains機能を使用すると、ユーザーが Outlook on the Web (OWA) にアクセスするために使用する URL とは異なる URL から添付ファイルが読み込まれます。 このクロスサイト呼び出しでは、ブラウザーのいわゆる SameSite cookies標準 が適用されます。これにより、 クロスサイト要求フォージェリ (CSRF) 攻撃に対する保護が強化されます。 Download Domains機能によって対処される脆弱性は、CVE-2021-1730 などです

Cookie とは何か、また、どのような場合に使用されているか

Cookie は、Web サイトから送信され、Web ブラウザーによってコンピューターに保存されるテキスト文字列です。 認証とパーソナル化に使用されます。 たとえば、Cookie はステートフルな情報の呼び出し、ユーザー設定の保持、閲覧アクティビティの記録、関連する広告の表示に使用されます。 Cookie は常に特定のドメインにリンクされ、さまざまな関係者によってインストールされます。

これまで、contoso.comなどの他のドメインにcross-origin要求を行うexample.comなどのサイトは、ブラウザーが要求の一部として cookie example.com送信する原因となっています。

ほとんどの場合、ユーザーは、要求の送信元に関係なく、サイト間で何らかの状態 (ログイン状態など) を再利用できることでメリットがあります。 ただし、この動作は CSRF 攻撃で悪用される可能性があります。 SameSite コンポーネントは、Set-Cookie ヘッダーでの実装と管理を通じて公開を減らしました。

SameSiteは、最上位ドメイン (TLD) と 1 つ以上のドメイン名として定義されます。

例:

配色 Domain Name TLD
https:// contoso .com

URL スキームも考慮されます。 https://contoso.comから送信され、(リンクをクリックするなどして) http://contoso.comに送信される要求は、クロスサイト要求と見なされます。

SameSite cookies標準では、サイトまたは Web アプリケーションは、Set-Cookie ヘッダーを使用するか、document.cookie JavaScript プロパティを使用して Cookie が送信されるケースを制限することで、Cookie のSameSite属性を設定できます。

SameSite cookies仕様は、オプションの属性として Google Chrome バージョン 51 で導入されました。 これは、Microsoft Edge と Internet Explorer 用 の Windows 10 ビルド 17672 で導入されました。

サポートされる値は 3 つあります。

  • Strict
    • ブラウザーはクロスサイト要求でこの Cookie を送信しません
  • Lax
    • ブラウザーは、特定の条件下でクロスサイト要求でこの Cookie を送信します (すべての条件が適用される必要があります)。
      • "安全な" HTTP GET メソッドが使用されます
      • 要求は、ユーザーによって実行された最上位のナビゲーションから取得されます (たとえば、リンクがクリックされました)。
  • None
    • この設定によって SameSite 制限が無効にされるため、ブラウザーはクロスサイト要求で Cookie を送信します

SameSite cookies標準はすべての主要な Web ブラウザーでサポートされており、cookie を発行する Web サイトまたはアプリケーションによってSameSite属性が明示的に設定されていない場合、Web ブラウザーによって自動的に推定され、既定ではCSRF攻撃に対するセキュリティを向上させるためにSameSite=Laxとして扱われます。

Download Domains機能を見ると、owa.contoso.comから開始されたattachments.owa.contoso.comの呼び出しはクロスサイト要求と見なされ、cookie は、Lax値について説明されている条件が満たされている場合にのみ送信されます。

組織内のドメインのダウンロードを有効にする

組織の [ドメインのダウンロード] 機能を有効にするには、いくつかの手順を実行する必要があります。 次の手順に従って機能を構成します。

  1. CNAME (エイリアス) 型の新しい DNS レコードを作成します。 レコードは、Outlook on the Web (OWA) へのアクセスに使用するドメインを指している必要があります。

    例:

    名前
    attachments.owa.contoso.com CNAME owa.contoso.com

    注:

    内部および外部の OWA アクセスに異なる名前空間を使用している場合は、手順 3 で説明されているように、2 つの CNAME レコードを作成し、それに応じて InternalDownloadHostNameExternalDownloadHostName パラメーターを使用して設定する必要があります。

    重要

    ダウンロード ドメイン機能によって 提供される保護が排除されるため、ダウンロード ドメインを使用して Outlook on the Web にアクセスすることはできません。

  2. Exchange Server によって使用され、フロントエンドにバインドされている証明書に新しいサブドメインを必ず追加してください。 Exchange Server での証明書要求の詳細については、「Exchange Server の 証明書の手順 」の記事を参照してください。

  3. 管理者特権の Exchange 管理シェル (EMS) から次のコマンドを実行して、新しいサブドメインを Outlook on the Web 構成に追加します。

    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

この記事の「 ダウンロード ドメインが有効になっていることを確認 する」セクションに記載されている手順に従って、機能が無効になっていることを確認します。