ระเบียน SPF คืออะไรและฉันจะกำหนดค่าได้อย่างไร


49

นี่คือคำถามที่บัญญัติเกี่ยวกับการตั้งค่าระเบียน SPF

ฉันมีสำนักงานที่มีคอมพิวเตอร์หลายเครื่องที่แชร์ IP ภายนอกเดียว (ฉันไม่แน่ใจว่าที่อยู่นั้นเป็นแบบคงที่หรือเป็นแบบไดนามิก) คอมพิวเตอร์แต่ละเครื่องเชื่อมต่อกับเซิร์ฟเวอร์อีเมลของเราผ่าน IMAP โดยใช้ Outlook คอมพิวเตอร์เหล่านั้นส่งและรับอีเมลและผู้ใช้บางคนส่งและรับอีเมลบนโทรศัพท์มือถือของพวกเขาเช่นกัน

ฉันใช้http://wizard.easyspf.com/เพื่อสร้างระเบียน SPF และฉันไม่แน่ใจเกี่ยวกับฟิลด์ในตัวช่วยสร้างโดยเฉพาะ:

  1. ป้อนโดเมนอื่น ๆ ที่อาจส่งหรือส่งต่อเมลสำหรับโดเมนนี้
  2. ป้อนที่อยู่ IP ใด ๆ ในรูปแบบ CIDR สำหรับ netblock ที่มาหรือส่งต่อเมลสำหรับโดเมนนี้
  3. ป้อนโฮสต์อื่น ๆ ที่สามารถส่งหรือส่งต่อเมลสำหรับโดเมนนี้
  4. MTA ที่ตระหนักถึงค่า SPF ควรปฏิบัติต่อสิ่งนี้อย่างไร

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

คำตอบ:


68

SPF บันทึกรายละเอียดเซิร์ฟเวอร์ที่อนุญาตให้ส่งอีเมลสำหรับโดเมนของคุณ

คำถามที่ 1-3 สรุปประเด็นทั้งหมดของค่า SPF: คุณควรจะแสดงรายการที่อยู่ของเซิร์ฟเวอร์ทั้งหมดที่ได้รับอนุญาตให้ส่งอีเมลที่มาจากโดเมนของคุณ
หากคุณไม่มีรายการที่ครบถ้วนในขณะนี้โดยทั่วไปคุณไม่ควรตั้งค่าระเบียน SPF โดเมนสามารถมีระเบียน SPF ได้เพียงระเบียนเดียวเท่านั้นดังนั้นคุณจะต้องรวมข้อมูลทั้งหมดไว้ในระเบียนเดียว

คำถามแต่ละข้อจริงๆช่วยแยกรายการลงสำหรับคุณ

  1. ขอให้คุณสำหรับโดเมนอื่น ๆที่เซิร์ฟเวอร์อีเมลอาจส่งเมลจากคุณ หากคุณมีเช่นเซิร์ฟเวอร์ MX รองที่ mail-relay.example.org และที่เป็นเซิร์ฟเวอร์อีเมลหลัก (ระเบียน MX) สำหรับโดเมนแล้วคุณควรจะใส่example.org mx:example.orgระเบียน SPF ของคุณควรมีระเบียน MX ของโดเมนของคุณเองภายใต้สถานการณ์เกือบทั้งหมด ( mx)
  2. ขอให้คุณ netblocks ip ของคุณ ถ้าคุณได้ colocated เซิร์ฟเวอร์ที่ 1.2.3.0/28 และพื้นที่ที่อยู่ในสำนักงานของคุณเป็น 6.7.8.0/22 ip4:1.2.3.0/28 ip4:6.7.8.0/22ป้อน พื้นที่ IPv6 ip6:2a01:9900:0:4::/64ควรจะเพิ่มเป็นเช่น
  3. หาก (เช่น) คุณปิดเครื่องในสำนักงานของคนอื่นที่ต้องได้รับอนุญาตให้ส่งอีเมลจากโดเมนของคุณให้ป้อนสิ่งนั้นด้วยเช่นa:mail.remote.example.comกัน

