MailData

SPF・DKIM・DMARC徹底解説:完全ガイド

SPF・DKIM・DMARC徹底解説:完全ガイド

2024年5月31日
著者: Ahona Rudra
翻訳: 岩瀨 彩江

この記事はPowerDMARCのブログ記事 Understanding SPF, DKIM, and DMARC: A Complete Guide の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


SPF、DKIM、DMARCとは何ですか?

SPF、DKIM、DMARCは、3つの主要なメール認証プロトコルです。
これらを組み合わせることで、不正な送信元があなたのドメインを使用して、見込み客、顧客、従業員、サードパーティのベンダー、利害関係者などに詐欺メールを送信するのを防ぐことができます。
SPFとDKIMはメールの正当性を示すのに役立ち、DMARCは認証チェックに失敗したメールをどのように処理するかを受信側のメールサーバに指示します。

送信者ポリシーフレームワーク(SPF)
送信者のIPアドレスを検証し、それがあなたのドメインの代理としてメールを送信する権限を持っていることを確認します。
ドメインキー識別メール(DKIM)
メールにデジタル署名を追加し、送信者の身元を確認するとともに、メッセージの改竄を防止します。
ドメインベースメッセージ認証・報告・適合(DMARC)
SPFおよびDKIMチェックを強制し、メール認証結果に関するレポートを生成するためのポリシーフレームワークを提供します。

重要なポイント

  1. SPF、DKIM、DMARCは、メールセキュリティを強化し、あなたのドメインの不正使用を防ぐために連携して機能する不可欠なプロトコルです。
  2. メール認証は、サイバー攻撃の大部分を占めるフィッシングやなりすましから保護するために極めて重要です。
  3. これらのプロトコルを実装することで、なりすまし攻撃の試みを大幅に減少させ、ドメイン全体のセキュリティ体制を改善することができます。
  4. SPF、DKIM、DMARCの設定を維持し、定期的に更新することで、メール通信の保護における有効性を確保できます。
  5. MTA-STSBIMIといった高度な技術を導入することで、セキュリティとブランドの認知度を高め、メール認証戦略をさらに強化することが可能です。

メール認証の理解

メール認証とは、メール送信元の正当性を検証するプロセスです。
これは、組織が自分のドメインを使って正規の送信者だけがメールを送信できるようにするための重要なセキュリティ対策です。
SPF、DKIM、DMARCは、送信元やメール内容を検証し、認証に失敗したメッセージへの対応方法を定義することで、メール認証の柱を形成しています。

VerizonのDBIRレポートによると、すべてのサイバー攻撃の94%はメールから始まっているとされています。
これは、なりすましの脅威が拡大し、その蔓延ぶりが深刻であることをさらに浮き彫りにしています。

メール認証が重要な理由

メール認証は、メールなりすましに対する第一の防御線です。
メールなりすましとは、悪意を持ってドメイン名やメールアドレスを偽装する行為です。
攻撃者は、正規の企業になりすまして偽装メールを送り、何も知らない被害者をだますことを目的としています。

送信元の正当性を検証することで、認証は偽装されたメールが配信されるのを防ぎます。
実際に、メール認証プロトコルを導入した企業では、自社ドメインからのなりすまし攻撃が90%以上減少したと報告されています。

SPF、DKIM、DMARCの役割

メール認証は、フィッシングやなりすましといった手法を用いたメールベースのサイバー攻撃から自社ブランドを守るために重要です。
メール認証は主にSPF、DKIM、DMARCプロトコルに依存しており、さらにMTA-STS、BIMI、ARCといった追加プロトコルを組み合わせることで、セキュリティを一層強化することができます。
以下に、それらを導入する必要がある理由を示します。

SPF、DKIM、DMARCのチェックはどこで行えるのか?

SPF、DKIM、DMARCのチェックは、これらのレコードがドメインネームシステム(DNS)に保存されているかを確認することで行えます。
DNSは「インターネットの電話帳」とも呼ばれ、ドメイン名を対応するIPアドレスに変換します。
また、DNSはDNSレコードの形式でドメイン情報を保存するデータベースとして利用されます。

SPF、DKIM、DMARCチェックは、DNSに公開・保存できる既存のDNSレコードを確認するために使われます。
メール認証チェックの際、受信側のMTAはDNSに問い合わせを行い、これらのレコードを参照し、そこに定義された指示や情報に基づいて処理を行います。
PowerDMARCの無料SPFレコードチェッカー、DKIMレコードチェッカーDMARCレコードチェッカーを利用することで、あなたのDNSにこれらのレコードが含まれているかどうかを即座に確認できます。

SPF、DKIM、DMARCの設定方法

以下の手順に従ってSPF、DKIM、DMARCを設定し、あなたのドメインとメールを保護してください。

  1. SPF DNSレコードを作成します。
  2. DKIMの公開鍵を作成します。
  3. DMARCポリシーレコードを作成し、DMARCレポートを有効化します。
  4. DMARCレポートを受信する専用メールボックスを設定するか、DMARCレポート解析プラットフォームを利用します。
  5. SPF、DKIM、DMARCレコードをDNSに公開します。

