さくらサーバー+ムームードメインでGmail対策のためにSPF/DKIM/DMARCを設定する手順

サーバー関連
この記事は約9分で読めます。

この記事は、2ヶ月前に書かれました。

はじめに

2023年10月、GoogleがGmailについて「メール送信者のガイドライン」をアップデートし、2024年以降は「SPF/DKIM/DMARC」の対応が必要となりました。
ガイドラインに準拠していない場合、Gmailアカウントへメールが届かなくなるリスクがあります。
今回は、さくらサーバー+ムームードメインという特殊な環境での対応方法となります。
結構手間のかかる作業でした。DNS反映までの待ち時間もあり、設定を間違えていると再度やり直して反映されるまで待機を何度か繰り返していました。おかげでコーヒーを何杯も飲むはめになりましたので、忘れないように備忘録として記録しておきます。

(ドメインをさくらサーバーで取得・管理している場合は操作が異なります。さくら公式ドキュメントを参照して操作してください。)

SPF/DKIM/DMARCについて

SPF/DKIM/DMARCの詳細についてはここでは割愛します。ネットで分かりやすい情報が多数でていますので、そちらを参照してください。

送信ドメイン認証(SPF / DKIM / DMARC)の仕組みと、なりすましメール対策への活用法を徹底解説-エンタープライズIT [COLUMNS]
...

要約すると以下の機能となります。

SPF(Sender Policy Framework)・・送信元メールサーバのIPアドレスで判別

DKIM(Domain Keys Identified Mail)・・電子署名を付与してなりすましを検知

DMARC(Domain-based Message Authentication, Reporting and Conformance)・・認証失敗時の対応策を定義

まずはSPFの設定状況を確認する

SPFについてはご存知の方も多いと思います。現在、SPFの設定はされていると思いますが、念のため、設定済かどうかの確認方法です。
今回、設定対象とするドメインのメールアドレスからGmail宛にメールを送ります。Gmailアカウントが無い場合は作成しててください。

Gmailを開き、届いたメールのメッセージソースを確認します。

以下のように「SPF」という項目があり、PASSとなっていればSPFは設定されています。合わせてDKIMやDMARCといった項目がある場合は、既に設定されていますので何もすることはありません。
そっとこの記事を閉じてください。

もしもSPFという項目がない場合は、早急にSPFの設定が必要です。既にGmailでスパム扱いとなって、相手に届いていない可能性があります。リターンメールが返ってきてませんでしょうか。
SPFの設定方法については、後ほどDKIM、DMARCと合わせて解説します。

SPF/DKIM/DMARCの設定手順

この設定手順については、さくらサーバー+ムームードメインの場合となります。その他のサーバーの場合には当てはまりませんが、基本的な考え方は同じだと思います。

DKIM署名、DMARCを設定したい | さくらのサポート情報
...

注意点として、今回はネームサーバーの設定を変更することになりますので、反映されるまで数十分~最大数日かかる場合があります。一時的にメールが届かない、ウェブサイトが見れないということが発生しますので、作業スケジュールには細心の注意が必要です。

まず、ムームードメインでドメイン取得されている場合、さくらサーバーとの連携については以下のように、さくらサーバーのネームサーバーをムームードメイン側に設定してると思います。
実は、このままではSPF、DKIM、DMARCの設定はできません。ムームードメインのネームサーバーを使用する変更をおこなったうえでSPF等の設定をおこなう必要があります。

ムームードメインのネームサーバーを使用する」に変更します。おそらくこの時点でドメインの名前解決が出来なくなりますので、ウェブサイトの閲覧などが出来なくなるはずです。ただし、反映までにはタイムラグがあります。

後ほど、再度ムームードメインのコントロールパネルの操作が必要となりますので、コントロールパネルの画面は開いたままにしておきます。

次にさくらサーバーのコントロールパネルに入ります。
メール>メールドメインから、設定対象のドメイン名の「メールドメイン設定」を選択します。

SPFレコード「利用する」のみチェックを入れます。DKIMレコード、DMARCレコードにはチェックは入れないでください。
SPFレコードについてもムームードメイン側で設定するのですが、なぜかさくらサーバー側のほうにチェックが入っていないとSPFがPASSとなりませんでした。自分はこれで悩み、かなり時間をロスしてしまいました。

次にDKIM署名の設定をおこないます。メールドメイン画面から対象ドメインの「DKIM設定」を選択します。署名の設定自体はムームー側でおこなうのですが、公開鍵はさくら側で作成する必要があります。

