วันเสาร์ที่ 23 พฤศจิกายน พ.ศ. 2556

การกำหนดให้ Zimbra Block (หรือไม่ Block) Email ให้กับทุก account ใน Zimbra server

    ก่อนหน้านี้ ผมได้พูดถึงวิธีการ block spam mail โดยกำหนดที่ preference ของผู้ใช้ Zimbra แต่ละคนโดยดูจาก Email address หรือ Domain ต้นทางที่ส่งมา  มีท่านผู้อ่านหลายท่าน ถามมาว่าเราสามารถกำหนดให้ Zimbra block หรือไม่ block mail ให้กับทุก account โดยระบุที่จุดเดียว แล้วให้มีผลกับทุก account  ในระบบ แทนที่ต้องกำหนดแยกที่ละคนเหมือนในบทความครั้งที่แล้วได้หรือเปล่า

คำตอบก็คือทำได้ครับ โดยเราสามารถระบุได้สองอย่าง  คือ

  • whitelist  เป็นรายชื่อของ email address หรือ domain  ที่เราต้องการให้ระบบมองว่า Email ที่ถูกส่งมา จาก email address หรือ domain  นี้ไม่เป็น spam แน่นอน ปล่อยผ่านมาได้ 
  • blacklist เป็นรายชื่อของ email address  หรือ domain ซึ่งถ้า email ถูกส่งมาจาก address หรือ domain ชุดนี้  ระบบจะมองว่าเป็น spam ทันที  และจะถูก block ไว้ 

เปรียบเทียบกับบทความก่อนหน้านี้ ที่พูดถึง วิธี block spam mail สำหรับผู้ใช้ zimbra แต่ละคน  whitelist เหมือน allow list ส่วน blacklist ก็เหมือน deny list ครับ

การ setup ต้องทำที่ Linux command line ตามขึ้นตอนดังนี้ครับ

ขั้นตอนการ setup
1) Login Linux ที่เครื่อง Zimbra โดยต้องเป็น root นะครับ
2) copy  /opt/zimbra/conf/amavis.conf.in ของเดิม เก็บไว้ (สำคัญมาก) เผื่อทำอะไรผิด จะได้เอาไฟล์ที่ backup ไว้ save กลับมา
3) เพิ่มบรรทัดเข้าไปในไฟล์ /opt/zimbra/conf/amavis.conf.in ตามนี้ครับ

read_hash(\%whitelist_sender, '/etc/zimbra/whitelist')
read_hash(\%blacklist_sender, '/etc/zimbra/blacklist');

จากตัวอย่าง ผมใส่ไปสองบรรทัด บรรทัดแรกสำหรับ whitelist บรรทัดที่สองสำหรับ blacklist โดยทั้งสองบรรทัด ผมระบุให้ไปอ่าน whitelist และ blacklist ที่ /etc/zimbra/whitelist และ /etc/zimbra/blacklist ตามลำดับ

สำหรับบรรทัดที่ใส่ ผมคิดว่า ใส่ตรงไหนก็ได้ แต่ต้องไม่แทรก config ของเดิม และต้องอยู่ก่อนบรรทัดท้ายสุด ที่เขียนว่า

1;    # insure a defined return value

ลองดูตัวอย่างตามรูปเลยครับ


4) สร้างที่เกี็บรายขื่อของ whitelist และ blacklist ตามที่เราระบุในข้อ  3)  ตามตัวอย่างคือ  /etc/zimbra/whitelist และ /etc/zimbra/blacklist   และต้องกำหนด owner และ permission ให้ user zimbra อ่านได้ด้วยนะครับ

เสร็จแล้วใส่ ชื่อ domain ที่เราจะระบุเป็น whitelist และ blacklist เข้าไปใน ไฟล์นี้ บรรทัดละ 1 domain หรือ 1 address ครับ

สุดท้ายเราก็จะได้ไฟล์คล้ายๆ กับตัวอย่างนี้ครับ (อันนี้แสดงเฉพาะ blacklist)



5)  Restart Zimbra ด้วยคำสั่ง "service zimbra restart"


ผลลัพท์ที่ได้
ถ้ามี email ส่งมาจาก address หรือ domain ที่อยู่ใน whitelist ระบบจะตัดสินว่า email พวกนี้ไม่เป็น  spam และส่งตรงไปที่ mailbox ของคนรับเลย และไม่ลง spam folder ด้วย
แต่ถ้า email มี address ถูกส่งมาอยู่ใน blacklist ระบบจะไม่ส่ง email ไปให้ user ครับ ระบบจะตัดสินว่าเป็น spam และคัด email นั้นๆ ทิ้งทันที่ และไม่แม้แต่จะส่งไปเก็บอยู่ใน อยู่ใน spam folder ด้วยครับ

การนำไปประยุกต์ใช้
หรือในกรณีที่เรารู้แน่ๆว่า account ที่ส่งหาเรา ไม่มี spam แน่นอนเช่น เป็นคู่ค้า หรือเป็นลูกค้า แต่หลายๆ account ในระบบ zimbra ของเรา ดันมองว่า email ที่ส่งมาจาก account หรือ domain เหล่านั้นเป็น spam  เราสามารถใช้วิธีนี้แก้ปัญหาได้ครับ โดยใส่ Email หรือ ชื่อ  domain ของคู่ค้าของเรา เข้าไปใน whitelist

นอกจากนี้ วิธีนี้เป็นการแก้ปัญหาที่หลายคนพบว่ามีบาง account ใน domain เดียวกัน ส่ง email หากันแล้วระบบมองว่าเป็น spam เลยเอา email ที่ได้รับไปเก็บไว้ใน spam folder

เราก็จัดการแก้โดย set domain ที่อยู่ในเครื่อง zimbra  ไว้ที่ whitelist เลย ระบบก็จะมองว่า เมล์ที่ถูกส่งจาก domain ที่อยู่ในเครื่องเราเองไม่เป็น spam อีกต่อไปครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น