🎃

カスタムドメイン追加時の落とし穴

2022/07/20に公開

はじめに

Azure ADにカスタムドメインを追加するだけならリスクがないと思っている方に向けての記事になります。(自分もノーリスクだと思ってました。)

環境

以下のような環境があるとします。

ドメイン Azure AD メールサーバー
xxx.onmicrosoft.com Exchange Online
yyy.net Zoho Mail(Exchange Online以外)

この状況で「yyy.net」をカスタムドメインとしてAzure ADに追加するとどうなるでしょうか?
※MXレコードは追加せずにTXTレコードのみ追加してドメインの所有権のみ確認します。

「xxx.onmicrosoft.com」が送信したメールを、Zoho Mailに存在するメールボックス「123@yyy.net」が受信できなくなります。

原因は「xxx.onmicrosoft.com」がメールを送信した時に、Exchange Onlineがテナント内でメールボックス「123@yyy.net」を検索しテナント内に「123@yyy.net」のメールボックスが存在しない場合、既定では外部にリレーせずに配信不能として処理してしまうせいです。

altテキスト
配信不能通知

そもそも「xxx.onmicrosoft.com」からメールを送ることがあるのか?という話ですが、「Teamsのみ利用していて会議案内を送信している」、「既存テナントでExchange Onlineへメール移行を考えている」等があるので、カスタムドメインの追加はノーリスクではないことを考慮していただきたいです。

公式にも次のように記載がありました。

メールと Web サイトはどうなりますか?
セットアップを終了すると、ユーザーのドメインの MX レコードが Microsoft 365 を指定されるように更新され、そのドメイン宛てのすべてのメールが Microsoft 365 に送信されるようになります。ユーザーのドメインにメールを持つすべてのユーザーが Microsoft 365 に追加され、メールボックスが設定されていることを確認してください。

https://docs.microsoft.com/ja-jp/microsoft-365/admin/setup/add-domain?view=o365-worldwide

やっぱり設定をするときはDocsを一通り読んだほうが良いですね。

検証

やりたいことは、Exchange Onlineを使用していないカスタムドメイン宛のメールを、きちんと外部のメールサーバーにリレーしてあげることです。

事前準備

ドメインを取得してそのドメインのメールボックスを用意します。

今回はGoogle Domains(年額1,500円くらい)でドメインを取得し、Zoho Mail(5アカウントまで永年無料)をメールサーバーとして利用しました。
どちらもお手軽に設定ができるのでオススメです。
https://domains.google/intl/ja_jp/
https://www.zoho.com/jp/mail/

※Google DomainsでMXレコードを追加する際に優先度の入力だけ紛らわしかったので載せておきます。
「優先度+半角スペース+レコード」とすると入力できます。

altテキスト

承認済みドメイン設定

カスタムドメインを追加すると、[Exchange管理センター] > [メールフロー] > [承認済みドメイン]に追加されます。

altテキスト

既定ではドメインの種類は[Authoritative(権限あり)]となっており、Exchange Onlineに対象ドメインのメールボックスが存在しない場合、配信停止処理が実施されます。

まずはこれを[InternalRelay(内部の中継)]とすることで、Exchange Onlineに対象ドメインのメールボックスが存在しない場合、コネクタの設定に基づいて外部のメールサーバーに転送できるようになります。

altテキスト

事前に設定していない場合、後続のコネクタの検証で検証メールが失敗します。

コネクタ設定

それではコネクタを作成します。
[Exchange管理センター] > [メールフロー] > [コネクタ]

今回は接続元が[Office365(Exchange Online)]で接続先が[組織のメールサーバー(Zoho Mail)]となります。

altテキスト

altテキスト

カスタムドメインを追加します。
altテキスト

ルーティングでメールサーバー(smtpサーバー)のFQDNまたはIPアドレスを入力します。
例:smtp.zoho.jp
altテキスト

セキュリティの制限は素直に推奨値に従いましょう。
ただし、メールサーバーの設定次第ではExchange Onlineから接続ができないので、後続の検証の部分で確認します。
altテキスト

検証用のメールアドレス(送信相手)を入力します。
検証には少し時間がかかります。
altテキスト

検証が成功すると検証用のメールアドレスにこのようなメールが届きます。
altテキスト

検証時に承認済みドメインの設定を内部の中継にしていない場合、Send test mailが失敗します。
altテキスト

ただし外部メールサーバーへの接続テストはできるので次のような流れになると思います。

  1. コネクタの新規設定(オフ)
  2. コネクタの事前検証(外部メールサーバーへの接続テスト)
  3. カスタムドメイン追加(この時点でメールが送信できない)
  4. 承認済みドメインの設定変更
  5. コネクタのオン
  6. 検証

設定反映は意外と短時間でした。
切り戻しはカスタムドメインの削除になると思います。

外部メールサーバーから送信

次は外部メールサーバーから「xxx.onmicrosft.com」に送信できるようにする設定ですが、基本的には送信できました。

ただし、迷惑メールボックスに移動されることがあるので、[Microsoft Defender]の接続フィルターの設定で、smtpサーバーのIPアドレスを許可リストとして追加することで回避できるようです。
altテキスト
altテキスト

https://docs.microsoft.com/ja-jp/microsoft-365/admin/misc/pilot-microsoft-365-from-my-custom-domain?view=o365-worldwide#step-4-unblock-the-existing-email-server-optional
オプション設定として記載

おわりに

今回の検証でマイドメイン取得もできたので2年目社員にとってはすごくいい経験になりました!

Discussion