SPF:メール送信者の検証

送信者ポリシーフレームワーク(SPF)は、ドメイン所有者が自分のドメインを使ってメールを送信することを許可されたすべてのサーバを登録するメール認証プロトコルです。
これは、DNSにTXT形式のSPFレコードを作成し公開することで実現されます。
送信元IPがリストに含まれていない場合、認証は失敗し、そのメールはスパムまたは不審なものとして扱われる可能性があります。

ただし、SPFにはいくつかの制限があります。
メールが転送された場合や、DNSルックアップが10回を超えた場合に機能しなくなることがあります。
すでにSPFレコードを持っている場合は、SPFレコードチェッカーを使用してエラーがないか確認できます。

SPFの設定方法

  1. すべてのメール送信元(サードパーティベンダーを含む)を特定します。
  2. 無料のSPFジェネレーターを使ってSPFレコードを作成します。このレコードには、すべての送信元が承認されていることを指定します。
  3. レコードの構文をコピーします。
  4. DNS管理コンソールにログインします。
  5. DNSレコードの「TXT」リソースタイプに、作成したレコードを貼り付けます。

数時間待つと変更が反映されます。
反映後は、SPFレコード検索ツールを使用して、エラーがないか確認できます。

SPFにおける一般的な課題

SPF、DKIM、DMARCの課題を学ぶ際、特にSPFの実装においてドメイン所有者が直面しやすい共通の問題があります。
それらは以下の通りです。

これらの問題を解決するには、SPFレコードをマクロで最適化し、定義された制限内に収める必要があります。
また、SPFをDKIMやDMARCと組み合わせることで、認証と配信の精度をさらに高めることができます。

DKIM:メール内容の保護

ドメインキー識別メール(DKIM)は、ドメイン所有者が自分のドメインから送信されるメールに自動的に署名できる仕組みです。
DKIMの仕組みは、銀行の小切手に署名してその真正性を確認するのと似ています。
DKIM署名により、メールの内容が配信過程で安全に保たれ、改竄されないことを保証します。

具体的には、公開鍵をDKIM DNSレコードに保存します。受信メールサーバはこのレコードにアクセスして公開鍵を取得します。
一方、送信者は秘密鍵を保持し、その秘密鍵でメールヘッダーに署名します。
受信メールサーバは、送信者の秘密鍵で作成された署名を公開鍵と照合することで検証を行います。

DKIMの設定方法

  1. PowerDMARCの無料DKIMレコードジェネレーターを使って、簡単にDKIMを設定できます。
  2. ツールボックスに自分のドメイン名を入力し、Generate DKIM recordボタンをクリックします。
  3. 秘密鍵と公開鍵のペアが生成されます。
  4. 公開鍵を自分のドメインのDNSに公開します。
  5. メールサーバを設定し、DKIM秘密鍵を使ってすべての送信メールのヘッダーに署名します。
    この署名プロセスによって、各メールにDKIM署名が追加され、受信者のメールサーバはDNSに公開されているDKIM公開鍵を使って検証を行います。
    秘密鍵は必ず安全に保管し、公開したり他人に開示したりしないようにしてください。

最後に、DKIMルックアップツールを使ってDKIM公開鍵を確認し、正しく設定されていることを確かめましょう。

DKIMの利点

SPF、DKIM、DMARC認証の追加を検討する際、特にDKIMにはメール認証においていくつかの利点があります。

DMARC:メールフィッシングとなりすましの防止

ドメインベースメッセージ認証・報告・適合(DMARC)は、SPF、DKIM、またはその両方で認証に失敗したメールをどのように処理するかを受信者のサーバに指示します。
受信者が取るアクションは、送信者が設定したDMARCポリシー(none、quarantine、reject)のいずれかに依存します。

DMARCポリシーはDMARCレコードに設定され、このレコードには、検証チェックに合格または失敗したすべてのメールについて、ドメイン管理者にレポートを送信する指示も保存されます。
すでにDMARCポリシーを実装している場合は、無料のDMARCレコード検索ツールを使用して正しく設定されているか確認してください。

DMARCの設定

  1. 無料のDMARCジェネレーターを使用して、DMARCレコードを作成できます。
  2. DMARCポリシー(例:p=quarantine)を選択し、ruaタグにメールアドレスを定義することでDMARCレポートを有効化します(例:rua=mailto:rua@domain.com)。
  3. Generate」をクリックします。
  4. 生成されたTXTレコードをクリップボードにコピーし、DNSに貼り付けてプロトコルを有効化します。

DMARCチェッカーを使用して実装を確認し、設定が正しいか検証してください。

DMARCの適用ポリシーとアクション

ドメイン所有者は、認証されていないメールに対して取るアクションを設定できるDMARCポリシーを3種類利用できます。以下の通りです。

