迷惑メール対策DKIMの設定 公開鍵をDNS登録WADAX移行にあたって

雑学

本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^

DKIMって?

DKIMは、受信者に送信するメールが送信中に改ざんされないようにするための電子メール認証プロトコルです。メッセージの改ざんは、しばしば中間者攻撃者によるメールの傍受の結果として起こることがあります。

仕組みを簡単に表現すると

受信側のメールサーバで、メールのヘッダーに付与された電子署名を、送信ドメインのDNSが公開する公開鍵(一般に公開されている暗号化に必要なもの)を使い照合することで、メールの送信者とメール本文の正当性を評価します。

メール送信(署名) → DNS問い合わせ(公開鍵確認) → メール受信(公開鍵から電子署名を確認し、改ざんされていないかを確認する)

設定状況の確認

新サーバに移行し、メールを自分宛てに送ってみます。

Authentication-Results: sv***.wadax-**.jp;
	dkim=temperror

dkim=temperror

となっており、DKIM認証が通っていない事を表します

WADAXの旧サーバから新サーバへ移行

WADAXレンタルサーバを利用してメール送受信を行っています。DNSサーバは、ムームードメインを利用しているという環境で、DNS管理は他社サーバって事です。

DNSに3つのレコードを登録します

_dmarc

_domainkey

default_domainkey

ムームードメインのレコード登録画面

default_domainkey の p= の後に公開鍵を登録します。公開鍵は、元々WADAXのdnsサーバを見るとデフォルトレコードが登録されていたのでそちらを確認しました。

WADAXのデフォルトレコード

DNSへ公開鍵の登録

DNSへ公開鍵を登録し、自分のメールアドレス宛に再度メールを送ってみました。dkimがpassした事が確認できました。

Authentication-Results: sv***.wadax-**.jp;
	dkim=pass header.d=;
	spf=pass (sender IP is ***.***.***.***)

SPFって?

SPFは、IP アドレスを認証する技術であり、送信者ドメインの詐称を検知することができます。

Authentication-Results: sv***.wadax-**.jp;
	dkim=pass header.d=;
	spf=pass (sender IP is ***.***.***.***)

spf=pass (sender IP is ***.***.***.***)

となっていますので、送信者ドメイン・IPアドレスが査証されていない事が確認できます。登録しているムームードメインのTXTレコードはこんな感じです。

TXT	v=spf1 +ip4:***.***.***.*** +include:_spf-sd.wadax-**.jp ~all	

Gmailに送ってみる

dkim設定前

Authentication-Results: mx.google.com;
       dkim=temperror (no key for signature) header.i=@ header.s=default header.b="JHm/36G8";
       spf=pass (google.com: domain of  designates ***.***.***.*** as permitted sender) smtp.mailfrom=

spfだけpassしているのが分かります。

dkim設定後

Authentication-Results: mx.google.com;
       dkim=pass header.i=@ header.s=default header.b=X4H+UN;
       spf=pass (google.com: domain of designates ***.***.***.*** as permitted sender) smtp.mailfrom=;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=

DMARCとは?

これはSPFやDKIMの認証が失敗した場合の対応策を定めたものです。

Authentication-Results: mx.google.com;
       dkim=pass header.i=@ header.s=default header.b=X4H+UN;
       spf=pass (google.com: domain of designates ***.***.***.*** as permitted sender) smtp.mailfrom=;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=

p メール受信者に要望する認証失敗時の動作 (none, quarantine, reject)

p=reject(拒否)

p=quarantine(隔離)

spサブドメインに対するポリシー (none, quarantine, reject)

タイトルとURLをコピーしました