ผมมี server อยู่ 1 เครื่อง มีโดเมนที่อยู่ใน server ประมาณ 50 โดเมน
ปัญหาเกี่ยวกับการรับส่ง email หลักๆ จะมีอยู่ 3 อย่าง
1. ส่งเมล์ไป hotmail, gmail, yahoo ไม่ได้
สมมุติว่ามีอีเมล์นึงที่ตั้งรหัสผ่านง่ายๆ เช่น 123456
พวก bot ในอินเตอร์เน็ต มันวิ่งมาเจอเว็บ palthai.com ของผม แล้วมันดูว่า ip อะไร และมีอีกกี่เว็บที่อยู่บน ip นี้
จากนั้น มันจะสแกนทุกหน้า และ copy รายชื่ออีเมล์จากหน้าต่างๆ (ของทั้ง 50 เว็บ)
แล้วมันสุ่ม login ไปทีละ email จนเจอ email ที่รหัสผ่านเดาง่าย
เมื่อ bot มัน login ได้แล้ว มันก็ทำการส่ง spam ไปที่ hotmail, gmail
เมื่อ hotmail, gmail ได้รับ email จำนวนมาก ภายใน 1 วัน และเป็น spam ทั้งนั้นเลย
hotmail, gmail ก็เลย block ip ของ server ของเรา
หลังจากนั้น หากเราส่ง email จาก server ของเราไปที่ hotmail
อีเมล์จะส่งไม่ถึง จะไม่ปรากฏแม้ใน junk mail อีเมล์จะหายต๋อมไปเลย
วิธีแก้
1. server ของผมใช้ direct admin และผมมีสิทธิ์เป็น admin
ผมก็จะ login เข้าไป แล้วดู log viewer ดูไฟล์ชื่อ Exim Mainlog
เนื่องจากผมตั้งไว้ว่า แต่ละโดเมน ห้ามส่งเมล์เกิน 200 ฉบับ ต่อวัน
ผมจะดูใน log ว่ามีโดเมนไหนที่ส่งเกิน 200 ฉบับ
2. พอผมรู้โดเมนแล้ว ผมก็จะดูใน Exim Mainlog นี่แหล่ะว่า email แรกที่ส่งเมล์ออก แล้วเกิน limit 200 ฉบับ คือ email ไหน
3. พอรู้ email ที่ส่ง spam แล้ว ผมก็จะเข้าไปเปลี่ยน password (เพื่อให้ bot login ไม่ผ่าน และส่ง spam ไม่ได้)
4. หลังจากเราป้องกันการส่ง spam จาก server ของเราได้แล้ว เราก็ไปที่
ส่งเมล์ไป hotmail ไม่ได้ ให้กรอกแบบฟอร์มนี้
https://support.live.com/eform.aspx?productKey=edfsmsbl3&ct=eformts
หรือ
https://support.microsoft.com/en-us/getsupport?oaspworkflow=start_1.0.0.0&wfname=capsub&productkey=edfsmsbl3&locale=en-us&forceorigin=esmc&ccsid=636748242292539804
เช็คว่า ip ของเราโดนบล็อคหรือเปล่าที่ลิงค์นี้
https://postmaster.live.com/snds/index.aspx
กรอก ip ของ server ของเราเข้าไป รอไม่เกิน 1 วัน ทาง hotmail จะปลด block ให้เราเอง
หลังจากนั้น เราก็จะสามารถรับส่งอีเมล์ไปที่ hotmail ได้เป็นปรกติ
ส่วน google กับ yahoo ก็จะมี link คล้ายๆกัน ผมจำ link ไม่ได้ ลองหาใน google ดูเองนะครับ
วิธีป้องกัน
1. บอกลูกค้าว่าอย่าตั้งรหัสผ่านอีเมล์ที่เดาง่าย ถ้าโดน bot ใช้ส่ง spam เราจะติด black list
2. จำกัดแต่ละโดเมนให้ส่งเมล์ออกได้ไม่เกินวันละ 100 ฉบับ (Direct admin> Admin Setting)
3. ติดตั้ง csf firewall แล้วตั้ง fail login ที่ 5 ครั้ง (ถ้ามีใคร login ผิด 5 ครั้ง ให้แบน ip ไปเลย)
2. ส่งเมล์ได้ แต่รับเมล์จาก hotmail, gmail, yahoo ไม่ได้
ผมยังหาทางแก้ไม่ได้ครับ
3. ส่งเมล์ไปอเมริกาไม่ได้ ติด black list เช่น baracuda
เวลาติด black list จะมีเมล์ตอบกลับมาบอกว่า เขา block เราด้วยเหตุผลอะไร
เราแก้ปัญหาโดยหยุดส่ง spam ออกตามข้อ 1
แล้วไปกรอกแบบฟอร์มของเขา เขาก็จะปลดแบนให้
แต่หากเราเช่า host อยู่ และมีโดเมนอื่นอยู่ด้วยกันจำนวนมาก
เราไม่สามารถไปสั่งให้โดเมนอื่นหยุดส่ง spam ได้ ดังนั้น baracuda ก็จะบล็อคเราต่อไป
ปัญหานี้แก้ได้โดยการย้าย host เพื่อให้ได้ ip ใหม่ที่ไม่ติด ban
การป้องกันตัวเอง
1. ติดตั้ง csf firewall และ spam assassin
2. โดเมนไหน มีการรับส่ง email ก็ตั้ง spam assassin ให้ทำงานไว้
3. จำกัดการส่งเมล์ออก โดเมนละ 100 ฉบับ ต่อวัน
4. เปลี่ยน port ของ ftp, ssh แล้วตั้ง csf firewall ให้ block คนที่มาแสกน port ด้วย
5. csf เมื่อ block แล้วให้ส่ง email บอกเราด้วย
ผมเองก็ไม่เก่งเท่าไหร่นะครับ
เมื่อปีที่แล้ว ผมเจอปัญหาแบบนี้ แต่ไม่มีใครบอกผมว่าจะแก้ยังไง ผมได้แต่พาลูกค้าย้ายไปเช่า host ใหม่
ดังนั้น ผมจึงเขียนบทความนี้ เพื่อเป็นแนวทาง ให้คนที่เจอปัญหาเดียวกัน ได้ใช้แก้ปัญหาครับ
6 มิ.ย. 57