Menu

BLOG ベアメールブログ

DKIMセレクタとは? セレクタ名の命名規則、確認・設定方法、注意点まで解説

DKIMセレクタとは? セレクタ名の命名規則、確認・設定方法、注意点まで解説

DKIMの設定を進める中で、「DKIMセレクタとは何か」「なぜ必要なのか」と疑問に感じたことはないでしょうか。DKIMセレクタは、DKIM認証を成立させるために欠かせない要素であり、設定や運用を誤ると認証失敗やメール到達率低下の原因となることもあります。

本記事では、DKIMセレクタの基本的な役割から、必要とされる理由、確認・設定方法、運用時の注意点まで、分かりやすく解説します。

DKIMセレクタとは?

DKIMセレクタとは、DKIMで使用する公開鍵をDNS上で識別するための名前(識別子)です。

DKIMでは、送信時に秘密鍵を用いてメールに電子署名を付与し、受信側がDNSに公開されている公開鍵を使ってその署名を検証することで認証を行います。このとき、「どの公開鍵を参照すればよいか」を示す役割を担っているのがDKIMセレクタです。

DKIMでは、セレクタ名を含む以下の名前(ホスト名)のTXTレコードとして、公開鍵をDNSに登録します。

[セレクタ名]._domainkey.[ドメイン名]

例えば、「example.com」というドメインで「default」というセレクタを使用する場合、DNSには「default._domainkey.example.com」という名前のTXTレコードが登録されます。

セレクタ名はドメイン所有者が自由に決めることができます。ただし、メール配信サービスを利用している場合は、サービス事業者からセレクタ名を指定されるケースがあります。

DKIMの仕組みや設定方法については、以下の記事で詳しく説明しています。
DKIMレコードの書き方は? 設定・確認方法や失敗例も解説|ベアメールブログ

なぜDKIMセレクタが必要なのか

DKIMセレクタは、DKIMで使用する公開鍵を柔軟に管理・運用するために必要です。もしセレクタの仕組みがなければ、一つのドメイン内で複数の公開鍵を区別して管理することができず、運用上さまざまな制約が生じます。

複数のDKIM鍵を使い分けられる

DKIMセレクタを利用することで、一つのドメインに対して複数のDKIM鍵を登録し、用途ごとに使い分けることが可能になります。

例えば、システム通知メールとメールマガジンのように、配信経路や性質が異なるメールで別々のDKIM鍵を使用する場合でも、セレクタを分けることで同一ドメイン内に共存させることができます。

これにより、メール配信環境が複数存在する場合でも、それぞれの用途に応じた鍵管理ができ、DKIM認証を安定して維持しながら運用できます。

鍵のローテーションができる

DKIMセレクタは、鍵のローテーション(定期的な鍵の切り替え)を安全に行うためにも重要な役割を果たします。

新しい鍵を別のセレクタとして追加し、一定期間は旧セレクタと併用することで、メール配信を止めることなく鍵の切り替えが可能です。

この仕組みにより、鍵の長期使用による漏えいや悪用、管理ミスといったリスクを抑えつつ、安定したDKIM認証を維持できます。

DKIMセレクタの確認方法

次に、DKIMセレクタを確認する方法を紹介します。自社のメール送信環境の設定を確認したい場合や、受信したメールのDKIM署名を分析したい場合など、目的や状況に応じて適切な確認方法を選択しましょう。

メールヘッダで確認する

最も簡単なDKIMセレクタの確認方法は、実際に送信されたメールのDKIM署名をメールヘッダから確認することです。確認の手順は、以下の通りです。

  1. 確認したいドメインから、Gmailなどのメールアドレス宛にテストメールを送信します
  2. 受信したメールで「元のメッセージを表示」や「メッセージのソースを表示」などの機能を使い、メールヘッダを表示します
  3. メールヘッダ内から「DKIM-Signature:」で始まる行を探します
  4. その行に含まれる「s=」に続く値がDKIMセレクタです

例えば、以下のようなDKIM署名がメールヘッダに記載されている場合を考えます。

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=selector1; t=1620149873; h=from:to:subject:date; bh=…

「s=selector1」と指定されていることから、このメールに使用されているDKIMセレクタは「selector1」であることが分かります。

