2016-10-12 8 views
0

위의 세 가지 메일 레코드의 존재를 확인하여 스푸핑을 방지하도록 설계된 작은 프로그램이 있습니다. 특정 도메인에서 작동하는 것으로 보이지만 사례별로 설정되는 것처럼 보입니다. 내 질문은 이러한 레코드를 확인하는 더 강력한 방법입니다. 코드는 여기에 있습니다 : 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 이메일 헤더 : 어떤 경우에 dkim._domainkey.domain.TLD이 찾을 수있는 올바른 방법 인 이유

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 키, 때로는 명확하게 (Google이 찾지 못한 것 같지만 어떻게? dkim 키를 찾는 가장 좋은 방법은 무엇입니까?

기본적으로 해당 코드 스 니펫이 동일한 결과를 반환하도록하고 싶습니다. Gmail에서에 "원본보기"로 이동으로 반드시 dkim 호출되지 않습니다

감사

답변

1

DKIM 선택을한다. Ryanair 예제에서 선택자는 15below (DKIM 서명 헤더의 s= 항목)이므로 다소 무작위이므로 15below._domainkey.ryanair.com을 찾아야합니다.

+0

답변 해 주셔서 감사합니다. 이것이 표준인가? 예를 들어 하나의 emailer에서 나는 'dkim' 키가 저장되어있는 도메인을 포함하고있는'd ='가 있다는 것을 알 수 있습니다. ryanair 예제는'd ='필드에 저장된 도메인을 가지고 있으므로'15below._domainkey.key '를 추가해야합니다. 키가 저장된 도메인을 찾기위한 표준 규칙 집합이 있습니까? – amlwwalker

+0

네 - 맞습니다. [여기 RFC에 있습니다] (http://dkim.org/specs/rfc4871-dkimbase.html#dkim-sig-hdr). DKIM 헤더를 파싱하려면 ** 실제로 사양을 읽어야합니다! – Synchro