1.None(p=none)
「none」ポリシーは何も行わないポリシーで、認証されていないメールをそのまま配信します。初心者向けです。
2.Quarantine(p=quarantine)
「quarantine」ポリシーは、認証されていないメールを隔離する強制型のDMARCポリシーです。
3.Reject(p=reject)
「reject」ポリシーは、認証されていないメールを拒否するDMARCの最大レベルの強制ポリシーです。

DMARCポリシーのアクションは、メールを悪用した脅威を防ぐ上で重要な役割を果たします。 ポリシーを適用することで、ドメイン所有者はなりすましやフィッシング攻撃からより強力に保護されます。

高度なメール認証技術

メール認証はSPF、DKIM、DMARCで終わるものではありません。
ドメインとメールのセキュリティをさらに強化するために、高度な認証技術を導入することができます。
ここでは、そのいくつかについて説明します。

MTA-STS、BIMI、ARC

MTA-STSプロトコル
認証のためにメールメッセージをTLSで暗号化して受信トレイに配信することを保証します。
これにより、通信するメールサーバ間で暗号化されたSMTP接続を確立することで、中間者攻撃やDNSスプーフィング攻撃を防ぎます。
BIMI(Brand Indicators for Message Identification)
企業が自社のブランドロゴをメールに添付できるようにする仕組みです。 これは視覚的な検証と認証の役割を果たし、ブランド認知や信頼性を向上させます。
ARC(Authenticated Received Chain
メール転送時に元のSPFおよびDKIM認証ヘッダーを保持することで、フォールバックメカニズムを提供します。 これにより、転送されたメールで不要な認証失敗が発生するのを防ぎます。

これらの技術を導入するタイミング

DMARCの設定に自信が持てるようになったら、メール認証の第2段階としてこれらの技術を導入できます。
これらの高度な設定は、ブランドの信頼性を確立し、さらにメールの評判を向上させたいすべての組織に最適です。
基本的な認証設定に追加のセキュリティを提供することで、高度なサイバー攻撃に対抗できる体制を強化することができます。

メール認証設定の実装と維持

SPF、DKIM、DMARCプロトコルを実装したら、すべてが正しく機能していることを確認するために、監視と維持を行う段階に入ります。
以下は認証設定を維持する方法の一部です。

監視ツールの活用

DMARC監視ツールはクラウドベースのAI搭載プラットフォームであり、単一のインターフェースからメール認証の実装を即座かつ簡単に監視することができます。

DMARCレポートの分析

DMARCレポートを分析することで、メール認証の結果やドメインの送信元に関する豊富な情報を得ることができます。
これにより、不一致を検出したり、なりすましの試みを防いだりすることが可能になります。

定期的な更新と保守

SPF、DKIM、DMARC、さらに高度な認証技術が正しく機能しているかを定期的に確認することが重要です。
SPFは新しい送信元を含めるために定期的な更新が必要になる場合があります。
DKIMキーはセキュリティ向上のために頻繁にローテーションする必要があります。

DMARCポリシーはサイバー攻撃を防ぐために適用を徹底する必要があります。
更新や適切な保守を行わなければ、これらの実装は効果を失う可能性があります。

まとめ

これらのセキュリティプロトコルをドメインに設定したら、レポートを監視して不審な活動に気付くことが必要です。
これらのプロトコルを適切に設定・管理することで、ドメインのセキュリティとメールの到達率を大幅に向上させることができます。

ただし、これらの認証プロトコルはフィッシングのリスクを軽減できますが、すべてのメールベースのサイバー犯罪を防ぐものではありません。
したがって、従業員教育や意識向上と併せて取り組むことが重要です。

SPF、DKIM、DMARCに関するよくある質問

SPFやDKIMなしでDMARCを作成できますか?
答えは「いいえ」です。
DMARCを設定するには、まずSPFまたはDKIMのいずれかを実装する必要があります。
SPFやDKIMがなければ、DMARCの設定は機能しません。
DMARCにはSPFとDKIMの両方が必要ですか?
DMARCは、SPFとDKIMの両方を必須とするわけではありません。
いずれかのプロトコルを設定してからDMARCを導入することができます。
ただし、セキュリティを強化するために、両方を実装することを推奨します。
GmailはSPFまたはDKIMを使用していますか?
はい。
Gmailの更新された送信者ガイドラインでは、すべての送信者に対して、Gmailの受信トレイにメールを正常に送信するためにSPFまたはDKIMのいずれかを実装することを求めています。
1つのドメインに2つのDKIMレコードを持つことはできますか?
はい。
ドメインは異なるセレクタを用いて2つ以上のDKIMレコードを持つことができます。
これにより、受信サーバは認証時に適切なDKIMレコードを容易に特定できます。
プロトコルが有効になっているかどうかを確認するには?
ドメインで認証プロトコルが有効になっているか確認するには、PowertoolboxのDNSレコードチェッカーツールを使用するか、メールヘッダーを解析する方法があります。