この方法は、すでに運用中のメール環境でどのDKIMセレクタが使われているかを確認したい場合に有効です。また、自社で直接設定を管理していない外部のメール配信サービスを利用している場合でも、実際に使用されているDKIMセレクタを把握できます。

メール送信サーバーの設定を確認する(自社運用の場合)

自社でメール送信サーバーを運用している場合は、サーバー側のDKIM設定を確認することで、使用しているDKIMセレクタを把握できます。例えば、OpenDKIMなどのDKIM署名ツールを利用している場合、設定ファイルにセレクタ名と対応する秘密鍵ファイルの参照先(パス)が記載されています。

この方法では、実際にどのセレクタ名でDKIM署名が行われる設定になっているかを、送信元の設定として確認できます。ただし、サーバー構成や利用しているソフトウェアによって確認方法が異なる点、インフラやメールサーバーの管理権限がある場合に限られる点に注意が必要です。

メール配信サービスの管理画面・ドキュメントを確認する(外部メール配信サービスを利用している場合)

外部のメール配信サービスを利用している場合は、そのサービスの管理画面や公式ドキュメントを確認することで、使用されているDKIMセレクタを把握できます。管理画面やドキュメントで公開されていない場合は、カスタマーサポートへ問い合わせてみてください。

この方法は、複数の配信サービスを利用している環境で、どのセレクタがどのサービスに対応しているかを整理したい場合などに有効です。

DMARCレポートを確認する

DMARCを設定している場合は、DMARCレポート(集計レポート)を確認することで、実際のメール配信において使用されているDKIMセレクタを把握できます。

DMARCレポートには、どの送信元からメールが送信されているかに加え、DKIM認証の結果や、使用されたセレクタ名が記載されています。

この方法は、複数の送信経路やメール配信サービスを利用している環境で、どのDKIMセレクタが実際に使われているかを一覧で把握したい場合に特に有効です。ただし、DMARCが未設定の場合や、レポートの受信・解析を行っていない場合は確認できない点に注意が必要です。

DKIMセレクタの設定方法

DKIMセレクタの設定は、使用するセレクタ名を決め、送信サーバーやメール配信サービス側でそのセレクタ名を使ってDKIM署名を行う設定をした上で、対応する公開鍵をDNS(TXTレコード)に登録することで行います。

ここでは、DKIMセレクタを設定する際の基本的な考え方と、DNSに設定するレコードの例を紹介します。

DKIMセレクタの命名規則(推奨)

DKIMセレクタ名は、ドメイン所有者が任意に決めることができます。文字種や長さに厳密な制限はありませんが、長期運用や鍵のローテーションを見据え、用途や切り替え時期が分かる名前を付けることが推奨されます。ここでは、DKIMセレクタ名を決める際に意識したい点を整理します。

DKIMセレクタ名の命名における推奨事項

  • 将来の鍵ローテーションを前提にした名前にする
    長期的な運用を想定し、日付や番号を含めたセレクタ名(例:「202401」「s1」など)にすることで、鍵の切り替え時期を管理しやすくなります。
  • 用途や配信システムが分かる名前にする
    複数のメール配信環境や用途でDKIMを設定している場合は、どのシステムで使用しているセレクタかが分かる名前(例:「sys(システム通知)」「mkt(マーケティングメール)」「txn(トランザクションメール)」など)を付けると管理しやすくなります。
  • シンプルで分かりやすい名前にする
    セレクタ名が長すぎると、管理や確認の際に扱いづらくなります。切り替え時期や用途が分かる範囲で、できるだけ簡潔な名前を付けることが推奨されます。

このように、DKIMセレクタの命名においては、運用のしやすさと将来の鍵ローテーションを考慮するようにしましょう。

DNSに設定するレコードの例

DKIMセレクタを設定するには、セレクタ名を含む「[セレクタ名]._domainkey.[ドメイン名]」という名前で、TXTレコードをDNSに登録します。このTXTレコードの値として、DKIMの公開鍵情報が設定されます。

例えば、セレクタが「selector1」、ドメインが「example.com」の場合、DNSには次のような名前のTXTレコードを設定します。

selector1._domainkey.example.com

TXTレコードの値には、以下のように「v=DKIM1」から始まる公開鍵情報が記載されます。

v=DKIM1; k=rsa; p=MIIBIjANBgkq…

