วันพุธที่ 30 กรกฎาคม พ.ศ. 2557

Sender_bcc เพิ่ม bcc ใน email ที่ส่งแบบอัตโนมัติ

ผมเคยได้รับคำถาม ผ่านทาง ThaiZimbra ว่าจะทำอย่างไร ว่าให้ email ที่ถูกส่งออกจาก Zimbra Server ใส่ BCC (Blind Carbon Copy) ให้โดยอัตโนมัติ  ซึ่งเราสามารถทำได้ครับ โดยสามารถกำหนดได้เป็นรายบุคคล หรือทุกๆคนใน domain ก็ยังได้

BCC คืออะไร
ก่อน จะไปถึงเรื่องการ setup ผมขออธิบายถึง BCC นิดนึงนะครับ  BCC  หรือ Blind Carbon Copy เป็นการกำหนดค่าให้กับ Email ที่เราจะส่งออก ว่าจะให้ส่งไปหาใคร (นอกเหนือจากกำหนดผู้รับใน To:)



ซึ่งดูเผินๆ คล้ายๆ กับที่เรากำหนดค่า TO: หรือ CC: ใน email นั้นแหละครับ แต่สำหรับ  BCC คนที่ได้รับ email คนอื่นๆ (คนที่มี email address อยู่ใน TO: หรือ CC:) จะไม่เห็นว่า email นี้ ถูก BCC ไปให้ email address อะไร  ซึ่งปกติ เวลาเราส่ง email ใน Zimbra หรือ email client อื่นๆ เราสามารถกำหนด email address ในส่วนของ  BCC: เองได้นะครับ แต่ในกรณีนี้ เราจะให้ Zimbra ทำให้เราโดยอัตโนมัติ

ขั้นตอนการ setup

1)  login หรือ su เป็น user zimbra

2)  Edit file /opt/zimbra/postfix/conf/sender_bcc (โดยปกติ ไฟล์นี้จะไม่มีอยู่ตั้งแต่แรกนะครับ)

เขียนหรือเพิ่มบรรทัด ในรุปแบบ

sender@domain.com  bcc_dest@domain.com 

โดย sender@domain.com เป็น email address ของคนที่เราจะกำหนดให้ใส่ bcc ให้ตอนส่งออกโดยอัตโนมัติ ส่วน bcc_dest@domain.com  เป็น email address ที่เรากะว่าจะให้ bcc email ส่งไปถึง

ในกรณีที่ต้องการ ใส่ bcc ให้กับทุกคนที่ส่ง email ออก ที่อยู่ใน  mydomain.com ทำได้โดยใส่บรรทัด

@domain.com bcc_dest@domain.com 

3) แก้ไขไฟล์ /opt/zimbra/postfix/conf/main.conf  โดย เพิ่มบรรทัด

sender_bcc_maps = hash:/opt/zimbra/postfix/conf/sender_bcc

4) กลับมาที่ Linux command line (ตอนนี้ยัง เป็น Linux user อยู่นะครับ) เรียกใช้คำสั่ง

postmap  /opt/zimbra/postfix/conf/sender_bcc 

5) ขั้นตอนสุดท้าย Restart postfix โดยเรียกใช้คำสั่ง

postfix reload 

หลังจากนี้ถ้ามีการส่ง email ออก โดยถ้าถูกส่งจาก email ของคน หรือ domain ที่เรากำหนดไว้ในข้อ 2)  จะถูกใส่ bcc ให้โดยอัตโนมัติ

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

วันพุธที่ 23 กรกฎาคม พ.ศ. 2557

Admin account จุดบอดใน Zimbra ที่หลายคนคาดไม่ถึง และการป้องกัน



โดยปกติ การ hack account บน Zimbra เข้ามาทาง web client นั้น hacker จะพยายามหาชื่อ account ในระบบ โดยชื่อกลุ่มแรกๆ ที่ hacker จะลองก็คือ account มาตรฐานตามที่ผมเคยเขียนในบทความเรื่องการ ป้องกันการถูก hack account สำหรับ email address ชื่อมาตรฐานบน zimbra ไปแล้ว แต่อย่างไรก็ตาม มี account มาตรฐานที่มีมาตั้งแต่ติดตั้งระบบอีกอันหนึ่ง ซึ่งหลายคนลืมนึกถึง  ซึ่งก็คือ admin นั่นเอง

