2016-10-12 23 views
0

私はこれらの3つのメールレコードの存在を確認して、なりすましを防止するための小さなプログラムを用意しています。特定のドメインで動作するようですが、ケースバイケースで設定されているようです。 私の質問は、これらのレコードをチェックするより堅牢な方法です。 コードはここにある: https://gist.github.com/amlwwalker/f445932d2fdb0f9f9a5e457c1894bf7d 例:SPF、DKIM、DMARCをプログラムでチェックする

Ryanair.com:

result: v=spf1 a mx include:mail1.ryanair.com include:mail2.ryanair.com ~all 
err: lookup _dmarc.ryanair.com on 172.16.4.1:53: no such host 
err: lookup dkim._domainkey.ryanair.com on 172.16.4.1:53: no such host 

ライアンエアーメールヘッダ:それはDKIMとSPFを持っているように見える私にはそう

Authentication-Results: mx.google.com; 
     dkim=pass [email protected]; 
     spf=pass (google.com: domain of [email protected] designates 209.235.250.215 as permitted sender) [email protected] 
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=15below; d=care.ryanair.com; h=MIME-Version:From:To:Date:Subject:Message-ID:Content-Type; [email protected]; bh=MCorT6FfWGOmISJQSzdv4YLmKfg=; b=eXcQvy0odmzIAYy11bfM8OsoiXziin5E1hbWHvxlY6Q+KSpZr6/5OiUZ4EiNoCpNwFrciKB9Yj8G 
    wmZOZwxQd3PW05+2bnu+8oKMPij/AyAEAi2tJ0TBEZxM7BOsno84L3eZ0BQFZvog6bW9UQE1fJCQ 
    aoQYXPgsHV6dzWjmHYo= 

。しかしコードはDKIMレコードを見つけません。

marvelapp.com

result: v=spf1 include:mailgun.org include:spf.mandrillapp.com include:spf1 include:mail.zendesk.com include:spf.mail.intercom.io -all 
err: lookup _dmarc.marvelapp.com on 172.16.4.1:53: no such host 
err: lookup dkim._domainkey.marvelapp.com on 172.16.4.1:53: no such host 

Marvelappメールヘッダ:

Received-SPF: pass (google.com: domain of [email protected] designates 31.193.196.244 as permitted sender) client-ip=31.193.196.244; 
Authentication-Results: mx.google.com; 
     dkim=pass [email protected]; 
     spf=pass (google.com: domain of [email protected] designates 31.193.196.244 as permitted sender) [email protected] 

それでは、私は理解していないことはいくつかのケースではdkim._domainkey.domain.TLDは見つけるための正しい方法ですされている理由どのようにdkimキーを見ているのですか?

私は基本的に同じコードスニペットで同じ結果を返すようにしたいと思います。 Gmailで「ショーオリジナル」に行くよう

おかげ

答えて

1

DKIMセレクタは必ずしもdkim呼び出されませんを行います。 Ryanairの例では、セレクタはむしろランダム15belowです(DKIM署名ヘッダーのs=アイテムから)ので、15below._domainkey.ryanair.comを検索する必要があります。

+0

ご回答いただきありがとうございます。これは標準ですか?たとえば、1つのemailerから、 'd ='があり、 'dkim'キーが格納されているドメインが含まれていることが分かります。 ryanairの例では 'd ='フィールドにドメインが格納されていますので、 '15below._domainkey.'を追加する必要があります。キーが格納されているドメインを見つけるための標準的なルールがありますか? – amlwwalker

+0

ええ - それは正しい[RFCのここにある](http://dkim.org/specs/rfc4871-dkimbase.html#dkim-sig-hdr)です。 DKIMヘッダーを解析する場合は、**実際に**仕様を読む必要があります。 – Synchro

関連する問題