主なポイント
- DKIMは送信メールにデジタル署名を付加することで、受信サーバーが、そのメッセージが正当な送信元から送信されたものであり、送信中に改ざんされていないことを確認できるようにします。
- Microsoft 365 では、onmicrosoft.com ドメインの DKIM は自動的に処理されます。手動での設定が必要なのはカスタム ドメインのみであり、その場合は DNS に 2 つの CNAME レコードを作成する必要があります。
- CNAMEレコードが公開され、検出されると、Microsoft Defenderポータルを通じてDKIM署名が有効になります。
- DKIMだけでは不十分です。完全なメール認証とドメイン保護を実現するためには、常にSPFおよびDMARCと併せて設定する必要があります。
- メールのセキュリティを強固に保つため、DKIMキーは1~2年ごとに更新する必要があります。
- PowerDMARCを利用すれば、金融、医療、公共部門など、幅広い分野においてDKIMおよびDMARCへの準拠を確保できます。
Microsoft 365 経由でメールを送信している場合、カスタムドメインに対して DKIM を設定していないと、メールはデジタル署名なしで送信されます。つまり、受信サーバーは、メッセージが送信中に改ざんされていないことを確認する手段を持たず、ドメインがなりすまし攻撃を受けやすくなります。
Office 365 で DKIM を設定することは、安全で信頼性の高いメール環境を構築する上で最も重要な手順の一つです。
このガイドでは、DKIMの機能、Microsoft 365での取り扱い方法、および独自ドメインでの設定方法を詳しく解説します。
DKIMとは何か、そしてなぜMicrosoft 365にとって重要なのか?
設定手順に進む前に、DKIMの機能と、なぜそれがMicrosoft 365のメール設定において不可欠な要素なのかを理解しておくことが重要です。
DomainKeys Identified Mail (DKIM) は、送信される各メールに暗号化されたデジタル署名を付加するメール認証プロトコルです。メッセージが送信されると、署名を行うドメインは秘密鍵を使用して署名を生成します。
受信サーバーは、DNSから対応する公開鍵を取得し、それを使用して、メッセージ本文とヘッダーが転送中に改ざんされていないことを確認します。
DKIMがメールにどのような役割を果たすか
| メリット | 仕組み |
|---|---|
| メッセージの完全性を検証する | 暗号署名により、メッセージが送信後に改ざんされていないことが確認されます |
| ドメインのなりすましを防止します | 攻撃者があなたのドメインからメールを偽造することを大幅に困難にします |
| メールの配信能力の向上 | 認証済みのメールは、GmailやYahoo!メールなどのプロバイダーによってスパムとして判定される可能性が低くなります |
| 送信者への信頼を築く | 有効なDKIM署名は、署名を行ったドメインがそのメッセージに対して責任を負うことを示しています |
| DMARCの適用を有効にする | DKIMは、DMARCが正しく機能するために必須の入力項目です |
DKIMはSPFやDMARCとどのように連携するのか
DKIMは SPF および DMARC と連携して、完全な電子メール認証フレームワークを構成します。各プロトコルは異なるレイヤーをカバーしています:
- SPF 送信サーバーが、あなたのドメインのメールを送信する権限を持っていることを確認します
- DKIM メッセージの内容が送信中に改ざんされていないことを確認します
- DMARC SPFおよびDKIMが「From」アドレスと一致することを要求することで、ポリシーを強制します
DKIM、SPF、およびDMARCの比較
| プロトコル | 目的 | セットアップの手順 | ~に対する保護 |
|---|---|---|---|
| SPF | 送信サーバーを承認する | 許可されたIPアドレスを含むTXTレコードを公開する | IPスプーフィング |
| DKIM | メッセージの完全性を検証する | CNAMEレコードを作成し、署名を有効にする | メッセージの改ざん |
| DMARC | アライメントポリシーを適用する | ポリシーレコードの公開、レポートの監視 | ドメイン・スプーフィング |
DKIMがDMARCチェックに合格するためには、「From」アドレスのドメインが、DKIM署名で使用されているドメインと一致している必要があります。この整合性の要件こそが、 SPF、DKIM、DMARCの組み合わせを の組み合わせが、フィッシング攻撃やなりすましに対して非常に効果的である理由です。
DKIMだけでは、あらゆる種類のメールなりすましを防止するには不十分です。完全な保護を実現するには、SPFおよびDMARCと併用する必要があります。このガイドの後半では、Microsoft365のDKIM設定と併せてDMARCを実装する方法について解説します。
1万人以上の顧客がPowerDMARCのプラットフォームを信頼している理由はここにあります
- AIを活用した脅威インテリジェンスにより、なりすまし攻撃や不正なメールが大幅に減少
- オンボーディングの迅速化と認証管理の自動化により、ITチームの作業時間を大幅に削減
- ドメインを横断したリアルタイムの脅威インテリジェンスとPGP暗号化レポート
- 専門家の指導による厳格なDMARC適用により、メールの配信率が向上
最初の15日間は当社がご招待します
無料トライアルを開始Microsoft 365 における DKIM の処理方法
Microsoft 365 では、デフォルトの onmicrosoft.com ドメインを使用するか、カスタム ドメインを使用するかによって、DKIM の管理方法が異なります。この違いを理解しておくことで、設定時の混乱を防ぐことができます。
Microsoftが自動的に処理する内容
Microsoft では、お客様の Microsoft 365 テナントに関連付けられた最初の onmicrosoft.com ドメインに対して、DKIM 署名を自動的に有効にします。yourcompany.onmicrosoft.com からのみ送信する場合、手動での設定は不要で、DKIM はすでに機能しています。
手動での設定が必要な項目
メール送信に使用するすべてのカスタムドメインについて、DKIMの手動設定が必要です。
組織が yourcompany.com などのカスタムドメインからメールを送信する場合は、 DNSにCNAMEレコード を作成し、Microsoft Defender ポータルで DKIM 署名を有効にする必要があります。
Microsoft 365 からメールを送信するために使用される各サブドメインについても、個別の DKIM 設定が必要です。DKIM はルートドメインからそのサブドメインへ自動的に適用されることはありません。
2つのセレクターからなるシステム
Microsoft 365 では、各カスタム ドメインに対して、selector1 と selector2 の 2 つの DKIM セレクターを使用します。
2つのセレクタを使用することで、Microsoftはセキュリティを強化するためにDKIMキーを自動的にローテーションさせることができます。DKIMを設定する際は、Microsoft 365によって生成された公開鍵を指すように、両方のセレクタに対してCNAMEレコードを作成します。
| 専門家の見解: 「私がこれまで組織のDKIM導入を支援してきた経験から言えるのは、PowerDMARCでDKIMの監視を自動化することで、時間を節約できるだけでなく、設定ミスがメールの配信率に影響を与える前に発見できるようになるということです。これは、メールの信頼性が最優先事項となるSaaS企業や規制産業において、特に重要です。」 |
Office 365 での DKIM 設定の前提条件
DKIMの設定を開始する前に、以下の項目が整っていることを確認してください。
| 前提条件 | 詳細 |
|---|---|
| 管理者権限 | DKIMの設定手順を実行するには、グローバル管理者またはExchange管理者の権限が必要です |
| カスタムドメインの認証が完了しました | DKIMを設定するには、Microsoft 365 でカスタム ドメインの確認を完了する必要があります |
| DNSへのアクセス | CNAMEレコードを公開するには、ドメイン登録業者またはDNSホスティングプロバイダーへのアクセス権が必要です |
| SPFが設定済み | DKIMを有効にする前に、ドメインに対してSPFがすでに設定されている必要があります |
お使いのドメインでSPFがまだ設定されていない場合は、まずSPFを設定してください。設定手順については、以下のガイドをご覧ください。 SPFの設定方法をご参照ください。
ステップバイステップガイド:Office 365 の DKIM 設定
Microsoft 365 のカスタム ドメインで DKIM を設定するには、主に 3 つの手順が必要です。Microsoft Defender ポータルから CNAME レコードの値を取得し、そのレコードを DNS に公開し、レコードが検出されたら DKIM 署名を有効にすることです。
このプロセスでは、すべての段階で正確さが求められます。CNAME値の入力ミスは、DKIMの設定が失敗する最も一般的な原因ですので、DNSの設定には十分な時間をかけて行ってください。
手順 1: Microsoft 365 から DKIM CNAME レコードの値を取得する
Microsoft 365 は、DNS に公開するために必要な正確な CNAME レコードの値を生成します。その値を確認するには:
- [Microsoft Defender ポータル] にサインインしてください Microsoft Defender ポータルにサインイン
- 次の場所へ移動 [メールとコラボレーション] > [ポリシーとルール] > [脅威ポリシー]
- 選択 メール認証設定
- ここをクリック DKIM タブをクリックしてください
- リストからカスタムドメインを選択してください
- そのドメインの詳細フライアウトを開く
ポータルには、必要な2つのCNAMEレコードの値が表示されます。DKIMをまだ有効にできない場合、ポータルにはCNAMEレコードで使用する必要のある値が表示されます。
カスタムドメイン用のDKIM CNAMEレコードの基本的な構文は、以下の形式に従います:
| ホスト名 | …へのポイント |
|---|---|
| selector1._domainkey.yourdomain.com | selector1-yourdomain-com._domainkey.yourtenantname.onmicrosoft.com |
| selector2._domainkey.yourdomain.com | selector2-yourdomain-com._domainkey.yourtenantname.onmicrosoft.com |
汎用テンプレートではなく、必ずDefenderポータルに表示されている、ご自身のドメインおよびテナントに固有の正確な値を使用してください。
PowerDMARCは、Office 365用のDKIMレコードを自動的に生成・検証するため、手作業によるミスを排除し、最初から適切な設定を保証します。当社の無料 DKIMレコードチェッカー を利用して、レコードを即座に確認してください。
ステップ 2: DNS に CNAME レコードを作成する
ドメイン登録業者またはDNSホスティングプロバイダーにログインし、前の手順で取得した値を使用して、2つの新しいCNAMEレコードを作成してください。
レコードを追加する際に確認すべき重要な事項:
- レコードの種類は CNAMEに設定する必要があります。TXTやその他のタイプには設定しないでください
- ホスト名の値には、完全なセレクタプレフィックスを含める必要があります:selector1._domainkey および selector2._domainkey
- CNAME値に誤字がないか、よく確認してください。ドメイン登録業者でのエラーは、DKIM設定が失敗する最も一般的な原因です
- 同じホスト名に対して、矛盾するレコードを複数追加しないでください
DNSの変更が全世界に反映されるまで最大48時間かかる場合がありますが、多くの場合、それよりはるかに早く反映されます。Microsoft 365が新しいCNAMEレコードを検出するまで、数分から数時間かかることがあります。
ステップ 3: Microsoft Defender ポータルで DKIM 署名を有効にする
CNAMEレコードが公開され、反映されたら、Microsoft Defender ポータルの「DKIM」タブに戻ります:
- カスタムドメインを選択してください
- 詳細のポップアップメニューを開く
- 切り替え このドメインのメッセージにDKIM署名を付与する を有効にする
DKIMタブのドメインの状態に有効な値が表示されている必要があります。そうして初めて、DKIM署名が有効になります。ポータルがCNAMEレコードを検出できない場合、期待される値とともにエラーが表示されます。再度試す前に、DNSレコードの内容が正確かどうかを再確認してください。
DKIMを有効にした後、ステータスが更新され、確認されるまで少し時間がかかる場合があります。 DKIM署名 が送信メッセージに適用されていることを確認するまで、ステータスの更新に時間がかかる場合があります。
ステップ4:DKIMが正常に動作していることを確認する
DKIM署名が有効になっていることを確認するには、カスタムドメインからGmailアドレス宛てにテストメールを送信し、メッセージのヘッダーを確認してください:
- Gmailで受信したメールを開く
- 三点リーダーのメニューをクリックし、以下を選択してください 「オリジナルを表示」
- 次のものを探してください DKIM-Signature ヘッダーフィールドを探してください
- DKIM署名が存在すること、および「d=」の値がカスタムドメインと一致していることを確認してください
- DKIM-Signatureヘッダー内のs=値は、現在使用されているセレクタを識別します
また、PowerDMARCの DMARC監視ツール を使用すれば、すべての送信元におけるDKIMの整合性を1つのダッシュボードで確認できます。
メッセージヘッダーにDKIMの結果が表示されていることは、カスタムドメインに対してDKIM署名が有効であり、正しく機能していることを示しています。
| DKIMのトラブルシューティングでお困りですか? PowerDMARCのメールセキュリティの専門家が、DKIMの設定に関する問題を迅速に解決するお手伝いをいたします。 無料トライアルを開始 専門家によるサポートと自動監視をご利用いただけます。 |
PowerShell を使用した DKIM の設定方法
Exchange Online PowerShell には、DKIM の設定を自動化したり、カスタム ドメインに対する DKIM 署名を有効または無効にしたり、問題のトラブルシューティングを行ったりするためのコマンドライン ツールが用意されています。この方法は、複数のドメインや複雑な環境を管理する際に特に役立ちます。
PowerShell を使用して DKIM を有効にするには:
1. 接続する Exchange Online に接続する
2.以下のスクリプトを実行して、Office 365 DKIMセレクタを抽出します:
3.Office 365から提供されたCNAMEレコードをDNSに追加する。
4.以下のコマンドを実行して、ドメインのDKIMを有効にする:
PowerShellの一般的なトラブルシューティングコマンド
- DKIMのステータスを確認する: Get-DkimSigningConfig -Identity “yourdomain.com”
- DKIM を無効にする: Set-DkimSigningConfig -Identity “yourdomain.com” -Enabled $false
- Bulk enable for multiple domains: Get-AcceptedDomain | ForEach {Set-DkimSigningConfig -Identity $_.Name -Enabled $true}
- DKIMセレクタを表示する: Get-DkimSigningConfig | Select Identity,Selector1CNAME,Selector2CNAME
Office 365 で DKIM レコードの状態を確認する方法
DKIMの設定が完了したら、設定が正しく機能しているか確認してください。DKIMレコードの状態を確認する方法はいくつかあります:
方法 1: Microsoft Defender ポータル
- Microsoft Defender ポータルに移動する
- [メールとコラボレーション] > [ポリシーとルール] > [脅威対策ポリシー] > [DKIM] へ移動
- ドメインのステータス欄を確認してください。緑色のチェックマークとともに「有効」と表示されているはずです。
方法 2:オンライン DKIM チェッカー
PowerDMARCの無料 DKIMレコード検索ツール を使って、DKIMレコードを即座に検証しましょう。ドメインとセレクタ(selector1またはselector2)を入力して、正しく公開されているか、有効かどうかを確認してください。
方法 3:メールヘッダーの分析
テストメールを送信し、ヘッダーを確認してください:
- メールのヘッダーで「DKIM-Signature:」を探してください
- 「d=」パラメータがご自身のドメインと一致しているか確認してください
- 「Authentication-Results:」に「dkim=pass」と表示されていることを確認してください
DKIM検証における一般的な問題点
- DNSの伝播遅延: 世界的な伝播が完了するまで24~48時間お待ちください
- CNAME の値が正しくない場合: Microsoft Defender ポータルで正確な値を再確認してください
- 複数のDNSレコード: 競合するDKIMレコードが存在しないことを確認してください
- TTLの設定: TTL値を小さくすると、テスト中の伝播が速くなります
DKIM設定の制限事項とよくある問題
DKIMは強力な 電子メール認証 プロトコルですが、実装前および実装中に理解しておくべき技術的な制約が伴います。
これらの制限事項をあらかじめ把握しておくことで、よくある落とし穴を避け、設定を適切に計画し、DKIMだけで防げるものと防げないものについて、現実的な期待を持つことができます。
| 検討事項 | 知っておくべきこと |
|---|---|
| 鍵の長さ | Microsoft 365 では、デフォルトで 2048 ビットの暗号鍵が使用されており、送信メッセージを強力に保護します |
| DNSの伝播 | CNAMEレコードを公開した後、DNSの変更が世界中に反映されるまで最大48時間かかりますが、実際にはそれよりはるかに早く反映されることがよくあります |
| DKIMキーのローテーション | 強力なメールセキュリティを維持し、古い鍵が悪用されるリスクを軽減するため、DKIM鍵を1~2年ごとに更新してください |
| 複数のドメイン | メール送信に使用するカスタムドメインごとに、個別のDKIM設定が必要です。DKIMの設定は、ルートドメインからそのサブドメインへ自動的に適用されることはありません。 |
| 未使用のドメイン | メールを送信することのないドメインについては、DKIMレコードを公開しないでください。そうすると、それらのドメインから送信された偽造メッセージのDKIM検証が可能になってしまう恐れがあります。 |
DKIM設定におけるよくあるエラーのチェックリスト
✓ CNAMEレコードの構文が、Microsoft Defenderポータルに表示されているものと完全に一致していることを確認してください
✓ セレクタ名に誤字がないことを確認してください(selector1._domainkey、selector2._domainkey)
✓ DNSレコードの種類がTXTではなくCNAMEに設定されていることを確認してください
✓ DKIMを有効にする前に、Microsoft 365でドメインが認証されていることを確認してください
✓ トラブルシューティングを行う前に、DNSの反映を待ちます(最大48時間)
✓ 競合または重複するDKIMレコードをすべて削除する
DKIMの制限事項
DKIMの機能を知るのと同様に、その限界を理解することも重要です。こうした制限があるからこそ、DKIMは単独の解決策として扱うのではなく、常にSPFやDMARCと併せて導入すべきなのです。
メール転送
メールの転送時に、DKIM署名が破損することがあります。メッセージが転送されると、一部のメールサーバーはメッセージのヘッダーや本文を変更し、その結果、元のDKIM署名が無効になってしまうことがあります。
これが、DMARCがSPFやDKIMのいずれか一方だけに依存するのではなく、両方の整合性を求める主な理由の一つです。
メッセージの編集
メールの署名後に内容に変更を加えると、DKIM署名は無効になります。これには、配信前にメッセージ本文や特定のヘッダーフィールドを変更するメーリングリスト、メールゲートウェイ、またはコンテンツフィルタリングツールによる変更も含まれます。
サードパーティの送信サービス
マーケティングプラットフォーム、CRM、ヘルプデスクツールなど、ユーザーに代わってメールを送信する外部メールサービスでは、追加の設定が必要になる場合があります DKIMの設定が必要になる場合があります。
通常、各サードパーティの送信者は、送信するメッセージに貴社のドメインまたは自社のドメインで署名する必要があり、この点は、メール認証の設定全体において検証および考慮される必要があります。
ハイブリッド環境
オンプレミスのExchangeとMicrosoft 365をハイブリッド環境で併用している組織では、DKIM署名の設定を行う際に特別な配慮が必要になる場合があります。
Microsoft 365 に到達する前にオンプレミス サーバーを経由してルーティングされるメッセージは、クラウドのみでの送信とは動作が異なる場合があります。そのため、DKIM の設定を行う際は、署名を有効化する前にメッセージの全フローを考慮に入れる必要があります。
PowerDMARCを使って、Office 365のDKIMを正しく設定しましょう!
なぜPowerDMARCなのか?
「PowerDMARCのおかげで、DKIMの導入がスムーズに進み、自動監視機能のおかげで安心感を得ることができました。」 – フィンテック企業 ITマネージャー
|
解決策:PowerDMARCへの切り替え
Microsoft 365のカスタムドメインでDKIM署名を有効にすることは、メールのセキュリティを確保する上で重要なステップです。しかし、DKIMだけでは対策の一部に過ぎません。
メール通信の一貫性を確保し、その状況を可視化するためのDMARCを導入していない場合、DKIMだけでは防ぎきれないなりすましや偽装のリスクに、ドメインはさらされ続けることになります。
PowerDMARCを使えば、DKIM 設定から完全なDMARC への移行を簡単に行えます。ホスト型DMARC、自動レポート機能、そしてメール認証のあらゆる段階を簡素化するために構築されたプラットフォームにより、PowerDMARCは、誰があなたの代わりにメールを送信しているのかを完全に可視化し、ドメインを確実に保護するためのツールを提供します。
| 手動によるアプローチ | PowerDMARC | |
|---|---|---|
| マルチドメイン管理 | いいえ | はい。 |
| ロールベースのアクセス制御 | いいえ | はい。 |
| 自動監視 | いいえ | はい。 |
| 24時間365日のグローバルサポート | 限定 | はい。 |
| マーケットプレイス/APIの導入 | いいえ | はい。 |
無料の DMARCの無料トライアル 今すぐ無料のDMARCトライアルをお試しいただき、そのメリットをご確認ください。
よくあるご質問
1. すべてのExchange OnlineドメインでDKIMが有効になっていることを確認するにはどうすればよいですか?
すべての Exchange Online ドメインで DKIM が有効になっていることを確認するには、Microsoft Defender ポータルの [電子メールとコラボレーション] > [ポリシーとルール] > [脅威ポリシー] > [DKIM] を確認してください。各カスタムドメインで DKIM が有効になっていることを確認します。
2. Office 365 で DKIM キーをローテーションするにはどうすればよいですか?
Office 365 で DKIM キーをローテーションするには、DNS で新しいキー用の新しい CNAME レコードを生成し、Microsoft Defender ポータルでそれらの新しいキーに対して DKIM 署名を有効にする必要があります。このプロセスにより、メールに署名する暗号鍵を定期的に更新することで、セキュリティが強化されます。
3. DKIMキーはどのくらいの頻度で更新すべきですか?
DKIMキーのローテーションは1~2年ごとに行うことをお勧めします。定期的なローテーションは、強力なメールセキュリティを維持し、攻撃者が古いキーを悪用するのを防ぎます。
4. DKIMレコードの推奨される鍵の長さはどれくらいですか?
Microsoft Office 365 では、デフォルトで 2048 ビットの DKIM 鍵が使用されています。これは強力なセキュリティを提供し、現在の業界標準とされています。この鍵長は、優れたパフォーマンスを維持しつつ、暗号学的攻撃に対して高い防御力を発揮します。
5. SPF、DKIM、DMARCは、どのように連携してメールを保護するのでしょうか?
SPFは送信サーバーを認証し、DKIMはデジタル署名を通じてメッセージの完全性を検証し、DMARCはSPFとDKIMの結果を組み合わせてポリシーの適用を行います。これらを組み合わせることで、なりすましやフィッシングから保護し、正当なメールが確実に宛先に届くようにする、包括的なメール認証フレームワークが構築されます。
6. 送信メールにDKIM署名が表示されない場合はどうすればよいですか?
送信メールにDKIM署名が表示されない場合は、送信サービスでDKIMが有効になっていること、および正しいDKIM公開鍵がDNSに公開されていることを確認してください。また、セレクターが一致していること、およびDNSの変更が完全に反映されていることも確認してください。それでも問題が解決しない場合は、メールサーバーの設定を確認するか、メールプロバイダーにお問い合わせください。
7. Office 365 で DKIM レコードが検証されないのはなぜですか?
一般的な原因としては、DNSの伝播遅延、CNAME値の誤り、セレクタ名の入力ミス、またはDNSレコードの競合などが挙げられます。伝播が完了するまで24~48時間待ち、Microsoft Defenderポータルで正確なCNAME値を確認し、重複するレコードがないことを確認してください。
8. Office 365 で、SPF や DMARC を使わずに DKIM だけを使用することはできますか?
DKIMは単独でも機能しますが、その使用は推奨されません。DKIMだけでは、ドメインのなりすましを効果的に防ぐことはできません。電子メールの認証と保護を万全にするためには、3つのプロトコル(SPF、DKIM、DMARC)を組み合わせて運用する必要があります。
9. Office 365 で複数のドメインの DKIM キーを更新するにはどうすればよいですか?
Use PowerShell for bulk operations: Get-AcceptedDomain | ForEach {Set-DkimSigningConfig -Identity $_.Name -Enabled $false; Set-DkimSigningConfig -Identity $_.Name -Enabled $true}. This disables and re-enables DKIM for all domains, forcing key regeneration.
- compauth=fail:Microsoft 複合認証の解説 - 2026年6月1日
- Windows Defenderだけで中小企業のセキュリティは十分か? - 2026年5月14日
- DMARCbisの解説 – 変更点と準備方法 - 2026年4月16日
