Sunday, April 19, 2009

SPF Records for Google Apps

SPF = Sender Policy Framework เอาไว้ระบุว่าสามารถส่ง mail ได้จาก server เครื่องไหนบ้างเพื่อป้องกันคนอื่นแอบส่ง email ในนามของ domain เราเอง คือทาง mail server ของผู้รับปลายทางจะสามารถตรวจสอบได้ว่า email ถูกส่งมาจาก mail server ของ domain เราจริงหรือไม่


สำหรับ Gmail แนะนำให้ใช้ค่าดังนี้
v=spf1 include:aspmx.googlemail.com ~all

แต่มีผู้พบข้อผิดพลาดแล้วรอการแก้ไขอยู่ โดย google แนะนำให้ใช้ค่านี้
v=spf1 include:_spf.google.com ~all

เมื่อรวมกับความต้องการที่อาจจะมีการส่ง mail form จาก web server จึงแนะนำให้ใช้ค่านี้แทน
v=spf1 a mx include:aspmx.googlemail.com include:_spf.google.com ~all

โดยที่
a = สามารถส่ง mail ได้จาก server ที่ระบุไว้ใน a record (ก็คือ web server นั่นเอง กรณีทั่วๆไป)
mx = สามารถส่ง mail ได้จาก server ที่ระบุไว้ใน mx record
~all = soft fail คือจะยอมให้ส่งได้ แต่อาจจะไปเข้าที่ spam แทน (สามารถ check ดูได้จาก full mail header)

-all = fail คือจะไม่ยอมให้ส่งเลย

- spf record = คือ record type เป็นชนิด txt ใน dns version ใหม่อาจจะรู้จัก record spf ได้เลย
- ถ้าดูใน dns zone เต็มๆจะเห็นเป็นเช่น example.com. IN TXT "v=spf1 -all"
- mail server ฝั่งรับจะเป็นฝ่าย check spf ว่าจะตัดสินใจรับ mail ที่ส่งมาแบบไหน

Validate SPF
http://www.kitterman.com/spf/validate.html

อ่านเพิ่มเติมได้ที่
http://old.openspf.org/wizard.html


http://www.zytrax.com/books/dns/ch9/spf.html


http://www.hybrid6.com/webgeek/2009/03/google-provides-incorrect-spf-record-info-for-google-apps.php

http://www.labnol.org/internet/authenticate-google-apps-email-with-spf/13877/

Note
- กรณีที่เข้า webmail.xxx.com จากภายในบริษัทไม่ได้ จะต้องไปเพิ่ม cname record ใน dns server ให้เป็น
webmail = ghs.xxx.com แล้วจะเข้าได้


การตรวจสอบ spf record
1. ใช้ nslookup set record type=txt
2. ส่ง blank mail ไปที่ spf-test@openspf.org หรือ check-auth@verifier.port25.com
รอการ reply กลับมา ดีที่ spf check ว่า pass

No comments:

Post a Comment