当記事では、送信ドメイン認証がメールの信頼性向上にどのように役立つか焦点を当てます。
送信ドメイン認証におけるSPF、DKIM、DMRACの基礎について記載します。
はじめに
送信ドメイン認証とは
送信ドメイン認証とは、電子メールの送信元ドメインを認証し、信頼できるものであることを確認する仕組みです。
主な送信ドメイン認証技術には、SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting, and Conformance)があります。
送信ドメイン認証の重要性
送信ドメイン認証は、スパムメールやフィッシング詐欺などの不正なメールからの保護を強化します。
電子メールのセキュリティと信頼性を向上させ、攻撃から保護するために有効な手段となります。
企業や個人がメール送信の信頼性を確保し、ブランド価値を保護するために送信ドメイン認証を実装することが推奨されます。
送信ドメイン認証の種類
SPF (Sender Policy Framework)
SPFは、メール送信元のドメインが正当であることを確認するための仕組みです。
送信者がメールを送信する際、送信元のメールサーバーのIPアドレスやホスト名が、送信元ドメインのSPFレコードにリストされているかどうかが確認されます。
DKIM (DomainKeys Identified Mail)
DKIMは、メールの改ざんを防止し、送信者のドメインの信頼性を確保するための仕組みです。
送信者はメールにデジタル署名を付け、受信者はドメインの公開鍵を使用してこの署名を検証します。
DMARC (Domain-based Message Authentication, Reporting, and Conformance)
DMARCは、SPFとDKIMの両方を使用してメール送信者の認証を強化し、不正なメール送信を防止するためのポリシーを定義します。
DMARCポリシーは、送信者の指示に基づいて、受信サーバーが不正なメールをどのように処理するかを決定します。
SPFの設定
SPFレコードの構文
SPFレコードは、メール送信元のドメインに関する送信許可を定義します。
一般的なSPFレコードの構文例は次の通りです。
[ドメイン名]. IN TXT "v=spf1 許可する送信元IPアドレス/ネットワークブロック -all"
例えば、ドメインがexample.com、IPアドレスが192.168.0.0/24がメール送信元となる場合は次の通り設定します。
example.com. IN TXT "v=spf1 192.168.0.0/24 -all"
SPFの設定方法
SPFの設定では、利用ドメインのDNSレコードにSPFレコードを追加することが必要です。
SPFレコードはTXTレコードとなり、メール送信元のIPアドレスやホスト名、その他の許可情報を含むことができます。
SPFレコードの設定にて構文誤りなど不正確な記述、余分な空白文字があると正しく認証できない場合があります。
DKIMの設定
DKIMキーの生成
DKIMキーペアを生成するために、DKIM署名のための公開鍵と秘密鍵が必要です。これらの鍵は一般的にDKIMキー生成ツールを使用して生成されます。
鍵の生成時には、鍵の長さやアルゴリズムの選択に注意する必要があります。一般的には、2048ビット以上のRSA鍵が推奨されます。
DKIMレコードの構文
DKIMレコードは、送信メールのデジタル署名を検証するための公開鍵情報を定義します。
DKIMセレクタとはDKIM署名のドメイン名に付加される文字列となり、メッセージの署名に使われる公開鍵の識別のために利用されます。
一般的なDKIMレコードの構文例は次の通りです。
[セレクタ]._domainkey.[ドメイン名] IN TXT "v=DKIM1;k=rsa;p=[公開鍵データ]"
DKIMの設定方法
DKIMの設定では、DKIMキーの生成および利用ドメインのDNSレコードにDKIMレコードを追加することが必要です。
DKIMレコードはTXTレコードとなり、DKIMバージョン、公開鍵方式、公開鍵データ等の情報が含まれます。
DKIMの設定に誤りがあると、メール送信時にDKIM署名が検証されず、受信側のメールサーバーでメールが拒否される等の問題が発生する場合があります。
DMARCの設定
DMARCレコードの構文
DMARCレコードは、利用ドメインのDMARCポリシーやDMARCレポートの送信先を定義します。
DMARCポリシーはドメイン管理者が定義するルールのことで、送信メールが受信側のDMARC認証に失敗した場合にどのような処理を実行するか定義できます。
DMARCレコードの構文例は次の通りです。
_dmarc.[ドメイン名] IN TXT “v=DMARC1; p=none; rua=mailto:report-a@[ドメイン名]; ruf=mailto:report-f@[ドメイン名]”
DMARCの設定方法
DMARCの設定では、利用ドメインのDNSレコードにDMARCレコードを追加することが必要です。
DMARCレコードはTXTレコードとなり、DMARCバージョン、適用される処理ポリシー、集計レポートや失敗レポートの送信先等の情報が含まれます。
DMARCレコードで定義する処理ポリシーには”none”、”quarantine”、”reject”などがあります。
“none”は監視のみ、”quarantine”は不審なメールとして隔離フォルダに除外、”reject”は不審なメールとして削除することを受信側のメールサーバーに指示します。
まとめ
送信ドメイン認証のまとめ
送信ドメイン認証は、メール送信の信頼性とセキュリティを向上させるための手段となります。
SPF、DKIM、DMARCを組み合わせることで、メールの受信者が偽装されたメールやスパムから保護され、信頼性の高いメール送受信が確保されます。
SPFを導入するためには、送信側のIPアドレスやホスト名を含んだSPFレコードを登録することが必要となります。
DKIMを導入するためには、送信メールへの署名および公開鍵の情報を定義したDKIMレコードを登録することが必要となります。
DMARCを導入するためには、処理ポリシーを定義したDMARCレコードを登録することが必要となります。
メールの受信側ではこれらのメールセキュリティを実装したメールに対し、SPF、DKIM、DMARCそれぞれの検証を実行するため、検証を有効化する必要があります。