web-dev-qa-db-ja.com

ドメインのすべてのDKIMキーのリストを見つけることは可能ですか?

dKIMレコードは、セレクターによって識別されます。セレクターは、defaultdkim、またはその他のものです(複数ある場合もあります)。

電子メールの内容が有効であることを確認する場合、電子メールに記載されているDKIMセレクターを使用して{selectorname}._domainkey.{hostname}を検索できます(例:google._domainkey.protodave.com)。

ただし、ドメインに少なくとも1つのDKIMが設定されていることを確認したいだけの場合(そのドメインの管理者がデューデリジェンスを行っていることを確認するため)、セレクターはまだありません。

このセレクターなしでDNSをクエリするにはどうすればよいですか?それも可能ですか?

1
Qqwy

いいえ、ワイルドカードDNSクエリなどがないため、これを直接クエリすることはできません。ベストプラクティスを確認しているので、これは必ずしも問題ではありません。

現在のベストプラクティスは、すべてのSPF + DKIM + DMARCを使用することです。 DMARCをチェックすることで、DKIMについて間接的に推測することもできます。 DKIMの調整が厳密な場合、有効なDKIMレコードがないとメールシステムはまったく機能しません。また、管理者がDMARCを設定している場合は、おそらくDKIMも知っています。

完全なゾーンを取得するために利用できる方法は2つありますが、これらのいずれかで成功した場合、ドメインがDNSセットアップのベストプラクティスに従っていないことがすでにわかります。

  • ゾーン転送は誰も利用できないようにする必要があります。次の場合、これにより結果が得られます。

    Dig axfr example.com @ns1.example.com | grep "_domainkey"
    
  • DNSSEC Hashed Authenticated Denial of Existenceが導入されましたNCES3/NSEC3PARAMアドレスゾーンウォーキングRFC 5155 )。 ldns-walkNSECがまだ使用されている場合、結果が得られます。

    ldns-walk example.com | grep "_domainkey"
    

この検証の目的はわかりませんが、想像できるすべてのケースがカバーされています。

  • 受信メールの場合は、DKIM署名の有無にかかわらず、すでに電子メールがあります。DMARCは、存在する必要があるかどうかを通知します。署名付きのメールを用意することも、DKIMが正しく実装されていることを確認する唯一の方法です。

  • 先に進む前に顧客の慣行を検証することである場合、検証フォームはセレクターを要求する可能性があります。繰り返しますが、実際のメールをチェックしてサービスを自動化することは、あなたとあなたのクライアントの両方にとってより簡単でしょう。

3
Esa Jokinen

ドメインに少なくとも1つのDKIMが設定されていることを確認する(そのドメインの管理者がデューデリジェンスを行っていることを確認するため)

DKIM DNSレコードのみが存在するためDKIMが実際にメールサーバーに正しく実装されていることを意味するわけではありません

それはあなたにセレクターとあなたがそれらのセットアップの適切なチェックのために必要な他の多くのものを与えるでしょう。
信頼性の高い電子メール配信に必要な設定は他にもたくさんあります。DMARC、SPF、逆引きなどの例については、この正規の Q&A およびリンクされている設定を参照してください。 DNSレコード、ブラックリストなど。

2
HBruijn

ほとんどのネームサーバーは、誰にでもゾーン転送を許可していません。つまり、ホワイトリストに登録されていない場合、ゾーンのレコードを一覧表示することはできません。まれに、DNSSECをNSECと一緒に使用するとゾーンウォーキングを使用できる場合もありますが、これはほとんどありません。

セレクターを推測する以外に、DMARCのDKIMアライメントをチェックする以外のオプションはありません。これにより、DKIMがセットアップされている可能性がありますが、DMARCもセットアップされていない場合、これは決定的ではありません。

1
Torin