実際の公開鍵の内容はメール配信サービスや使用する鍵の種類によって異なりますが、このTXTレコードが正しく設定されていれば、DKIM署名の検証に利用されます。

DKIMセレクタ設定時の注意点

DKIMセレクタの設定自体はシンプルですが、対応を誤るとDKIM認証失敗の原因になります。ここでは、DKIMセレクタを設定・変更する際に、特に注意すべきポイントを整理します。

DKIM署名とDNSのセレクタ名を必ず一致させる

DKIM署名に使用されるセレクタ名は、送信サーバーやメール配信サービスの設定によって決まります。自社でDKIMを実装する場合は、あらかじめセレクタ名を決定したうえで、そのセレクタ名を指定して送信サーバー側でDKIM署名の設定を行い、併せてDNSに対応する公開鍵を登録します。

この設定に基づいて、メール送信時にDKIM-Signatureヘッダが付与され、その中に指定したセレクタ名(s=)が記載されます。

DKIM認証では、このメールヘッダに記載されたセレクタ名と、DNSに登録されているTXTレコードのセレクタ名が完全に一致している必要があります。これらが異なっていると、受信側が正しい公開鍵を取得できず、DKIM認証は失敗します。

セレクタ名を変更した場合や、複数の配信環境を運用している場合は、送信側のDKIM署名設定とDNS設定が同じセレクタ名になっているかを必ず確認しましょう。

DKIM鍵のローテーションを行う際は移行期間を設け、旧セレクタをすぐに削除しない

セレクタ名を変更する際に、新セレクタを設定すると同時に旧セレクタを削除してしまうと、配信中のメールや遅延して到達するメールでDKIM認証が失敗する可能性があります。

メール配信を止めることなく安全に切り替えるために、新しいセレクタを追加した後、最短でも10日程度は旧セレクタと併用するようにしましょう。

セレクタ名を変更する際は、必ず段階的な移行期間を設け、問題がないことを確認したうえで旧セレクタを削除するようにしましょう。

DKIMセレクタに関するよくある質問

最後に、DKIMセレクタに関するよくある疑問について整理します。

セレクタはいくつまで使える?

DKIMセレクタの数に明確な上限はありません。一つのドメインに対して、送信サーバーやメール配信サービスなどの送信経路ごとに、複数のセレクタを設定できます。

ただし、すでに使用されていない送信経路に対応するセレクタや、役割が分からなくなったセレクタを放置すると、鍵管理が複雑になり、運用ミスの原因になることがあります。どの送信経路でどのセレクタが使われているかを把握できる状態に整理しておくことが重要です。

同じセレクタ名を別ドメインで使ってもいい?

同じセレクタ名を別のドメインで使用しても問題ありません。

DKIMセレクタはドメイン単位で管理されており、「セレクタ名+ドメイン名」の組み合わせで一意に識別されます。そのため、異なるドメインで同じセレクタ名を使っても、DNS上で競合することはありません。

セレクタが漏えいすると危険?

DKIMセレクタ自体は単なる識別子であり、公開情報のため、漏えいしてもそれ自体が直接的なセキュリティリスクになることはありません。

DKIMで重要なのは秘密鍵の管理です。秘密鍵が漏えいすると、不正なメールに正規のDKIM署名を付与できてしまうため、大きなリスクとなります。そのため、秘密鍵を安全に保管・運用することが重要です。

まとめ

DKIMセレクタを適切に設定・運用することは、メールの配信トラブル防止やセキュリティ強化に欠かせません。特に、複数のメール配信システムを利用している場合や大規模なメール送信環境では、設定や鍵管理が複雑になりやすく、正しい知識に基づいた運用が重要になります。

ベアメールの「迷惑メールスコアリング」は、迷惑メール判定される可能性をスコアとして可視化し、メール到達率の改善につなげるサービスです。DKIMをはじめとした送信ドメイン認証の設定・運用についてもサポートしており、「メールが正しく届かない」「認証エラーになってしまう」といった課題の解決を支援します。

技術面だけでなく運用面も含めて、安心してメール配信を行える環境づくりをお手伝いしますので、ぜひお気軽にご相談ください。

ベアメール 迷惑メールスコアリング無料診断のサービス紹介ページへ移動