DKIM=none:「メッセージが署名されていません」の意味と対処法

by

最終更新日:
6 読了時間:約6分
DKIM=none:「メッセージが署名されていません」の意味と対処法

主なポイント

  • DKIM none message not signed "エラーは、電子メールに有効なDKIM署名がない場合に発生します。多くの場合、設定の問題やレコードの欠落が原因です。
  • メールサービスの設定でDKIMを有効にすると、送信メールが適切に署名され、改ざんから保護されます。
  • DNSで正確なDKIM TXTレコードを生成して公開することは、効果的な電子メール認証に不可欠です。
  • DNSの設定ミスやDKIMレコードの構文エラーは、認証失敗の一般的な原因であり、速やかに対処すべきである。
  • 定期的にメールヘッダの合否をチェックしてDKIMの機能を検証し、設定が正しく機能していることを確認します。

「DKIM=none」とはどういう意味ですか?

dkim=none が「Authentication-Results」ヘッダーに含まれている場合、受信側のメールサーバーは メッセージにDKIM署名が全く存在しない ことを意味します。これは検証に失敗したわけではなく、単に署名が存在しないという状態です。メッセージは最初から署名されていなかったか、転送中に署名が削除されたかのいずれかです。

受信トレイでは、ヘッダー行は次のように表示されます:

認証結果: mx.google.com; dkim=none (メッセージに署名なし) [email protected];

  • dkim=none: 署名が存在しないことを示します。
  • (署名なしのメッセージ): この括弧内の記述は理由文字列であり、署名が存在したが検証に失敗した場合とは対照的に、署名が存在しなかったことを明示的に示しています。
  • [email protected]: 評価されることが想定されていたドメインを表示します。

この結果は、RFC 7601(Authentication-Results ヘッダーについて)および RFC 6376(DKIM 仕様)で定義されています。また、ヘッダーを メールヘッダー解析ツール に貼り付けることで、これを素早く確認することもできます。

DKIM=none 対 DKIM=fail 対 DKIM=neutral

これら3つの結果を区別することは極めて重要です。なぜなら、それらは認証設定におけるまったく異なる問題を示唆しているからです。

結果意味特製プレゼント一般的な原因
dkim=none署名が見つかりませんでしたいいえDKIMが有効になっていないか、レコードが公開されていない
dkim=fail署名はあったが、確認は行わなかったはい。鍵の不一致、転送中に本文が改変された。DKIMが失敗する理由を確認してください
dkim=neutral署名はあるが、真偽は確認できないはい。署名の形式が不正、またはレコードの構文エラー

DKIM=none は問題になるのでしょうか?

メッセージに「dkim=none」と表示されているのは問題でしょうか?正直なところ、その答えはメールの送信元と送信先によって異なります。

第三者からの受信メッセージの1通に「dkim=none」と表示されていても、必ずしもあなたの側の問題とは限りません。これは単に、相手のシステムがメールに署名していないことを意味するだけです。

しかし、それが 自社の送信メールにこの現象が現れる場合は、大きな問題となります。これは、メッセージに署名がなく、SPFが合格し整合性が取れていない限り、DMARCの検証に失敗することを意味します。DMARCでは、SPFまたはDKIMの少なくとも一方が合格し整合性が取れている必要があるため、SPFのみに依存する署名のないメールは、メッセージが転送された瞬間に検証に失敗してしまいます。 

現在の設定を確認するには、DKIMレコード検索ツールでドメインを検索し、以下の詳細を確認してください。 DKIMとDMARCの整合性 についてさらに詳しく学び、送信メールのセキュリティを確保してください。

「DKIM なし:メッセージに署名がありません」というエラーの原因と対処法

このドメインでDKIMを有効にしたことがない場合は、ほとんどの場合に対応できるため、まず最初の対処法から試してみてください。

メール設定でDKIMが有効になっていません