account admin ของ zimbra เป็นอีกจุดหนึ่งที่ hacker จะ hack เข้ามาทาง Web Client ถึงแม้ บางองค์กรที่ใช้ Zimbra จะปิด port 7071 ให้ไม่สามารถ  login Admin Console จากภายนอกได้ แต่ hacker ก็ยังมีโอกาสที่ login admin เข้ามาทางนี้ได้  โดยการเดา password และถ้าทำสำเร็จ ก็สามารถใช้ account นี้ ส่ง spam ได้เหมือนกัน และอย่ามั่นใจนะครับ ว่าคุณตั้ง password ของ admin ไว้ดีแล้ว อย่างที่ผมเคยบอกไว้ว่า hacker ใช้โปรแกรม ในการเดา password และพยายาม login และทำเป็นร้อยๆพันๆครั้ง โอกาสที่จะเดา password ถูก มีมากครับ ดังนั้นทางที่ดี เราควรป้องกันไว้ดีกว่าครับ

ข้อแนะนำ การป้องกัน admin account

1)  ปิด port ของ Admin Console จากภายนอกองค์กร
ปิด port 7071 ที่ firewall ขององค์กร ไม่ให้ login Admin console มาจากภายนอกได้  แต่ถ้าจำเป็นจะต้องใช้งาน Admin Console  มาจากภายนอกองค์กร  แนะนำให้ติดตั้งระบบ  VPN  และใช้งาน admin console ผ่านทางระบบ vpn แทน

2)  กำหนดสิทธิ ให้ account อื่นเป็น admin แทน
การกำหนดให้ account ของคนที่เป็นผู้ดูแลระบบ Zimbra  ให้ได้สิทธิของ admin วิธีนี้มีประโยชน์ที่ตามมาคือ  ในกรณีที่มี admin หลายคนในระบบ การทำแบบนี้ ทำให้เรารู้ได้ว่า ใครเป็นคน login  web console (ดูที่  /opt/zimbra/log/audit.log ได้)

3) กำหนดสถานะของ admin account เป็น locked
การทำเช่นนี้จะทำให้ admin account ไม่สามารถ login ทั้ง web client และ  web console ได้
แต่อย่างไรก็ตาม อย่าลบ  admin account นะครับ ถึงแม้เราจะสามารถจะทำได้ แต่ต้องมีการ setup อื่น ตามมาหลายอย่าง และส่วนตัวผมยังไม่แน่ใจว่าจะมีผลกระทบอะไรหรือเปล่า  เพื่อความปลอดภัยกำหนด status เป็น locked ง่ายและปลอดภัยที่สุด

3) forward  email  ที่ส่งมายัง admin account ไปที่  account ที่ได้สิทธิ admin  ในข้อ 2)

ทำแบบนี้แล้ว น่าจะเป็นการปิดจุดอันตรายของ Zimbra  ไปอีกจุดหนึ่งนะครับ

ช่วยด้วย !!! ลืม password ของ Zimbra Admin ทำยังไงดีครับ

มีคนถามคำถามนี้กับผมผ่านทาง ThaiZimbra  หลายครั้ง ว่าถ้าลืม password ของ account  Admin บน Zimbra จะทำอย่างไรดี

วิธีการก็ไม่ยากครับ ถ้าเราสามารถ login Linux บนเครื่อง Zimbra Server ได้  เราก็จะสามารถเข้าไปกำหนด password ของ Zimbra account ได้ใหม่ ผ่านทาง คำสั่ง zmprov ครับ

ก่อนอื่น ก็ต้อง login linux ที่เครื่อง Zimbra server เพื่อ เตรียมเข้าไปใช้งาน zimbra command line  ตามบทความนี้ครับ ซึ่งสุดท้ายเราจะ su เป็น user zimbra

เสร้จแล้ว เรียกใช้คำสั่ง zmprov setpassword  (หรือใช้ sp เป็นคำสั่งแบบย่อๆ) ซึ่งคำสั่งนี้มีรูปแบบดังนี้



อย่างการใช้งาน เช่น ผมต้องการเปลี่ยน password ของ  admin@mydomain.com เป็น "abcdef"



นอกจากนี้ คำสั่งนี้ สามารถเปลี่ยน password  ของ account อันไหนก็ได้ บน zimbra  ซึ่งเราสามารถประยุกต์ใช้ในเรื่องต่างๆ ได้อีก เช่น reset password ของทุก account ให้เป็นไปตามค่าที่กำหนด เป็นต้น