“ ~ all” ที่อยู่ตรงกลางของสัญญาณบันทึก SPF เป็นจุดสิ้นสุดของบันทึกเมื่อมีการแยกวิเคราะห์หรือไม่?


9

รูปแบบระเบียน SPF ของ บริษัท ของเรามีดังนี้:

"v = spf1 ประกอบด้วย: _spf.google.com ~ ทั้งหมด mx ip4: XX0.0 / 23 รวม: spf.example.com หรือไม่ทั้งหมด"

ดังนั้นเราจึงมี "~ ทั้งหมด" ในระหว่างการบันทึกค่า SPF ของเรา บนเว็บไซต์ openspf.comพวกเขาพูดถึงสิ่งนี้เกี่ยวกับกลไก "ทั้งหมด":

กลไกนี้ตรงกันเสมอ มันมักจะไปที่จุดสิ้นสุดของระเบียน SPF

ดังนั้นพวกเขาจะไม่พูดว่า "ทั้งหมด" HAS ที่จะไปที่จุดสิ้นสุดของระเบียน SPF แต่มันก็มักจะสิ้นสุดแล้ว

ที่ บริษัท ของเราเมื่อเร็ว ๆ นี้เราพบว่ามีซอฟต์ล้มเหลวบางอย่างในอีเมลที่ส่งจากเซิร์ฟเวอร์ที่ระบุไว้ในเรคคอร์ด SPF ของเรา แต่เรคคอร์ด SPF ของเราผ่านเครื่องมือตรวจสอบทั้งหมดที่ฉันพบมา

สิ่งที่ฉันสงสัยก็คือ "~ ทั้งหมด" นี้โดยตรงหลังจากรวมไว้สำหรับ Google Apps (_spf.google.com) ทำให้การแยกวิเคราะห์หยุดและไม่รู้จักส่วนที่เหลือของระเบียน SPF หรือไม่ การส่งต่อกับการล้มเหลวแบบอ่อนจะขึ้นอยู่กับว่าใครแยกวิเคราะห์และการใช้งานเฉพาะของพวกเขาในการประมวลผลระเบียน SPF หรือไม่ มีเหตุผลใดที่จะมีกลไก "ทั้งหมด" ที่ไม่ได้อยู่ที่จุดสิ้นสุดของระเบียน SPF หรือไม่

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

คำตอบ:


11

RFC 7208 § 5.1ชัดเจนเกี่ยวกับเรื่องนี้: หลังจากallปรากฏขึ้นทุกอย่างหลังจากนั้นจะต้องถูกละเว้น

กลไกหลังจาก "ทั้งหมด" จะไม่ถูกทดสอบ กลไกที่แสดงหลังจาก "ทั้งหมด" จะต้องถูกละเว้น ตัวดัดแปลง "การเปลี่ยนเส้นทาง" ใด ๆ ( ส่วน 6.1 ) จะต้องถูกละเว้นเมื่อมีกลไก "ทั้งหมด" ในบันทึกโดยไม่คำนึงถึงลำดับที่เกี่ยวข้องของข้อกำหนด

RFC ที่ล้าสมัยแล้วRFC 4408กล่าวในสิ่งเดียวกัน; RFC เวอร์ชั่นใหม่นี้สามารถอธิบายเจตนาได้อย่างชัดเจน

กลไกหลังจาก "ทั้งหมด" จะไม่ถูกทดสอบ ตัวดัดแปลง "การเปลี่ยนเส้นทาง" ใด ๆ ( ส่วน 6.1 ) ไม่มีผลเมื่อมีกลไก "ทั้งหมด"

ดังนั้นการใช้งานที่สอดคล้องของ SPF ~allสมบูรณ์จะไม่สนใจทุกอย่างหลังจากที่ครั้งแรก อย่างไรก็ตามนี่ไม่ได้หมายความว่าทุกการใช้งานเป็นไปตามข้อกำหนด โดยเฉพาะอย่างยิ่งนี่อาจเป็นความคิดที่ควรค่าแก่การชี้แจงอย่างชัดเจนเพราะการใช้งานอย่างน้อยหนึ่งอย่างไม่สอดคล้อง

ไม่ชัดเจนเลยว่าทำไมเครื่องมือตรวจสอบออนไลน์จะไม่ตรวจจับการกำหนดค่าผิดพลาดนี้ แต่ถ้าคุณตั้งใจจะทำอะไรหลังจากใช้งานครั้งแรกallคุณควรแก้ไขเรคคอร์ดเนื่องจากการใช้งานที่เหมาะสมจะไม่สนใจมัน


7

"v = spf1 ประกอบด้วย: _spf.google.com ~ ทั้งหมด mx ip4: XX0.0 / 23 รวม: spf.example.com หรือไม่ทั้งหมด"

พูดตามลำดับ:

"อีเมลที่ส่งผ่านระเบียน SPF _spf.google.comถูกต้องสำหรับโดเมนของเรา"

"softfail กับผู้ส่งอื่น ๆ สำหรับโดเมนของเรา"

"อีเมลที่มาจากบันทึก A ของเราถูกต้องสำหรับโดเมนของเรา"

"อีเมลที่มาจากระเบียน MX ของเรานั้นถูกต้องสำหรับโดเมนของเรา"

"อีเมลที่มาจากช่วง IP x.x.0.0/23ใช้ได้สำหรับโดเมนของเรา"

"อีเมลที่ส่งผ่านระเบียน SPF spf.example.comถูกต้องสำหรับโดเมนของเรา"

"อีเมลจากผู้ส่งอื่น ๆ ทั้งหมดสำหรับโดเมนของเราไม่สามารถตรวจสอบได้ทางเดียวหรืออื่น ๆ "

ตามไวยากรณ์ Record:

มีการประเมินกลไกการทำงานตามลำดับ หากไม่มีกลไกหรือตัวปรับเปลี่ยนที่ตรงกันผลลัพธ์เริ่มต้นคือ "เป็นกลาง"

ดังนั้นสำหรับคุณเมื่อมันกระทบกับ "softfail สำหรับคนอื่น ๆ ทั้งหมด" ที่เกี่ยวกับมันจริงๆ ... มันควรจะมองข้ามกลไกที่เหลือที่คุณระบุ

ระเบียน SPF ของคุณควรสั้นกระชับที่สุดเท่าที่จะทำได้ ฉันสงสัยอย่างมากว่าคุณมีเครือข่ายทั้งหมด / 23 ที่ควรจะส่งอีเมลสำหรับโดเมนของคุณและไม่ควรบันทึก A ทั้งหมดของคุณ อาจเป็นเช่นนั้น ... แต่ส่วนใหญ่ไม่

ระเบียน SPF ที่สะอาดและดีควรมีลักษณะดังนี้:

"v = spf1 รวม: _spf.google.com รวม: spf.example.com mx -all"

ซึ่งโดยทั่วไปแล้วจะบอกว่า _spf.google.com, spf.example.com และระเบียน MX ของคุณเป็นผู้ส่งที่ถูกต้องเพียงคนเดียวสำหรับโดเมนของคุณ ... ทุกอย่างอื่นควรถือว่าไม่ถูกต้อง


0

ดำเนินการอย่างถูก SPF ตรวจสอบจะลัดวงจรในกลไกการแข่งขันและ check_host ฟังก์ชัน () จะคืนค่าคัดเลือกเป็นผล ฉันไม่มีข้อมูล "โลกแห่งความจริง" ที่จะให้แก่คุณเกี่ยวกับว่าเซิร์ฟเวอร์อีเมลส่วนใหญ่ติดตาม RFC หรือไม่

ที่มา: RFC7208 (ดูหน้า 17)

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