【M365 ハンズオン】カスタムドメイン登録とドメイン認証（SPF , DKIM , DMARC)

# 1.はじめに

本記事は、Microsoft 365を利用するにあたって、まず最初に実施する作業であろう***カスタムドメインの登録***に関して、説明します。さらに、最近ではカスタムドメインの登録時に、***メールを利用する場合は、メール送信ドメイン認証のSPF, DKIM , DMARC***も併せて設定する必要性がありますので、こちらもセットでご説明する記事です。

2024年6月1日以降、Googleの新ガイドラインによって、Googleのメール送信者の条件（Gmailにおける受信の条件）に、SPF, DKIMが必須扱いになりました。
そのため、Microsoft 365のExchange Onlineを利用する際には、これらのメール送信ドメイン認証は、必須の設定になりつつあります。

# 2.SPF, DKIM, DMARCとは

SPF, DKIM, DMARCとは、メールの送信ドメイン認証の技術です。そのため、メールの送信者側でいくつかの設定が必要となります。
なお、Exchange OnlineではSPF, DKIM, DMARCの3つとも利用することができます。ただし、DNSサーバに必要なレコードを追加することが必要になります。

### 2-1.SPFとは

SPFとは、Sender Policy Frameworkの略称で、IPアドレスを利用して、メールの送信者が詐称されていないか確認します。
具体的には、メールサーバのIPアドレスを、ドメインを登録しているDNSサーバに、SPFレコードとして登録します。そして、メールの受信者は、メール受信時に送信元メールサーバのIPアドレスをSPFレコードで照会し、確認をおこなうというものです。

### 2-2.DKIM

DKIMとは、DomainKeys Identified Mailの略称で、電子署名を利用して、メールの送信元が詐称されていないかを確認します。
具体的には、メールの送信者側が、送信するメールに電子署名を付与し、メールの受信者側がメール受信時にその電子署名を検証し、なりすましやメール改ざんを検知します。

### 2-3.DMARC

DMARCとは、Domain-based Message Authentication、Reporting and Conformanceの略称です。
先ほどのSPFとDKIMの認証結果を利用し、なりすましかどうかを判定し、送信者側が受信者側に認証失敗時の推奨アクションをDNS上に宣言しておくというものです。

# 3 カスタムドメインの取得からDKIM, DMARC登録
### 3-1.MyDNS.jp

MyDNS.jpとは、ダイナミックDNSを利用するサイトで、独自のサブドメインを無料で取得することができます。
以下サイトより、アカウントの登録のみで、クレジットカードは不要で利用することが可能となっております。

https://www.mydns.jp/#howtouse

2024年7月時点で、利用させて頂けるサブドメインのリストは、以下キャプチャの通りとなっております。
TLD(トップレベルドメイン)と2LD(セカンドレベルドメイン)も独自にしたい場合は、他のDNSサービスを利用する必要がありますが、Microsoft 365 (Entra ID)のカスタムドメインの登録検証のみであれば、特に問題なく利用することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/fffb681d-8e8d-ddce-5532-ecab92e8fadd.png)
<br>

ただし、IPアドレスの通知というドメインに紐づくIPアドレスを、MyDNS.jp側に通知し、ドメインのレコードに自動適用させる必要があります。つまり、利用中の自宅のIPアドレスがDNSに登録されて、公開されることになりますので、その点を注意する必要があります。

### 3-2.独自のサブドメインの取得

それでは、MyDNS.jpでアカウント登録を完了しておきます。
その後、サブドメインを利用できるかの確認を致します。「DOMAIN INFO」のページの下部まで移動します。
リストにあったサブドメインのリストの１つを選び、ドメインを追加します。
このとき、すでに誰かが利用されている場合もあるので、とりあえず、ドメインだけ入力して、確認を押してみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/42b05860-a62c-89ec-e01b-6691fca13fef.png)
<br>

利用可能でああれば、「送信」を押して、てDNSレコードの登録完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/22b4770b-217a-5c75-cd96-10272bb07be4.png)
<br>

:::note alert
注意
MyDNS.JPにアクセスしているデバイスのアクセス元IPアドレスが、DNSレコードに登録されます。
そのため、公開されても問題ないIPアドレスである必要があり、セキュリティに関しては、十分な注意をする必要があります。
:::

### 3-3.Microsoft 365管理センターで、カスタムドメインの登録

それでは、Microsoft 365管理センターに移動し、「設定 > ドメイン」から「ドメインの追加」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/263525c0-110d-04ee-b07c-253d3449781a.png)
<br>

先ほど、MyDNS.jpで取得したドメイン名を入力します。入力後、「このドメインを使用する」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/cbdd26dd-091c-88e2-e3d1-05d4ffbdaab5.png)
<br>

