【送信ドメイン認証】SPF・DKIM・DMARCについて

こんにちは。管理人です。

今回はメールの送信ドメイン認証について書いてみます。

弊社でも先日導入しましたが、Gmailのガイドライン変更で導入が進んだ感がありますね。

※Gmailアカウント宛にに1日5,000件を超えるメールを送信する場合、送信側でSPF・DKIM・DMARC 全ての設定が必要というものです。

送信ドメイン認証とは、送信者の情報が正規のものであるか?偽装されていないか?を検証できる仕組みです。

送信側は管理するDNSに参照情報を設定しておき、受信側は受け取ったメールの内容と公開されているDNSの情報を参照し真偽を判定します。

送信側は正規の送信者であることを証明できますし、受信側は偽装などを判定することができ不正サイトへ誘導するフィッシングメールなどの被害を未然に防止する効果が期待できます。

主な送信ドメイン認証技術には下記の3つがあります。

・SPF(Sender Policy Framework)

・DKIM(DomainKeys Identified Mail)

・DMARC(Domain-based Message Authentication, Reporting, and Conformance)

SPF、DKIMはそれぞれ認証方式が異なります。

DMARCはSPFとDKIMの認証結果を利用し認証する仕組みとなっており、3つを組み合わせることでより効果的な対策であるとされています。

それぞれの仕組みをなるべく簡潔に要所を押さえてまとめてみました。

●SPF
SPFはDNSに送信元IPアドレスや参照先のレコードを設定します。
受信した側はメールヘッダーのエンベロープFrom(通例Return-Path)のドメインを参照し、DNSのSPFレコードをチェックし合致すれば正規の送信元からのものである可能性が高いとなります。

問題点:メールソフトで送信者の欄に表示されるアドレス(ヘッダFrom)は、送信者が自由に記載できるため受信側は信じてしまう可能性があります。

●DKIM
DKIMはDNSに公開鍵を設定(公開)し、管理サーバでDKIM機能を有効化して送信時にメールヘッダーに電子署名を付与します。
受信側は、DNSに設定されたDKIMの公開鍵を利用して電子署名を検証し、「メールヘッダーが改ざんされていないこと」を確認します。
公開鍵はDNSに設定されるため、誰もが参照できますが、秘密鍵は送信側の正規のサーバにのみ存在し、外部からアクセスできません。
これにより、ドメインの管理者により管理されたサーバから送信されたメールであること、およびそのメールが改ざんされていないことが、DKIMの電子署名によって証明されます。

問題点:SPF、DKIMを設定していてもヘッダfrom(メールソフトで表示される送信者の欄)だけの偽装は見抜けないので完全ではありません。SPFとDKIMはヘッダFromとエンベロープFromの一致を確認しません。

●DMARC
DMARCはDNSにDMARC用のTXTレコードを設定します。
DMARCではメールソフトで表示される送信者のメールアドレス(ヘッダFrom)のドメインで認証します。
SPFとDKIMはヘッダFromとエンベロープFromが一致を確認しませんが、DMARCはSPF、DKIMで認証したエンベロープFromのドメインとヘッダFromの一致を確認します。
送信者のメールアドレス(ヘッダFrom)とSPF、DKIMで認証を行ったドメインが一致していることがパスの条件となります。
DMARCでは検証しクリアしなかったときの処理を送信者が指定すること可能です。
なりすましや偽装されたメールと判定されたメールを受信する、拒否する、隔離するといった処理をDMARCのレコードに設定し指定することができます。
さらに、受信側での処理を送信者がメールで受け取ることが可能です。

いかがでしょう?簡潔にと言いつつ長くなってしまったかもです。。。

メールのヘッダを参照すると上記のチェックが行われていることが分かりますので、興味のある方は参照してみて下さい。

それぞれの細かい設定についてなど、また別の機会に書いてみようとと思っています。

最後までお付き合いいただき、ありがとうございました。

GFCのホームページはこちら

GFCへのお問い合わせはこちら

2 thoughts on “【送信ドメイン認証】SPF・DKIM・DMARCについて

コメントを残す