📬

GoogleWorkspaceでのSPF・DKIM・DMARCの設定方法

2023/05/12に公開

メールでやりとりするにあたってDKIMなどのセキュリティ設定は必須です
めんどくさいですが、設定しないと色々と危ないので必ず設定しましょう

そもそもSPF・DKIM・DMARCとは?

SPFとは?

SPF(Sender Policy Framework)とは、ドメインの送信元IPアドレスを認証する技術です。
送信されたメールのIPアドレスとDNSレコードに記載されたSPFレコードの値を照合することにより、メールの送信元の信頼性を確認します。

DKIMとは?

DKIM(DomainKeys Identified Mail)とは、電子メールでの送信ドメイン認証技術です。
メール送信者が送信するメールに電子署名を行い、受診者が電子署名を検証することによりなりすましや内容の改ざん等が無いことを検証できます。
この検証に失敗した場合は、受信拒否などがされる場合があります。
電子署名には公開鍵が使用されており、こちらはDNSサーバーにて公開されます。

DMARCとは?

DMARC(Domain-based Message Authentication, Rporting, and Conformance)も、電子メールでの送信ドメイン認証技術です。
DMARCは、SPFやDKIMのドメイン認証を補強する技術です。このため、DMARCを使用するにはSPFとDKIMの設定が必須になります。
SPF・DKIMでは送信者側が認証結果を知ることはできませんでしたが、DMARCを使用することにより、認証結果を知ることができ、メールシステムが正しく動いているかなどの判断が容易になります。

SPFを設定する

https://support.google.com/a/answer/33786?hl=ja

1.事前の確認事項

  • 設定するドメインで送信する全てのメールの送信元を特定する
  • DNSレコードが編集できるかどうか
  • 既に設定していないかどうか

2.SPFレコードを設定する

DNSレコードを管理しているサービスに移動し、新しいレコードを作成します。
レコードの内容は以下のとおりです

種類 ホスト名
TXT ドメイン名、または@ 下記のSPFレコードの値の内容を参考

※サブドメインのSPFを設定する場合はホスト名をサブドメインにしてください

SPFレコードの値の内容

SPFレコードの値の内容は以下のようになります

説明
v=spf1 SPFのバージョンを指定します
ip4: 送信元のIPv4アドレスを設定します。
ip6: 送信元のIPv6アドレスを設定します。
a: 送信元のドメインを設定します。
mx: 送信元のメールサーバーをMXレコードで設定します。
include: 送信元のメールサーバーを設定します。
all 全ての送信元を許可します。allの前置字が「~」の場合はSPFがFAILとなった場合でも基本的には受信されますが、「-」の場合は拒否される可能性が強くなります

「ip4」「ip6」「a」「mx」「include」は必要なもののみ設定すれば大丈夫です
Google Workspaceのみを送信元とする場合は以下のように設定します

v=spf1 include:_spf.google.com ~all

3.SPF認証の確認をする

別のGoogleアカウントへテストメールを送信します
受信側にてテストメールを開き、その他アイコンから「メッセージのソースを表示」をクリックします
このように表示されれば成功です

DKIMを設定する

https://support.google.com/a/answer/174124?hl=ja

1.事前の確認事項

事前にこちらを確認してください

  • DNSレコードが編集できるかどうか
  • DNSレコードの提供元が2048ビットのDKIM鍵に対応してるかどうか
  • 送信ゲートウェイの設定がDKIMに干渉しないかどうか
  • 既に設定していないかどうか

2.DKIM鍵を生成する

まず最初に、GoogleWorkspace 管理コンソールに移動してDKIM鍵を取得します
アプリ→GoogleWorkspace→Gmailより、以下の画面に移動します

メニューにあるメールの認証を押し、この画面に移動します
こちらの画面で「新しいレコードを作成」をクリックし、DKIM鍵を生成します。
DKIM鍵のビット長は、基本的に2028を選択してください。

メールの認証に表示されている「DNSホストの名前(TXTレコード名)」と「TXTレコードの値」を控えておいてください。

3.DNSレコードに鍵を追加する

DNSレコードを管理しているサービスに移動し、新しいレコードを作成します。
レコードの内容は以下のとおりです

種類 ホスト名
TXT 先程コピーした「DNSホストの名前」 先程コピーした「TXTレコードの値」

4.DKIMを有効化する

先程のGoogleWorkspace管理コンソールに戻り、下部にある「認証を開始」をクリックして有効化します

ステータスが「DKIMでメールを認証しています。」になれば完了です

5.DKIM認証の確認をする

別のGoogleアカウントへテストメールを送信します
受信側にてテストメールを開き、その他アイコンから「メッセージのソースを表示」をクリックします
このように表示されれば成功です

DMARCの設定をする

https://support.google.com/a/answer/2466580?hl=ja

1.事前の確認事項

  • SPFとDKIMが設定してあるかどうか
  • レポート用のメールボックスを作成する(推奨)
  • DNSレコードを編集できるかどうか
  • 既にDMARCが設定してあるかどうか

2.レコードを作成する

DNSレコードを管理しているサービスにログインし、編集画面に移動します。
その後、以下のように入力します

種類 レコード名
TXT _dmarc v=DMARC1; p=none; rua=mailto:dmarc@hogehoge.com

DMARCレコードの値の内容

説明
v=DMARC1 DMARCのバージョンを指定します
p=none DMARCのポリシーを指定します。noneは何もしないことを指定します
rua=mailto: DMARCレポートを送信するメールアドレスを指定します。

※レコードの値は一例です。ドメイン等を変更しないとレポートが届きません

3.DMARC認証の確認をする

DKIM認証のときと同様にテストメールを送信し、受診者側にてテストメールのソースを確認します。
このように表示されていれば成功です。

GitHubで編集を提案

Discussion