暗号技術に基づく認証チェックを行うには、メール設定でDKIMを有効にする必要があります。これにより、そのドメインから送信されるすべてのメールに、秘密鍵を含む特別なヘッダーが添付されます。この鍵は公開鍵と照合され、送信者の真正性が確認されます。また、これにより、悪意のある第三者がメールの内容を改ざんしていないことも保証されます。

GmailまたはGoogle WorkspaceでDKIMを有効にする

ここでは、Google Admin Consoleのメール設定でDKIMを有効にする方法をご紹介します:

  1. DKIMレコードを生成する。
  2. TXTレコード名とDKIMキーをドメインに追加します。
  3. Google 管理コンソールにログインし、[メニュー] > [アプリ] > [Google Workspace] > [Gmail] の順に移動します。
  4. 「メール認証」をクリックしてください。
  5. [選択したドメイン] メニューに移動し、DKIM を有効にしたいドメインを選択してください。
  6. 「認証を開始」ボタンをクリックしてください。しばらくお待ちいただくと、DKIMの設定が完了し、ページ上部のステータスに「DKIMによるメールの認証中」と表示されます。

Microsoft Office 365でDKIMを有効にする

Microsoft Office 365 のメール設定で DKIM を有効にする方法は次のとおりです。

  1. まず、Office 365のポータルにサインインします。
  2. 左上隅にあるアプリランチャーのアイコンに移動し、「管理」をクリックしてください。
  3. 左下のナビゲーションバーから「管理」に移動し、「Exchange」を選択してください。
  4. 「保護」に移動し、「DKIM」をクリックしてください。
  5. DKIMを有効にしたいドメインを選択し、続いて「有効にする」を選択して、選択したドメインのメッセージに対してDKIM署名を行えるようにします。各カスタムドメインについて、同様の手順に従ってDKIMを有効にしてください。

DKIMレコードが見つかりません

「DKIMレコードが見つかりません」というエラーが表示された場合、お使いのドメインがDKIMメール認証規格に準拠するように設定されていないことを意味します。このメッセージを解消するには、当社の DKIMレコード生成ツール を使用し、正しい構文のレコードを即座に生成して、ドメインのDKIM設定を行う必要があります。手順は以下の通りです:

  1. DKIMセレクタを選択してください(例:selector1)
  2. ドメイン名(例:exampledomain.com)を入力または貼り付けます。
  3. 次に、「DKIMレコードを生成」をクリックします。
  4. DKIMサイナーに入力する必要がある秘密鍵が送られてきます。
  5. 次に、生成されたDKIMレコードを公開鍵とともに受け取ります。

DKIMの設定エラー

DKIMレコードの構文エラーや設定エラーが原因で、DKIMの検証に失敗しています。以下の手順に従ってレコードを設定してください:

  1. DKIMセレクタを選択してください。
  2. DKIMの公開鍵と非公開鍵のペアを生成する。
  3. DKIM TXTレコードを使用して、セレクタを公開し、公開鍵を公開します。
  4. ドメインのすべての送信メールをトークン化します。
  5. DKIMの公開鍵レコードがDNSに正しく登録されていることを確認してください。数字、特殊文字、大文字と小文字が混在しているため、手入力するのではなく、コピー&ペーストすることをお勧めします。

これ以外にも、「DKIM none message not signed」というエラーを防ぐためには、鍵の共有が広まっている慣行を避ける必要があります。共有鍵の設定が単純化・整理されている状態は、ハッカーに悪用される可能性のある脆弱性となるからです。また、送信されるすべてのメールのヘッダーを検証してください。そのヘッダーは、次のような形式になっている必要があります:dkim none message not signed。

DNSがローカルでホストされていない