ผู้ใช้โทรศัพท์มือถือของคุณมีปัญหา หากพวกเขาส่งอีเมลโดยเชื่อมต่อกับเซิร์ฟเวอร์อีเมลของคุณโดยใช้เช่น SMTP AUTH และส่งผ่านเซิร์ฟเวอร์นั้นคุณจะต้องดำเนินการกับพวกเขาโดยระบุที่อยู่ของเซิร์ฟเวอร์อีเมลใน (2) หากพวกเขาส่งอีเมลโดยเพียงแค่เชื่อมต่อกับสิ่งที่เซิร์ฟเวอร์จดหมายเสนอขาย / ผู้ให้บริการ 3G HSDPA แล้วคุณไม่สามารถทำ SPF หมายจนกว่าคุณจะได้ rearchitected โครงสร้างพื้นฐานอีเมลของคุณเพื่อให้คุณไม่ควบคุมจุดจากการที่อีเมลทุกอ้างตัวว่าเป็นจากคุณฮิต อินเทอร์เน็ต

คำถามที่ 4 แตกต่างกันเล็กน้อยและถามว่าผู้รับควรทำอย่างไรกับอีเมลที่อ้างว่ามาจากโดเมนของคุณซึ่งไม่ได้มาจากระบบใดระบบหนึ่งที่ระบุไว้ข้างต้น มีคำตอบทางกฎหมายหลายประการ แต่สิ่งที่น่าสนใจเพียงอย่างเดียวคือ~all(ความล้มเหลวอ่อน) และ-all(ความล้มเหลวอย่างหนัก) ?all(ไม่มีคำตอบ) ไม่มีประโยชน์เหมือน~all(qv) และ+allเป็นสิ่งที่น่ารังเกียจ

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

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

Google ทราบกันดีว่า

การเผยแพร่ระเบียน SPF ที่ใช้ -all แทน ~ all อาจทำให้เกิดปัญหาการจัดส่ง

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

โปรดทราบว่าไม่มีสิ่งใดที่ผูกพันกับเซิร์ฟเวอร์ของผู้รับ ความจริงที่ว่าคุณโฆษณาเรคคอร์ด SPF นั้นไม่บังคับให้บุคคลอื่นให้เกียรติมัน มันขึ้นอยู่กับผู้ดูแลระบบของเซิร์ฟเวอร์อีเมลใดก็ตามที่พวกเขาเลือกที่จะยอมรับหรือปฏิเสธ สิ่งที่ฉันคิดว่า SPF ทำคืออนุญาตให้คุณปฏิเสธความรับผิดชอบเพิ่มเติมใด ๆ สำหรับอีเมลที่อ้างว่ามาจากโดเมนของคุณ แต่ไม่ใช่ ผู้ดูแลระบบจดหมายใด ๆ ที่มาหาคุณบ่นว่าโดเมนของคุณกำลังส่งสแปมเมื่อพวกเขาไม่ได้ใส่ใจที่จะตรวจสอบระเบียน SPF ที่คุณโฆษณาซึ่งจะบอกพวกเขาว่าอีเมลที่ถูกปฏิเสธควรถูกส่งไปพร้อมกับหมัดในหูของพวกเขา


ตั้งแต่คำตอบนี้ได้รับการ canonicalised ผมควรที่จะพูดคำไม่กี่คำเกี่ยวกับและinclude redirectหลังนั้นง่ายกว่า ถ้าระเบียน SPF ของคุณพูดได้example.comกล่าวว่าredirect=example.orgแล้วexample.org's บันทึก SPF แทนที่ของคุณเอง example.orgนอกจากนี้ยังมีการทดแทนสำหรับโดเมนของคุณในการค้นหาเหล่านั้น (เช่นหากexample.orgบันทึกมีmxกลไกการMXค้นหาควรทำในexample.orgไม่ใช่ในโดเมนของคุณเอง)

includeมีการเข้าใจผิดกันอย่างกว้างขวางและตามที่ผู้เขียนมาตรฐานระบุว่า " ชื่อ" รวมถึง "ถูกเลือกไม่ดี " หากระเบียน SPF includeของexample.orgคุณบันทึกนั้นexample.orgควรได้รับการตรวจสอบจากผู้รับเพื่อดูว่ามีเหตุผลใด ๆ (รวมถึง+all) ที่จะรับอีเมลของคุณหรือไม่ หากเป็นเช่นนั้นอีเมลของคุณควรผ่าน หากไม่เป็นเช่นนั้นผู้รับควรดำเนินการบันทึก SPF ต่อไปจนกว่าจะลงจอดบนallกลไกของคุณ ดังนั้น-allหรือการใช้งานอื่นใดของการallยกเว้น+allในincludeเร็กคอร์ด d ไม่มีผลต่อผลลัพธ์ของการประมวลผล

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับระเบียน SPF http://www.openspf.orgเป็นทรัพยากรที่ยอดเยี่ยม


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

แก้ไข : ขอบคุณสำหรับคำพูดของคุณพวกเขาชื่นชมมาก

