MailData

「DKIM none message not signed」の修正

「DKIM none message not signed」の修正 - トラブルシューティングガイド

2024年2月26日
著者: Ahona Rudra
翻訳: 竹洞 陽一郎

この記事はPowerDMARCのブログ記事 Fix “DKIM none message not signed”- Troubleshooting Guide の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


エラーのないDKIMレコードを生成し、適切な設定を維持して、メールセキュリティを確保することは非常に重要です。
これができないと、「DKIM none message not signed」などのエラーに遭遇する可能性があります。

このブログでは、DNS内で公開鍵が誤って設定されている、無効である、または存在しないなど、複数の理由で発生する可能性がある「DKIM none message not signed」の修正方法を探ります。
ドメイン管理者として、DKIMの公開鍵と秘密鍵が一致し、正しく設定されていることを確認する必要があります。
このエラーの原因は他にも存在します。それらが何であるか、そして最適なメール認証を行うためにどのように修正するかを見ていきましょう。

「DKIM none message not signed」の主な原因と修正方法

1. DNSが自社でホストされていない

DNSを自社でホストすることを推奨します。
これによりネットワークの管理が容易になり、DKIM設定も適切に行うことができます。
また、ネットワーク全体でDKIM設定を一元管理できるようになります。

次の手順で修正できます。

  1. ドメインの静的IPアドレスを取得します。
  2. DNSサーバーソフトウェアをインストールします。BIND、Microsoft DNS、dnsmasqなどが利用可能です。
  3. DNSサーバーソフトウェアを、使用するドメイン名や作成したいサブドメインやゾーンを含む適切な設定で構成します。
  4. ドメインおよびサブドメインのDNSレコードを作成します。例えば、IPアドレス用のAレコードや、メールサーバー用のMXレコードなどです。
  5. すべてが正常に動作している場合、ドメインレジストラのWebサイトでDNS設定を更新し、自社のDNSサーバーを指すようにします。

2. DKIM設定のエラー

DKIMレコードの構文エラーや設定エラーは、DKIMの失敗の原因となります。
以下の手順でレコードを設定できます。

  1. DKIMセレクタを選択します。
  2. 公開鍵と秘密鍵のDKIMペアを生成します。
  3. DKIM TXTレコードを使用して、セレクタと公開鍵を公開します。
  4. ドメインのすべての送信メールにトークンを付与します。
  5. DKIM公開鍵レコードがDNSに正しく公開されていることを確認します。公開鍵は、数字や特殊文字、大文字小文字が混在するため、手動で入力せずにコピー&ペーストを推奨します。また、広範な鍵の共有は避けるべきで、簡素化された鍵の共有は、ハッカーに悪用される脆弱性となるため注意が必要です。

さらに、すべての送信メールのヘッダーを検証する必要があります。
正しいヘッダーは次のような形式です。


DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=s1;
d=yourdomain.com;

h=From:Date:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:To: Message-ID;

i=support@yourdomain.com; bh=wAsbKJhhfgqwOy8qkdk1MjMONTY3ODkwMTI=;

b=aBecQ+7rHDjakhQs3DPjNJKSAHHsgasZSv4i/Kp+sipUAHDJhaxhBGf+SxcmckhbsbH
ObMQsCNAMBSHmnljHAGjaxk2V

3. DKIMがメール設定で有効になっていない

暗号技術を使用した認証チェックを行うには、メール設定でDKIMを有効にする必要があります。
これにより、ドメインから送信されるすべてのメールに秘密鍵を含む特別なヘッダーが付加されます。
この鍵は公開鍵と照合され、送信者の正当性が確認されます。また、メッセージの内容が転送中に改竄されていないことも保証されます。

GmailまたはGoogle WorkspaceでのDKIM有効化

Google Adminコンソールでメール設定でDKIMを有効にする方法は以下の通りです。

  1. Google Adminコンソールにサインインし、メニュー > アプリ > Google Workspace > Gmailに進みます。
  2. 「メールを認証」をクリックします。
  3. 「選択したドメイン」メニューに進み、DKIMを有効にしたいドメインを選択します。
  4. 「新しいレコードを作成」をクリックして、DKIMレコードを生成します。
  5. 作成したDKIMレコードを、DNSに追加します。
  6. 「認証を開始」ボタンをクリックします。しばらく待つと、DKIM設定が完了し、ページの上部に「DKIMでメールを認証中」と表示されます。

設定が完了したら、以下の手順でDKIM認証が有効か確認できます。

  1. 自分またはGmailやGoogle Workspaceユーザーにテストメールを送信します。
  2. メールを開き、メッセージヘッダー全体を確認します。「Authenticate-Results」という項目を探し、DKIM=passまたはDKIM=OKと表示されているか確認します。

メールヘッダーにDKIMに関する記述がない場合、そのドメインから送信されたメッセージはDKIMで署名されていないことを意味します。
その場合は、手順を再確認するか、専門家に相談してください。
弊社のメールヘッダー解析ツールを使用すると、詳細で迅速な解析が可能です。

Microsoft Office 365でのDKIM有効化

Microsoft Office 365でDKIMを有効にする手順は以下の通りです。

  1. まず、Microsoft Defenderにサインインします。
  2. 左側のメニューから、「メールとコラボレーション」 > 「ポリシーとルール」 > 「脅威ポリシー」を選択します。
  3. ルールの中の「メールの認証の設定」を選択します。
  4. 「DKIM」のタブをクリックし、DKIMを有効にしたいドメインを選択し、「有効」のスライドをOnにします。
  5. クライアントエラーというポップアップが表示されるので、その中に記載してある値をDNSにCNAMEとして登録します。 クライアントエラー

4. レコードの欠落

「No DKIM record found(DKIMレコードが見つかりません)」エラーが発生した場合、それはドメインがDKIMメール認証基準に従って設定されていないことを意味します。
このエラーを解消するには、DKIMレコードをDNSのTXTレコードとして公開し、ドメインのDKIMを設定する必要があります。
弊社のDKIMレコードジェネレーターを使用すれば、正しい構文でレコードを即座に生成できます。

手順は次の通りです。

  1. DKIMセレクタを選択します。(例: selector1)
  2. ドメイン名を入力または貼り付けます。(例: exampledomain.com)
  3. 「DKIMレコードを生成」をクリックします。
  4. 生成された秘密鍵が提供されるので、これをMTAのDKIM設定の箇所に入力します。
  5. 次に、公開鍵を含むDKIMレコードが生成されるので、これをDNSに登録します。

もし「DKIM none message not signed」の問題がまだ解決しない場合は、メール認証のサポートについて、直ちにご連絡ください。