MailData

DKIMのPermerrorを修正する方法は?

DKIMのPermerrorを修正する方法は?

2023年3月14日
著者: Ahona Rudra
翻訳: 高峯 涼夏

この記事はPowerDMARCのブログ記事 How to fix DKIM Permerror? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


DKIM PermerrorまたはDKIM permanent errorは、ヘッダフィールドの欠落によるDKIM検証の失敗の結果である可能性があります。
DKIM Permerrorの結果が返されると、送信者がトラブルシューティングを行わない限り、同じ(ように送信される)メッセージに対するその後の検証作業も失敗することに注意してください。
DMARCの設定がp=rejectの場合、(上記のような)DKIMの問題でメール配信に失敗することがあります。

DKIMのPermerrorとは?

DKIM Permerrorは、メールプログラムでDKIM(Domain Keys Identified Mail)を設定する際に発生することがある一般的なエラーです。
次のように表示される可能性があります。


====================================================
Summary of Results
====================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         permerror
Sender-ID check:    pass
====================================================

DKIMは、秘密鍵でメッセージに電子署名を付け、公開鍵でそのメッセージの真正性を検証するセキュリティ機能です。
多くの場合、SPF(Sender Policy Framework)やDMARC(Domain-based Message Authentication, Reporting, and Conformance)とともに使用され、許可された送信者からのメールだけが受信者の受信トレイに届けられることを保証します。

このエラーが表示される理由は、設定プロセスにいくつかの手順が欠けているためです。
多くの場合、DNSの設定が適切でないか、設定プロセスの重要なステップを見落としているために起こります。
また、誤ったDKIMの文字列を入力したために、このような結果になる場合もあります。

DKIMの設定中にこのエラーが表示された場合でもご安心ください!
私たちは、それを素早く乗り越えるために役立つ最高のヒントとコツを、ここにすべて用意しました。

DKIM Permerrorの原因として考えられること

DKIM Signatureのヘッダフィールドの欠落

DKIM署名ヘッダは、メールメッセージの真正性を確認するための手段です。
これは、メールが正しい送信元から来たものであることを保証するセキュリティ対策です。

DKIM署名ヘッダとは、送信者によって作成され、メッセージに追加されるデジタル署名です。
受信者は、このデジタル署名を自分で作成したものと比較することで、メールが正しい個人または組織から送信されたことを確認できます。

以下は必須項目です。

v= 使用中のDKIMのバージョン(value=1)
d= 送信者のドメイン名
a= このフィールドは署名の生成に使用される鍵のアルゴリズムを示す
値はrsa-sha256(強化された保護)またはrsa-sha1(サポートされていないサーバの場合)である
s= DKIMセレクタ(1028~2048ビットの範囲の英数字)。送信者のDNSにある公開鍵と照合する
h= b=タグで定義されるであろうメッセージヘッダのハッシュデータを計算するために、署名アルゴリズムで使用されるヘッダのリスト
b= Base64と呼ばれる特殊なMIMEコンテンツ転送エンコーディングでエンコードされたメッセージヘッダの計算されたハッシュデータ
bh= メッセージ本文の計算されたハッシュ値。このフィールドには、署名アルゴリズムを使用して生成される英数字の変数の任意の文字列が含まれる

これらの必須項目のいずれかがDKIM署名ヘッダから欠落している場合、DKIM Permerrorにつながります。

誤ったDKIM文字列

DKIMのDNSレコードにエラーがないことを確認することは、DKIM permanent errorまたはDKIM Permerrorの結果に終わらないようにするために重要です。
DNS設定がリモートネームサーバによって制御されている場合、DNSプロバイダと連絡を取り、リモートサーバ上のDNSにアクセスし、正しい構文を構成するために変更を中継する必要があります。

スパムアプライアンスの使用

スパムフィルタは、受信者側のDKIM認証設定を上書きすることができます。
これは、スパムフィルタが通常、最後の防衛線となるためです。
受信者がサーバの署名をチェックするとき、それは本質的にメッセージが中継された最後のサーバ、つまりスパムアプライアンスをチェックしています。

※訳注:アプライアンスとは、特定の機能や用途に特化した機器を指します。スパムアプライアンスとは、スパムに対応する機器という意味です。

そこにDKIMキーがないと、DKIM Permerrorにつながります。

DKIMチェックのトラブルシューティング:Permerrorの結果

1. DKIMレコード生成ツールを使ってDKIMレコードを作成する

手動で実装する場合、人為的なミスが発生しやすくなります。
オンラインツールを使用することで、正確な結果を得ることができます。

2. DKIM検索ツールで設定したDKIMレコードを確認する

DKIM Permerrorを常に把握するために、定期的にレコードの構文をチェックし、有効かつ機能していることを確認してください。

3. スパムアプライアンスとメールベンダのDNSでDKIMが有効になっていることを確認する

Microsoft 365やその他のサードパーティを使用してメールを送信し、スパムアプライアンスを設置しているときにこのエラーが発生する場合、スパムフィルタがMicrosoft 365のDKIMポリシーを上書きすることが原因である場合があります。
スパムアプライアンス(最後の防衛手段)とメールベンダのDNSの両方でDKIMが有効になっていることを確認し、DKIM Permerrorを解決してください。

PowerDMARCの2週間の無料トライアルで、DKIMレコード生成ツールやDKIM検索ツールをお試しいただけます。
ぜひご活用ください。