SPF เป็นเทคนิคหลักในการป้องกันการจ็อคกิ้งโจว แต่บางคนดูเหมือนจะเริ่มใช้มันเพื่อตรวจหาสแปม บางคนอาจแนบค่าติดลบกับคุณไม่มีระเบียน SPF เลยหรือบันทึก overbroad (เช่นa:3.4.5.6/2 a:77.5.6.7/2 a:133.56.67.78/2 a:203.54.32.1/2ซึ่งค่อนข้างลับๆล่อๆ+all) แต่นั่นก็ขึ้นอยู่กับพวกเขาและคุณไม่สามารถทำอะไรได้มากนัก

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

แก้ไข 2 : ลบไปตามความคิดเห็นและเพื่อให้คำตอบล่าสุด


ขอบคุณคำตอบที่ละเอียดและเป็นภาษาอังกฤษธรรมดา (ซึ่งฉันต้องการอย่างชัดเจน) คุณถูกต้องในการสังเกตว่าฉันส่วนใหญ่อยู่ในความมืดและไม่มีธุรกิจที่สวมหมวกของไปรษณีย์ คำถามติดตาม: เนื่องจากเรากำลังพูดถึงการดำเนินการขนาดเล็กมาก (รวมบัญชีอีเมลประมาณ 10-15 บัญชี) - และอย่าส่งจดหมายจำนวนมาก - นี่คือสิ่งที่เราสามารถอยู่รอดได้โดยไม่ต้องมีเวลาหรืออาจเป็นไปได้ ลงเอยด้วยโฟลเดอร์สแปมจำนวนมากใช่ไหม เมื่อเราทำการส่งจดหมายจำนวนมากเราใช้บริการเช่น
mailchimp

นะ ~ ทั้งหมดเป็นสิ่งที่ดีสำหรับสิ่งที่สอง: 1.ที่ "ไม่สมบูรณ์แล้วไปแล้ว au " สถานการณ์ที่คุณอธิบาย มันช่วยให้คุณทำการตั้งค่าทั้งหมดในแบบของจริงรวมถึงการทดสอบจริงก่อนที่จะดึงทริกเกอร์สุดท้าย 2.คะแนนสแปม หากคุณไม่สามารถควบคุมจุดออกจากจดหมายของคุณได้ทั้งหมด ~ ทั้งหมดสามารถช่วยให้คะแนนสแปมสำหรับระบบที่ตรงกับบันทึกของคุณ (แน่นอน: พวกเขายังสามารถทำคะแนนให้คะแนนสำหรับระบบที่ล้มเหลวได้ด้วย)
Joel Coel

พวกเขายังสามารถทำคะแนนกับระบบผู้รับที่ผู้ดูแลระบบพิจารณา~allว่าเป็นตัวบ่งชี้สแปมในโดเมนทั้งหมดซึ่งมีอย่างน้อยหนึ่งรายการใน SF
MadHatter

2
@MadHatter ความคิดเห็นที่มีต่อ Edit2 โดยเฉพาะ: ข้อมูลจำเพาะ SPF ปัจจุบันบอกว่าคุณต้องใช้อย่างใดอย่างหนึ่งTXTหรือSPFแต่คุณควรใช้ทั้งสองอย่าง (เหมือนกัน) ข้อมูลจำเพาะ SPF ที่จะเกิดขึ้นที่เสนอจะละทิ้งSPFเนื่องจากการดูดซึมน้อยกว่าที่คาด SPFโดยที่ในใจมันดูเหมือนว่าควรป่วยเพียงเงยหน้าขึ้นมอง
Håkan Lindqvist

3
ขอบคุณสำหรับความจริงและฉันหัวเราะออกมาดัง ๆ ที่ "+ ทั้งหมดเป็นสิ่งที่น่ารังเกียจ"
jerclarke

3

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

หากคุณกำลังใช้บุคคลที่สามเช่น gmail เพื่อส่งอีเมลของคุณคุณจะต้องรวมเร็กคอร์ด spf ของพวกเขาดังนี้: รวม: _spf.google.com (ตัวช่วยสร้าง ajax ดูเหมือนจะไม่ทราบเกี่ยวกับเรื่องนี้)

สำหรับ "วิธีที่เข้มงวด" ให้ปล่อย "soft fail" (~ all) หากคุณไม่แน่ใจ แต่อย่างอื่น "ปฏิเสธ" (- ทั้งหมด) เป็นวิธีที่จะไปเมื่อการกำหนดค่าของคุณสะอาด

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