ネットワークをより適切に管理し、DKIMを正しく設定するためには、DNSをローカルでホストすることをお勧めします。また、これにより、ネットワークスタック全体でDKIM設定を一元管理できるようになります。問題を解決するには、以下の手順に従ってください:

  1. ドメインの固定IPアドレスを取得する。
  2. DNSサーバーソフトをインストールします。BIND、Microsoft DNS、dnsmasqなどが利用できます。
  3. DNSサーバーソフトウェアに、使用するドメイン名や作成するサブドメインやゾーンなど、適切な設定をします。
  4. ドメインおよびサブドメインのDNSレコード(IPアドレス用のAレコードやメールサーバー用のMXレコードなど)を作成します。すべてが正常に動作している場合は、ドメイン登録業者のウェブサイト上でDNS設定を更新し、自前のDNSサーバーを指すように設定できます。

DKIMによる署名が行われていることを確認する方法

修正を適用したら、送信メッセージに実際に有効な署名が含まれていることを確認する必要があります。確認方法は以下の3つがあります:

  1. テストメッセージを送信してヘッダーを確認する: ご自身のドメインから外部アドレス(個人のGmailアカウントなど)へメールを送信してください。メールを開き、「元のメッセージを表示」を選択して、「Authentication-Results」ヘッダーを探してください。「dkim=none」ではなく「dkim=pass」と表示されていることを確認してください。あるいは、当社の メールヘッダーアナライザー を使用すれば、即座に状況を確認できます。 
  2. 検索ツールをご利用ください: ドメインとセレクターを当社の DKIMレコード検索 にドメインとセレクタを入力すると、公開鍵がDNSで正しく解決されているかどうかを即座に確認できます。
  3. 伝播の遅延を見込む: DNSの変更は必ずしも即座に反映されるわけではありません。新しく公開されたDKIMレコードが、世界中のネットワーク全体に完全に反映されるまでには、最大48時間かかる場合があります。レコードを公開した直後に「dkim=none」と表示された場合でも、これは想定内の動作であり、修正が失敗したことを示すものではありません。

PowerDMARCで「DKIM noneメッセージが署名されていない」を修正!

  • DKIMセレクタを選択してください。
  • DKIMの公開鍵と非公開鍵のペアを生成する。
  • DKIM TXTレコードを使用して、セレクタを公開し、公開鍵を公開する。
  • ドメインのすべての送信メールをトークン化します。

PowerDMARCでDKIMを簡素化

よくあるご質問

「dkim=none」とはどういう意味ですか?

これは、受信側のメールサーバーが、そのメッセージにDKIM署名を見つけられなかったことを意味します。このメールは、送信元サーバーによる署名なしに送信されたか、あるいは転送中に署名が削除されたかのいずれかです。

メールのヘッダーにある「メッセージに署名がありません」とはどういう意味ですか?

これは、DKIMチェックの結果が「none」となった理由を説明する具体的なエラーメッセージです。これは、評価対象のメールに署名が存在しなかったことを明確に示しており、署名は存在したが検証に失敗した場合とは区別されます。

dkim=none は良くないのでしょうか?

組織から送信されるメールにこの表示が出ると問題です。なぜなら、それは送信メールの認証がSPFに完全に依存していることを意味するからです。署名のないメールが転送された場合、DMARCの検証に失敗してしまいます。他者からの受信メールについては、単にその送信者がメッセージに署名していないことを意味するだけです。

「dkim=none」と「dkim=fail」の違いは何ですか?

dkim=none は、メッセージに署名が付与されていなかったことを意味します。dkim=fail は、署名は存在したものの、受信サーバーがそれを検証できなかったことを意味します。これは通常、鍵が一致しなかったか、送信中にメールの内容が改ざんされたことが原因です。

新しいDKIMレコードが有効になるまで、どれくらい時間がかかりますか?

新しいDKIMレコードをDNSに公開すると、全世界のサーバーに完全に反映されるまで最大48時間かかる場合があります。この反映期間中は、テストメールで引き続き「dkim=none」と表示されても、これは正常な動作です。

dkim: なし、メッセージに署名がありません