はじめに
前回までの手順で独自ドメインでのメール送受信ができるようになったので、SPF
、DKIM
、DMARC
のメール認証に対応させてみようと思います。
各認証方法の違い
メール認証で使われるSPF
、DKIM
、DMARC
の違いについて、簡単ですが、以下にまとめます。
SPFとは
Sender Policy Framework
の略で、送信元のIPアドレスが詐称されていないかを確認することで、正常なドメインから送信されているメールであることを確認する技術となります。
やり方としては、DNSサーバに予めSPF用のTXTレコードを追加しておくことで、送信元のドメインが意図した送信元IPアドレスから送信されたメールであると判断します。
今回は「お名前ドットコムのMicrosoft365プランで独自ドメインのメールを送受信する。(その2:独自ドメイン追加)」の「DNSレコードの追加」でSPF用のTXTレコード(v=spf1 include:spf.protection.outlook.com -all
)を追加しているため、設定は不要です。
DKIMとは
Domain Keys Identified Mail
の略で、SSL通信等でも使われる電子署名の技術を使って送信元が詐称されていないかを確認する技術となります。
電子署名を検証するための公開鍵はDNSサーバで公開され、受信者はメールの情報からDNSサーバに問い合わせて検証を行うことで詐称されていないことを判断します。
今回の場合、公開鍵はお名前ドットコムのDNSサーバではなく、Microsoft Exchangeで発行されるため少しややこしいですが、仕組みは同様です。
DMARCとは
Domain-based Message Authentication, Reporting, and Conformance
の略で、SPF
とDKIM
を利用して、詐称メールに対して、どのようなアクションを行うかをポリシー設定して、ポリシーに応じて詐称メールに対して隔離したり、破棄したりする技術となります。
SPF
、DKIM
両方を利用するため、どちらも有効にしておく必要がありますが、DMARC
の設定自体は、SPF
と同じようにDMARC用のTXTレコードを追加するだけです。
DKIMの設定
DKIM
の設定はMicrosoft365側でのDKIMキー作成&有効化と、お名前ドットコムのDNSサーバへのレコード追加が必要となるため、それぞれ説明していきます。
Microsoft365 DefenderでのDKIMの設定
基本的には以下のドキュメント通りに設定していきます。
DKIM
は今まで操作していた「Microsoft365 管理センター」ではなく、「Microsoft365 Defender」から設定を行っていきます。
「Microsoft365 Defender」は「Microsoft365 管理センター」の左ペインから「管理センター」の「セキュリティ」を選択することで表示されます。
「Microsoft365 Defender」の「ポリシーとルール」→「脅威ポリシー」→「DKIM」から独自ドメインの名前を選択すると、DKIMキーが作成されているかを確認できます。
現状はDKIM
を有効にしていないので「DKIMキーの作成」を選択し、DNSサーバに登録するCNAMEレコードをコピーしておきます。
お名前ドットコムでのDKIMの設定
先ほどコピーしたCNAMEレコードを「お名前.com Navi」から追加します。
以下画像では後ろの部分が見切れてしまっていますが、先ほどコピーしたValue値を入力してください。
Microsoft365 DefenderでのDKIMの有効化
再度「Microsoft365 Defender」画面に戻り、DKIM
を有効化します。
有効化後、以下のように表示されれば完了です。
レコード反映まで少し時間がかかるため、もしエラーが表示された場合は少し待ってから再度有効化してみてください。
DKIM有効化の検証
上記で設定は完了しましたが、実際にDKIM
が使われているのかを確認していきます。
上記で紹介したドキュメントの「次の手順: Microsoft 365 に SPF をセットアップした後」にある「テストを実行する:DKIM」を選択すると、「Microsoft365 管理センター」のヘルプ項目に飛び、そこからDKIMのチェックが行えます。
診断結果が以下のように表示されればDKIM
が有効になっています。
DMARCの設定
DMARC
の設定はSPF
とDKIM
の設定が完了していれば、お名前ドットコムのDNSサーバにDMARC用のTXTレコードを追加するだけになります。
以下で設定方法を説明していきます。
お名前ドットコムでのDMARCの設定
DMARC
の設定はレコード追加だけとなりますが、追加するTXTレコード内に利用するポリシーや、集計レポート、認証失敗レポートの送信先等、それぞれの環境によって設定する必要があり、一筋縄ではいきません。
DMARC
もMicrosoftの以下ドキュメントに方法が記載されているため、そちらも参考にしてください。
TXTレコードに追加するパラメータは以下サイトのようなパラメータがあるとのこと。
色々なサイトを参考にしつつ、今回は以下のように設定してみました。
ホスト名 | TYPE | TTL | VALUE | 優先 | 状態 |
---|---|---|---|---|---|
_dmarc | TXT | 3600 | v=DMARC1; p=none; pct=100; rua=mailto:[集計レポート送信先]; ruf=mailto:[認証失敗レポート送信先] | - | 有効 |
ポリシーはいきなり強くしすぎても、どれだけのメールが失われるか明確に分からないとのことなので、none
に。
集計レポート、認証失敗レポートはどのようなレポートが送られてくるのか気になるので追加しました。
どのように設定するかは要件によって異なるかと思うので、各自調整してみてください。
DMARCの検証
以下のサイトでDMARC
に対応しているか調べられるようです。
ドメイン名を入力して「Inspect the domain」を実行後、以下のような画面が出ればDMARC
に対応できています。
おわりに
今回DKIM
、DMARC
の設定を行ってみましたが、手探り状態で設定したためこれであっているのか不安というのが正直なところです。(特にDMARC
)
そのうちしっかり勉強しよう・・・