ตกลงหรือไม่ที่จะมีหลายระเบียน TXT สำหรับโดเมนเดียวที่มีรายการ SPF ที่แตกต่างกัน


17

โดเมนผู้รับระยะไกลปฏิเสธจดหมายเนื่องจากค่า SPF และฉันคิดว่าเป็นเพราะผู้ส่งได้กำหนดค่า SPF ไม่ถูกต้อง

เมื่อฉันเริ่มขุดฉันเห็น:

[fooadm@box ~]# dig @8.8.8.8 -t TXT foosender.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> @8.8.8.8 -t TXT foosender.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30608
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;foosender.com.              IN      TXT

;; ANSWER SECTION:
foosender.com.       14039   IN      TXT     "v=spf1 include:spf.foo1.com -all"
foosender.com.       14039   IN      TXT     "v=spf1 include:_spf.bob.foo2.com -all"

;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Jan  7 09:45:38 2014
;; MSG SIZE  rcvd: 146

นี่เป็นการตั้งค่าที่ถูกต้องหรือไม่ ดูเหมือนว่าแปลกสำหรับฉันที่มีสองเร็กคอร์ดที่แยกจากกัน ทุกอย่างไม่ควรอยู่ในบันทึกเดียวใช่ไหม

ฉันคาดว่าระเบียน TXT ที่เหมาะสมจะเป็น:

v=spf1 include:spf.foo1.com include:_spf.bob.foo2.com -all

คำตอบ:


20

ไม่คุณพูดถูก ดูRFC 4408 มาตรา 4.5

  1. เร็กคอร์ดที่ไม่ได้ขึ้นต้นด้วยส่วนเวอร์ชันของ "v = spf1" ถูกลบทิ้ง โปรดทราบว่าส่วนเวอร์ชั่นจะถูกยกเลิกด้วยอักขระ SP หรือสิ้นสุดการบันทึก เร็กคอร์ดที่มีส่วนเวอร์ชันของ "v = spf10" ไม่ตรงกันและต้องถูกทิ้ง

  2. หากบันทึกประเภท SPF อยู่ในชุดแล้วบันทึกประเภท TXT ทั้งหมดจะถูกยกเลิก

    หลังจากขั้นตอนข้างต้นควรมีหนึ่งระเบียนที่เหลือและการประเมินผลสามารถดำเนินการต่อไปได้ หากมีอีกสองระเบียนที่เหลืออยู่ให้ check_host () ออกทันทีพร้อมกับผลลัพธ์ของ "PermError"

    หากไม่มีการส่งคืนเรกคอร์ดที่ตรงกันไคลเอนต์ SPF ต้องถือว่าโดเมนนั้นไม่มีการประกาศ SPF การประมวลผล SPF ต้องหยุดและ
    ส่งคืน "ไม่มี"


2
เมื่อวันที่เมษายน 2014 มีRFC 7208ซึ่งเลิกใช้แล้ว RFC 4408 บันทึกประเภท SPF ได้ถูกคัดค้านประเภท TXT SPF records MUST be published as a DNS TXT (type 16) Resource Record (RR) [RFC1035] only.(ดูRFC 7208 ส่วนที่ 3.1 ) ฉันจะลองคำตอบใหม่ตามนี้
JHoffmann

4

การตั้งค่า SPF นี้ไม่ถูกต้อง ในกรณีที่มีหลายระเบียนพบการเลือกบันทึกควรสร้างข้อผิดพลาดเป็นผล ดูRFC 7208, ส่วนที่ 4.5ในการเลือกบันทึก:

หากชุดเร็กคอร์ดที่เป็นผลลัพธ์มีมากกว่าหนึ่งเร็กคอร์ด check_host () จะสร้างผลลัพธ์ "permerror"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.