「DKIM none message not signed」の修正 - トラブルシューティングガイド
DKIMの設定方法をご紹介
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設定を一元管理できるようになります。
次の手順で修正できます。
- ドメインの静的IPアドレスを取得します。
- DNSサーバーソフトウェアをインストールします。BIND、Microsoft DNS、dnsmasqなどが利用可能です。
- DNSサーバーソフトウェアを、使用するドメイン名や作成したいサブドメインやゾーンを含む適切な設定で構成します。
- ドメインおよびサブドメインのDNSレコードを作成します。例えば、IPアドレス用のAレコードや、メールサーバー用のMXレコードなどです。
- すべてが正常に動作している場合、ドメインレジストラのWebサイトでDNS設定を更新し、自社のDNSサーバーを指すようにします。
2. DKIM設定のエラー
DKIMレコードの構文エラーや設定エラーは、DKIMの失敗の原因となります。
以下の手順でレコードを設定できます。
- DKIMセレクタを選択します。
- 公開鍵と秘密鍵のDKIMペアを生成します。
- DKIM TXTレコードを使用して、セレクタと公開鍵を公開します。
- ドメインのすべての送信メールにトークンを付与します。
- 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を有効にする方法は以下の通りです。
- Google Adminコンソールにサインインし、メニュー > アプリ > Google Workspace > Gmailに進みます。
- 「メールを認証」をクリックします。
- 「選択したドメイン」メニューに進み、DKIMを有効にしたいドメインを選択します。
- 「新しいレコードを作成」をクリックして、DKIMレコードを生成します。
- 作成したDKIMレコードを、DNSに追加します。
- 「認証を開始」ボタンをクリックします。しばらく待つと、DKIM設定が完了し、ページの上部に「DKIMでメールを認証中」と表示されます。
設定が完了したら、以下の手順でDKIM認証が有効か確認できます。
- 自分またはGmailやGoogle Workspaceユーザーにテストメールを送信します。
- メールを開き、メッセージヘッダー全体を確認します。「Authenticate-Results」という項目を探し、DKIM=passまたはDKIM=OKと表示されているか確認します。
メールヘッダーにDKIMに関する記述がない場合、そのドメインから送信されたメッセージはDKIMで署名されていないことを意味します。
その場合は、手順を再確認するか、専門家に相談してください。
弊社のメールヘッダー解析ツールを使用すると、詳細で迅速な解析が可能です。
Microsoft Office 365でのDKIM有効化
Microsoft Office 365でDKIMを有効にする手順は以下の通りです。
- まず、Microsoft Defenderにサインインします。
- 左側のメニューから、「メールとコラボレーション」 > 「ポリシーとルール」 > 「脅威ポリシー」を選択します。
- ルールの中の「メールの認証の設定」を選択します。
- 「DKIM」のタブをクリックし、DKIMを有効にしたいドメインを選択し、「有効」のスライドをOnにします。
- クライアントエラーというポップアップが表示されるので、その中に記載してある値をDNSにCNAMEとして登録します。
4. レコードの欠落
「No DKIM record found(DKIMレコードが見つかりません)」エラーが発生した場合、それはドメインがDKIMメール認証基準に従って設定されていないことを意味します。
このエラーを解消するには、DKIMレコードをDNSのTXTレコードとして公開し、ドメインのDKIMを設定する必要があります。
弊社のDKIMレコードジェネレーターを使用すれば、正しい構文でレコードを即座に生成できます。
手順は次の通りです。
- DKIMセレクタを選択します。(例: selector1)
- ドメイン名を入力または貼り付けます。(例: exampledomain.com)
- 「DKIMレコードを生成」をクリックします。
- 生成された秘密鍵が提供されるので、これをMTAのDKIM設定の箇所に入力します。
- 次に、公開鍵を含むDKIMレコードが生成されるので、これをDNSに登録します。
もし「DKIM none message not signed」の問題がまだ解決しない場合は、メール認証のサポートについて、直ちにご連絡ください。