SPFとDKIMとDMARC(なりすましメール対策)

network

インターネットを使うようになり始めた頃から、迷惑メール対策って割と身近だった気がします(POP before SMTPとかOP25Bとかですね)。

今回は迷惑メール対策のうち「なりすましメール対策」について、各認証方式の違いを覚え書きとして記しました。

なりすましメール

受信者が不利益・被害を被るケースの一つに「なりすましメール」があげられます。Amazonや楽天、あるいはクレジットカード会社を装ったメールを受け取った経験がある方は多いのではないでしょうか。

以前は本文が露骨に機械翻訳だったり中国語っぽかったりでそれと気づき易かったのですが、最近はパッと見ただけでは分かり辛い巧妙なものも多いですね。

これ以外では「ドメインを詐称する」という手口があります。受信者もなりすましと気付きにくいうえ、個人や企業のアイデンティティであるドメインのイメージが悪化することで被害が大きくなります。

今回登場するSPF・DKIM・DMARCはいずれもこのなりすましを防ぐための認証手段です。

SPF(Sender Policy Framework)

「DNSに登録されているレコードと送信元サーバーのIPアドレス」で真偽判定するのがSPF認証です。

SPF

spfには複数のサーバーを登録することが可能で、この仕組みが威力を発揮するのは例えば外部サービスのお問い合わせフォームなどを利用する場合です。サービス提供者側のサーバーをspfへ併記することで、無事なりすましメール判定を回避することができます。

受信したメールのヘッダを見ると「spf=pass」とか「spf=fail」といった記述がありますので、気になるメールがあれば一度チェックしてみましょう。

DKIM(DomainKeys Identified Mail)

DKIM認証はメールに付与された署名が正しいかどうかを判定するもので、下記はメールサーバーで署名する場合のイメージです。

DKIM

DKIMは送信経路上のいずれかの地点で署名を付与します。外部サーバーからメールを送信する時、署名を付与する仕組みがなければ認証失敗となります。

こちらもSPF同様「dkim=pass」や「dkim=fail」といった記述をヘッダで確認できます。

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

DMARCはSPFやDKIMのような単体の認証方法ではなく、「SPFもしくはDKIMの判定結果」と「アライメント」と呼ばれる判定結果を組み合わせた仕組みです。従って、SPFもDKIMも設定しない状態でDMARCを有効化すると全てのメールが認証に失敗するので注意が必要です

DMARCの良いところは「認証失敗時にそのメールをどう取り扱うべきかDNSで公開できること」です。これはSPFの登録と同じでTXTレコードへ記述するのですが、「何もしない(none)」「隔離する(quarantine)」「受信拒否する(reject)」から選択できます。

また、受信者側サーバーから認証失敗の通知を受け取ることができますので、視覚的に状況を把握することが可能であることもポイントです(但し、生データはXMLですので何かしらツールが無いとキツイです)。

以上より、DMARCを有効化する際は一先ず「none」でどのようなレポートが上がってくるかを分析し、状況を見て「quarantine」もしくは「reject」へ変更するのが安全です。

まとめ

ドメイン認証はメール送信者側の立場で考えると、なりすましを防ぐだけではなく自ドメインのメールを確実に相手へ届けるために必要な手段でもあります。伝えたいこと・伝えないといけないことが伝わらなかった結果、言った言わないのトラブルになったり信用を失うことは避けねばなりません。できることは是非先に手を打っておきましょう!

コメント