Hosted DKIM
DKIMのエラー問題を解決
Hosted DKIMとは、各MTAの公開鍵をDNSのエントリに直接書くのではなく、高速でスケールアウトする高負荷に耐えられるPowerDMARCのDNSに委任する機能です。
Hosted DKIMの仕組み
DKIMの課題
DKIMは、以下の課題があります。
- DNSが遅延するとエラーになる
-
DKIMには、仕様上、明示的なタイムアウト値が定められていません。
従って、レスポンスのタイムアウト値は、それぞれのリゾルバ次第ということになります。
メール送信側のDNSと、メール受信側のリゾルバ、その間の回線でレイテンシの遅延、パケットロスが生じるとエラーになります。 - DNSが高負荷になるとエラーになる
-
DKIMは1通1通のメールに対してDNSへの問い合わせが発生するため、キャッシュ時間が短い程に高負荷になります。
その結果、レスポンスの遅延が生じるとDKIMのレスポンスエラーとなります。 - ベンダー側のキーローテーションやキー設定の不備
-
CNAME方式でDKIMを設定することで、ベンダーのDNS上でDKIMの鍵の設定が可能になり、自動で鍵のローテーションが可能になるという便利さがあります。
しかし、ベンダーの設定に不備があると、そのことに気付くのが遅くなります。
Hosted DKIMの特長
- より高速・安定のDNS名前解決
- Hosted DKIMのDNSは高速であり、御社のDNSが遅延している場合でも、DKIMのレスポンスを高速化できます。
- ロードバランシングによる高負荷対応
- AWSネットワークロードバランサーを使用してトラフィックを健全なターゲットに自動的に分散し、重いワークロードを均等に処理することで、高いスケーラビリティを実現しています。
- DNSSECによる暗号化
- 委任先のHosted DKIMのDNSは、DNSSECが設定されており、DNSポイズニング攻撃に対抗できます。
- 24時間の可視性及び監視
- Hosted DKIMは、送信メールにDKIM署名を追加、受信メールの署名を確認とDKIM処理の仲介者としてリアルタイムで送信数と受信数のメールトラフィックの相違を検出します。
- DKIM鍵の定期的なローテーション
- 鍵の登録日が記録されるため、M3AAWG(Messaging, Malware and Mobile Anti-Abuse Working Group)が推奨する6か月ごとのキーローテーションを実行するタイミングが明確です。
- GUIで設定可能なDKIM鍵
-
Hosted DKIMのGUIでDKIM鍵の設定、変更、削除が可能です。
これにより、DNSを直接編集する必要がなくなります。
また、コメント機能も提供されているため、どの鍵がどのサービスやどの部門に属しているかを容易に識別できます。 - 4096bit対応
- Hosted DKIMは、最大4096bitまでの鍵に対応しており、DNSのエントリの文字数制限に対する問題を解決します。
設定手順
- 1. DNSのTTLの調整
-
先に、Hosted DKIMの設定でDKIMの鍵を設定できないため、既に利用しているDKIMについては、NSの設定後に登録になります。
そのため、事前にDNSのTTLを必要に応じて1~3時間程度に伸ばしておいて下さい。 - 2. Hosted DKIMのNS確認
-
Hosted DKIMの画面で発行された御社専用のNSレコードを_domainkey用を確認します。
- DNSのエントリタイプ: NS
- ホスト: _domainkey
- 値: _domainkeyを委任するホストの値になります。
- 3. DNSにNSを登録
- 御社がご利用されているDNSに、NSを登録します。
- 4. Hosted DKIMへの鍵の登録
-
Hosted DKIMのNSの値がDNSで確認できると、設定画面が表示されます。
- GoogleなどTXTレコードで登録する方式
- Microsoft365、Amazon SES、SendGrid、HubSpotなどCNAMEで登録する方式
- 公開鍵を登録する方式
- GoogleなどTXTレコードで登録する方式
- 3. DNSキャッシュが切れるのを待つ
-
DNSのキャッシュが切れるのを待ちます。
問い合わせをしてくるリゾルバのキャッシュが切れたところから、_domainkeyについてHosted DKIMを参照します。