以下のとおり設定しましょう。
DKIMレコードの「利用する」はチェックは入れません。ここでは秘密鍵のみ生成してムームードメイン側でDKIMの設定をおこなうからです。私は一度、ここにチェックを入れたまま秘密鍵を生成してしまい、Gmailでいつまで経ってもDKIMがFAILのままで焦った経験があります。
その際、メールヘッダでは「dkim=temperror(no key for signature)」と表示されていました。

DKIMの公開鍵が生成されました。
セレクタ」と「公開鍵」の2つをムームードメインのネームサーバーに設定する必要がありますので、コピーしてテキストファイルなどに貼り付けておきます。
ちなみに、公開鍵の一行目の「BEGIN~」と最終行の「END ~」は不要です。また、改行が入っていますが、改行も取り除いておいてください。

ムームーDNSのカスタム設定

ムームードメイン側のネームサーバー設定作業に入ります。その前にAレコード等の設定を確認します。ここでは、Aレコードの意味が分からなくても大丈夫です。
対象ドメインのメールドメイン>DNSレコードを開きます。

この画面を参考にムームー側の設定を進めますので、画面開いたままにしておき、ムームードメインのコントロールパネルを操作します。

※ムームードメインの公式マニュアルがありますので参考にしてください。

ムームーDNSカスタム設定
...

ムームーDNSから、対象ドメインの「変更」をクリック

ここから、絶対に一文字も間違えてはいけない作業となります!

慎重に作業をおこないましょう。左がムームー、右がさくらサーバーの画面になります。
まずは、A、MX、TXT、CNAMEなどを設定していきます。枠が無い場合は「入力欄を追加」で増やしましょう。
順番は特に決まりはありません。AとMXが上下逆になっても問題ありません。
A、MX、TXTのサブドメインの欄は空欄で構いません。

引き続き、DKIM、DMARCの設定をおこないます。こちらは設定がややこしいため、別途表にして解説します。

DKIM設定については、さくらで発行したDKIMの「セレクタ」と「公開鍵」の2つを使用します。サブドメインの「セレクタ」の数字と「_domainkey」の文字の間にドットが入ります。忘れないように入れましょう。

サブドメイン内容
rs20240418._domainkeyv=DKIM1; k=rsa; p=[DKIM公開鍵を貼り付け]

DMARCの設定については、主にレポート送信先メールアドレスを設定することになります。受信できる代表メールなどを設定してください。

サブドメイン内容
_dmarcv=DMARC1; p=none;rua=mailto:メールアドレス; ruf=mailto:メールアドレス

ちなみに、ムームードメインでは設定値の末尾にドットは不要です。サーバーによっては、末尾にドットが必要な場合がありますので、各サーバーのマニュアルに沿って設定してください。

サブドメインがある場合、追加で以下のように設定します。
私の場合、このブログをblog1.nkstudio.jpというサブドメインで運用していますので、以下のように追加で設定しておきました。
複数のサブドメインがある場合は全て設定しておきます。

SPF/DKIM/DMARCが設定されたかの確認方法

正しく設定されているかの確認です。
すぐにでも確認したいところなのですが、反映されるまでにタイムラグがあります。これについてはネームサーバーのTTLの設定値によります。私の環境の場合、大体一時間程度で反映されました。
コーヒーでも飲みながら気長に待ちましょう。

反映されたかの確認については以下のツールにて可能です。

Dig (DNS lookup)

SPFレコードの確認には、ドメイン名を入力します。TXTに先ほど設定したSPFの値が表示されていれば反映されています。

DKIMの確認の場合は以下のように入力します。ムームードメインに設定した値の末尾にドットでつなげてドメイン名を付加します。以下のように表示されていれば反映されています。

同様にDMARCも確認します。

Gmailで確認する

Gmail宛にメールを送信し、ソースを確認します。
SPF、DKIM、DMARCの3つの項目が全てPASSとなっています。これで無事設定完了となります。

DMARCレポートのメール受信について

DMARCの設定をおこなうと、定期的にレポートメールが飛んできます。
今回、DMARCポリシーを以下に設定しています。

「none」 ・・・ 何も指定しない(処理方法を受信者側に任せる)

ひとまず、Google側としては「none」の状態でもしばらくは問題ないということなので、レポートメールは放置しています。今後、DMARCレポートを解析するなどの作業が必要となるかもしれません。中身はXMLなので、そのままでは解読は難しいです。専用のアプリがあるらしいですが、それを使用して確認するのもよいかしれません。

まとめ

今回のGmailガイドラインの変更はかなりのインパクトがあります。ECサイトでGmailを使用しているユーザーも多いため、メールが受信できなくなるのは大きなリスクとなります。
Googleは段階的に、メール受信関連を強化していくとのことなので、早めに設定しておくことをおすすめします。
難しくて分からない!という方は、当方のプロフィールのウェブサイトのリンクからお問い合わせいただければ対応いたします。