次に、「ドメインのDNSレコードにTXTレコードを追加する」にチェックを入れて、「続行」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/ec893753-e7b2-b38f-16d8-96477ac1e7cb.png)
<br>

レコードの所有確認画面となります。Hostnameのところに、[@]を入力し、Typeは[TXT]にして、画面上のレコードの値の情報を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/acce83d8-c00b-2098-679c-8a815aa0bf76.png)

所有権確認が完了すると、「自分のDNSレコードを追加する」を選ぶことができるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/a689ea86-742d-f4a1-70f1-ef690fcfa0e6.png)
<br>

ここからは、Exchange OnlineやDKIM、IntuneのためのDNSレコードの登録作業となり、以下のような情報が表示されます。これらをMyDNS.jpの方に登録します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/e51b2572-ace9-8151-f93e-e4bbe23c3d0b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/83665a89-b90b-1992-655f-eb3a9e0bc622.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/29cbfd56-3246-4e98-f719-10211016d0e5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/8ba94d63-64ad-f9b2-2dde-bfa0d42498bc.png)

<br>

以下のように登録します。注意点としては、MXレコードは他のレコードとは異なり、中央部分に入力欄があります。そして、「selector1._domainkey　と　selector2._domainkey」のレコードも登録することで、DKIMの設定も完了することができ、自動的にMicrosoft Defender Portalにも反映されています。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/4787150b-e351-1a3e-21f2-7529447108e6.png)
<br>

上記設定を完了して、Microsoft 365管理センター側で進めると、ドメインのセットアップ完了の画面となります。もし、入力が違っていた場合は、セットアップが完了にならず、どこが間違っているか確認することも可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/bd7f97f6-9f0c-5803-dcd8-8751a77ecc57.png)
<br>

### 3-4.Microsoft Defenderで、DKIMの確認

次は、Defender Portalに移動します。ここで、DKIMの設定の確認をします。

https://security.microsoft.com/homepage

「メールとコラボレーション > ポリシーとルール」に移動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/02f2bab7-5a99-847e-db26-ee7fc103f9cc.png)
<br>

「脅威ポリシー」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/a2b502c3-439d-954d-c588-cd4eeed113e0.png)
<br>

「メールの認証の設定」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/f07f4a02-5df0-1686-c9e6-7c0d395d9cfc.png)
<br>

「DKIM」を選択し、対象となるドメインの列をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/c296d5f4-e2e6-54f6-e3bb-5862a4fe386a.png)
<br>

すでに有効になっているようなので、「閉じる」を選択します。

なお、ここで、有効になっていない場合は、DKIMキーの作成を実行し、DNSレコードの追加をもって、DKIM署名が有効化することになります。今回は、先ほどのカスタムドメインの追加の作業時に、DKIM署名が有効化となり、必要なドメイン登録が完了となっていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/183721ab-f14f-22a8-2d7e-aa028e5e4706.png)

### 3-5.DMARCの設定

最後は、DMARCの設定となり、DNSレコードの登録が必要となります。
例えば、以下のようなDNSレコードを登録することで、利用することができます。

<table>
  <caption>DMARC用のDNSレコード</caption>
  <thead>
    <tr>
      <th>Hostname</th> <th>Type</th> <th>Content</th>
    </tr>
  </thead>
  <tr>
    <td>_dmarc</td> <td>TXT</td><td>v=DMARC1; p=none; rua=mailto:rua@example.com</td>
  </tr>
</table>

* Pタグは、none、quarantine、rejectがあり、認証できない場合におけるメールの処理方法を定義します。今回はnoneにして、認証失敗時のアクションが未定義という状態となります。
* ruaタグは、Reporting URL for aggregate dataの略で、DMARCが集計したSPF、DKIMの認証結果をruaタグで指定したメールアドレスに送付するというタグになります。

# 4.動作確認

動作確認のため、ユーザを作成し、Exchange Onlineが利用できるライセンスを適用します。
outlook webから、gmailにメールを送ってみます。
ドメイン評価の問題かと思いますが、迷惑メールに届きましたが、一応受信することができました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/c5efa9e7-88e0-e65f-7705-186c0105df2d.png)
<br>

メールに対して、「メールのソースを表示」を選択します。
SPF, DKIM, DMARCの３つが、PASSになっていましたので、無事設定完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/1e081161-0d14-ee5a-5307-cde6b136a7e1.png)
<br>

# 5.おわりに

M365において、カスタムドメインからメールのドメイン認証のSPF, DKIM, DMARCまで実施することができました。昨今の潮流を考えると、DKIM, DMARCの設定までは、最低限必須ですね。