DKIM確認:DKIMレコードを調べる
DKIMでは、送信サーバーが秘密鍵で各メッセージに署名し、受信側がDNSに公開された公開鍵で署名を検証します。ドメインと、メールプロバイダーが使うセレクターを入力すると、その鍵を取得でき、サイズ、形式、署名が失敗している原因の可能性を確認できます。
DKIMセレクターの調べ方
1つのドメインに、サービスごとや鍵のローテーションのために、複数のDKIM鍵を同時に持たせることができます。セレクターは、そのうちどれを使うかを示すラベルです。各鍵はselector._domainkey.yourdomain.comに置かれるため、google._domainkeyとs1._domainkeyを並べて置けます。
最も簡単な調べ方は、自分宛てにメッセージを送り、完全なヘッダーを開いて、DKIM-Signatureの行を見ることです。s=の値がセレクターで、d=が署名したドメインです。
結果がどう表示されるか不安な場合は、上の例のボタンを試してください。正常な2048ビットの鍵(yahoo.comとs2048)、弱い鍵の警告が出る1024ビットの鍵(yahoo.comとs1024)、失効した鍵(gmail.comと20230601)を確認できます。
プロバイダーが既定で使うセレクター
これらはプロバイダーやアカウントの設定方法によって異なるため、出発点として扱い、プロバイダーに確認してください。
| プロバイダー | よくあるセレクター |
|---|---|
| Google Workspace | google(新しい鍵では日付ベースの名前) |
| Microsoft 365 | selector1とselector2 |
| SendGrid | s1とs2 |
| Mailchimp | k1、k2、k3 |
| 多くのコントロールパネルやホスティング | default |
DKIMレコードの読み方
| タグ | 意味 |
|---|---|
| v=DKIM1 | バージョン。省略可能だが、指定する場合はDKIM1でなければならない |
| k | 鍵の種類:rsa(既定)またはed25519 |
| p | base64形式の公開鍵。値が空の場合、鍵は失効している |
| t=y | テストモード:受信側が失敗を寛容に扱うことがある |
| t=s | 厳格:署名ドメインがFromドメインと完全に一致しなければならない |
| s | 鍵を使用できるサービス:emailまたは* |
鍵のサイズ、分割、ローテーション
- 2048ビットのRSA鍵を使用してください。1024ビットの鍵は今も検証できますが、推奨されておらず、それより短いものは安全ではありません。
- 2048ビットの鍵は、1つのDNS文字列に入る255文字より長いため、1つのTXTレコード内の複数の引用符付き文字列として公開されます。ほとんどのDNS管理画面は、これを自動で行います。代わりに鍵が切り詰められてしまうと、読み取れなくなります。
- 鍵は定期的にローテーションしてください。先に新しいセレクターを公開し、メールプロバイダーがそれで署名するように切り替え、配送中のメールが届き終わるまで、古いセレクターは残しておきます。
- 鍵を廃止するには、pを空にしたレコードを公開します。レコードを消すのではなく、その鍵で作られた署名が、きれいに失敗するようになります。