・SPF認証
>仕組み
エンベロープFromのドメイン名 と 送信元メールサーバのIPアドレス の一致を
受信側メールサーバ が確認する
>設定方法
送信元ドメインのDNSサーバにTXTレコード(SPFレコード)を設定する
構文:
example.com IN TXT “v=spf1 ip4:192.168.1.1 -all”
このドメイン(example.com)のメールは、192.1681.1 のメールサーバからしか送信されない
ipアドレスの部分は mx や a:mail.example.com と DNSレコードを指定することも可能
更に「include:_spf.google.com」とすると、送信元(中継)がGoogleのメールサーバだった場合、認証がパス(成功)される
-all はハードフェイルと呼ばれ、正規のメールサーバ以外のものは強制的にfailになる
~all はソフトフェイルといい、正規ではないメールサーバからのメールも配信はされるが
怪しいメールとして処理される
>SPF認証の弱点
SPFは送信元のIPアドレスを基に認証を行うが、メールの転送時に第三者の中継メールサーバを介する場合、その中継サーバに対応したSPFレコードが無いため認証に失敗してしまう。

画像引用元
・DKIM
公開鍵暗号方式を使い、メールヘッダーや本文から作成したデジタル署名をメールに付与し
そのデジタル署名を受信側メールサーバが検証する
メールの送信元の確認とヘッダや本文の改ざんの有無を検知できる
>仕組み
事前にDNSサーバにDKIMレコードとして、署名検証用の公開鍵を登録しておく
構文:
s1._domainkey.example.com IN TXT “v=DKIM1; k=rsa; p=abcd・・・”
s1 の部分はセレクタといい、署名に使用された鍵を識別する為のラベル
鍵は固定ではなく定期的に更新されるため、鍵を特定するのに必要
サブドメインとして_domainkeyを設定する
kは使用した署名アルゴリズムを記述、pは公開鍵をbase64でエンコードされたもの
・DMARC
SPFやDKIMは受信側のメールサーバが送信元を認証する為の仕組みであり
第三者になりすまされて送信されたメールについて、なりすまされた側はそれを検知できない
さらに、それらの認証が失敗しても宛先にメールが届く可能性がある、届くかどうかは宛先のメールサーバの設定次第
DMARCでは、送信側で認証失敗時の処理を決めることができ、さらに認証処理の結果をレポートとして
送信側に届く。
>仕組み
送信側のDNSサーバにDMARCレコードを設定しておく
_dmarc.example.com. IN TXT “v=DMARC1; p=none; rua=mailto:メールアドレス; pct=n”
ドメイン名に _dmarc を付ける
vでDMARCのバージョンを指定し、pには適用するポリシーを指定する
ポリシーは以下の3つがある
none:認証の成功/失敗関係なくメールを配信
quarantine:認証に失敗した場合は迷惑メールへ
reject:認証に失敗した場合は届かない
最初はnoneで徐々に厳しくしていく
ruaにはレポートの届け先メールアドレスを指定、pctはポリシーを適用する割合(整数)が入る
100であれば全てのメールを対象とする
>アラインメントモード
ポリシーをquarantineかrejectにした場合有効で、サブドメインを許容するかどうかを定義する
adkim=s; aspf=r; のような設定ができる
sはstrictモードでサブドメインも含めた完全一致を要求、rはrelaxモードでサブドメインを許容する
コメント