ในการติดตั้ง email server นั้นปกติแล้วหากเราไม่ได้กำหนดอะไรไว้มากนักเราก็จะเจอว่ามีผู้ประสงค์ดีคอยส่ง email พวกโฆษณาให้เราเยอะมาก เอาเป็นว่าวันละหลาย ๆ รอบ
วันนี้เลยต้องพึ่ง SPF (Sender Policy Framework) หลักการของ spf นั้นง่ายมาก มันเริ่มด้วยเครื่องที่รับ email เวลาที่ได้รับการติดต่อมานั้นก็ทำการถามไปยัง dns ที่ควบคุม domain ที่ส่งมา ถามว่า "email ที่กำลังรับอยู่นี้ ได้ถูกส่งมาจากเครื่องที่กำหนดไว้หรือไม่"
มาดูรูปแบบที่กำหนดไว้ DNS กัน
mydomain.com TXT "v=spf1 a mx a:mydomain.com mx:mydomain.com mx:mail.mydomain.com ip4:xxx.xxx.xxx.0/24 ip4:xxx.xxx.xxx.xxx ~all"
อธิบายได้ดังนี้
- v=spf1 แสดงว่า TXT นี้เป็นการกำหนด SPF
- a แสดงว่า เครื่องนี้เป็นเครื่อง ส่ง email ของ mydomain.com ด้วย
- mx แสดงว่า MX server นี้ ส่ง email ของ mydomain.com ด้วย
- ip4:xxx.xxx.xxx.0/24 แสดงว่า ทุกเครื่องที่มีช่วงของ ip นี้ เป็นเครื่องที่ใช้ส่ง email ของ mydomain.com (อันนี้มีประโยชน์มากสำหรับคนที่ใช้ smtp ของ ISP เป็นคนส่ง)
- ip4:xxx.xxx.xxx.xxx แสดงว่า เครื่องที่มี ip นี้ เป็นเครื่องที่อนุญาติให้ส่ง email ได้
- ~all แสดงว่า SPF ที่ได้รับมาหากตรวจสอบแล้วไม่ตรงก็จะทำการบอก mail server ว่า ให้กำหนดเป็น softfail
Received-SPF: pass (google.com: domain of user@mydomain.com designates xxx.xxx.xxx.xxx as permitted sender) client-ip=xxx.xxx.xxx.xxx;อ้างอิง: http://old.openspf.org/wizard.html?mydomain= เอาไว้สร้าง spf
อ้าวอิง: http://www.debianhelp.co.uk/dnsrecords.htm เอาไว้อ่านความหมายของ DNS record
แถมในส่วนของ postfix อีกหน่อย ...
ปกติแล้ว postfix นั้นไม่ได้มีการตรวจสอบ spf ไว้ก่อน เราต้องทำเอง ด้วยวิธีดังนี
- อันแรกเอาเป็นว่าก็ต้องติดตั้ง postfix ก่อน (อันนี้ไปทำเอง)
- จากนั้นก็ติดตั้ง tumgreyspf ด้วย $ aptitude install tumgreyspf
- แล้วก็แวะไปอ่าน /usr/share/doc/tumgreyspf/README.Debian เพื่อมากำหนดค่าต่าง ๆ
- แล้วก็ reload postfix
อ้างอิง: http://workaround.org/ispmail/lenny/spf