MailData

Hosted DKIM

Hosted 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鍵の自動検証
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レコードで登録する方式
    TXTレコードでのDKIMの登録
  • Microsoft365、Amazon SES、SendGrid、HubSpotなどCNAMEで登録する方式
    CNAMEレコードでのDKIMの登録
  • 公開鍵を登録する方式
    公開鍵でのDKIMの登録
3. DNSキャッシュが切れるのを待つ
DNSのキャッシュが切れるのを待ちます。
問い合わせをしてくるリゾルバのキャッシュが切れたところから、_domainkeyについてHosted DKIMを参照します。