วันพุธที่ 27 สิงหาคม พ.ศ. 2557

การตั้งนาฬิกาของ Linux ให้ตรงกับเวลามาตรฐาน โดยใช้ ntpd

ต่อเนื่องจากบทความเกี่ยวกับ พรบ. คอมพิวเตอร์ ครั้งที่แล้ว เราพูดถึงกระบวนการส่ง Log จากเครื่อง Zimbra ไปยัง Centralized Log Server  สิ่งที่ผมค้างไว้อีกเรื่องคือ เราต้อง setup ระบบ Linux บนเครื่อง Zimbra Server ของเรา ให้ตรงกับเวลามาตรฐาน

ซึ่งตาม พรบ จริงๆ แล้วเราต้องตั้งนาฬิกาให้เที่ยงตรงโดยเพิ้ยนได้ในระดับ millisecond ซึ่งทำเองเป็นไปได้ยากครับ แต่อย่างไรก็ตาม เราสามารถกำหนด Linux ที่ Zimbra Server ทำงานอยู่  ให้ปรับแต่งเวลาโดยเทียบกับเวลากับ time server ที่มีอยู่มากมายใน internet ได้ครับ ซึ่งวิธีนี้ เวลาจะผิดพลาดน้อยมาก และ server ส่วนใหญ่ที่ต้องเกี่ยวข้องกับ พรบ. คอม(เจ้าปัญหา)นี้ ก็ใช้วิธีนี้เช่นกันครับ

กระบวนการที่ทำการ synchronize หรือตั้งเวลาในระบบกับเครื่องคอมพิวเตอร์อื่นๆอยู่ ที่ว่านี้ ใช้กระบวนการที่เรียกว่า  NTP(Network Time Protocol) จะทำงานโดยใช้โปรแกรมที่ชื่อว่า ntpd (Network Time Protocol) ซึ่งเราต้องติดตั้งกันก่อนครับ บางระบบอาจจะติดตั้งไปเรียบร้อยแล้ว เราสามารถตรวจสอบได้โดยใช้คำสั่งตามตัวอย่างนี้ครับ



การติดตั้ง ntpd
ในกรณีที่ระบบเรายังไม่มี ntpd เราติดตั้งได้โดย Login หรือ su เป็น root (ใช้คำสั่ง su –) และใช้คำสั่ง
yum install ntpd
การตรวจสอบเบื้องต้น 
ก่อนที่จะพุดถึงการติดตั้ง เราต้องตรวจสอบให้แน่ใจก่อนว่า ระบบ Linux ของเราอยู่ในสภาพที่พร้อมจะปรับเวลาให้ตรงกับเวลามาตรฐาน ดังนี้ครับ

1) ตรวจสอบ firewall
ntpd ทำงานผ่าน UDP port 123 ในกรณีที่ Linux Server เราอยู่หลัง firewall ต้องเปิด UDP port 123 ให้เครื่อง Linux ของเรารับส่งข้อมูลกับ ntp server ภายนอกด้วย วิธีการตรวจสอบง่ายๆ ก็คือ ใช้คำสั่ง ntpdate (ซึ่งต้องลง package ntpdate)  ตามตัวอย่างนี้ครับ ซึ่งถ้าคุยได้ไม่ติดปัญหา คำสั่งนี้จะแสดงผลออกมาตามตัวอย่างนี้


จากตัวอย่างนี้ เป็นการทดลองส่งข้อมูล ไปคุยกับ time server ที่ชื่อ time1.nimt.or.th

2) ตรวจสอบ timezone
ระบบที่จะปรับเวลาให้ตรงกับเวลามาตรฐาน จะต้องมีการตั้ง timezone ให้ถูกต้อง โดยเราดูได้จาก คำสั่ง date ตามตัวอย่างนี้ครับ


ค่า timezone จะอยู่หลังเวลา ตามตัวอย่างนี้คือ ICT ซึ่งย่อมาจาก  Indo China Time ซึ่งถูกต้องแล้วครับสำหรับ Time zone ของเมืองไทย 
ถ้าไม่ถูกต้อง ต้องปรับให้ถูกก่อนนะครับ บน CentOS ใช้คำสั่ง  system-date-config

การตั้งค่า ntpd

1) ที่ไฟล์ /etc/ntp.conf  แก้ไขบรรทัด 
server time_server_hostname
โดยเปลียนชื่อ  time_server_hostname เป็นชื่อเครื่องที่สามารถเทียบเวลามาตรฐานได้  ที่นิยมกัน จะเป็น
clock.nectec.or.th
time.navy.mi.th
time1.nimt.or.th
time2.nimt.or.th
time3.nimt.or.th
ซึ่ง บรรทัด server นี้ เราสามารถใส่หลายๆ บรรทัดได้ครับ  ระบบจะติดต่อกับ time server  เรียงไป ตั้งแต่ตัวแรก  ถ้าติดต่อไม่ได้ ระบบจะติดต่อ  time server ตัวถัดไปแทน ตามลำดับ ตัวอย่างตามนี้ครับ 


หมายเหตุ

  • ไฟล์ /etc/ntp.conf ใช้ตัวอักษร  "#" สำหรับ comment
  • บรรทัดอื่นๆ ในไฟล์ /etc/ntp.conf ไม่จำเป็นต้องแก้ไขครับ ปล่อยไว้เหมือนเดิม 


2) เรียก  ntpd ขึ้นมาใช้งาน โดยใช้คำสั่ง “service ntpd start” ตามตัวอย่างนี้ครับ



3) กำหนดให้  ntpd ทำงานทุกครั้งที่มีการเปิดเครื่องโดยใช้คำสั่ง "chkconfig ntpd add” และ “chkconfig –level  2345 ntpd on” ตามตัวอย่างนี้


คำสั่งสุดท้าย"chkconfig –list ntpd” เป็นการตรวจสอบว่า ntpd จะถูกเรียกขึ้นมาทำงานโดยอัตโนมัติหรือไม่ซึ่งถ้าหลัง 2: 3: 4: 5: เป็น on ถือว่าถูกต้องแล้วครับ

การทำงานของ ntpd
ntpd จะติดต่อกับtime server เป็นระยะๆและจะคอยปรับเวลาที่อาจจะผิดเพี้ยนไปบนเครื่อง server ของเราให้ตรงกับ time server ที่อ้างอิงอยู่ ซึ่งถ้าเวลาผิดเพี้ยนไปมาก ntpd จะค่อยๆปรับเวลาให้เข้าใกล้เวลามาตรฐาน ดังนี้ถ้า ntpd ทำงานอยู่ เราอาจจะไม่เห็นเวลาถูกปรับให้ตรงกับเวลามาตรฐานทันทีนะครับ

ลองติดตั้งใช้งานดูนะครับ มีปัญหาหรือคำถามตรงไหน ติดต่อผม ผ่านทาง ThaiZimbra ได้เลยครับ

วันพุธที่ 20 สิงหาคม พ.ศ. 2557

เขียน Email แนบ link ในข้อความ

จากบทความที่ผมเคยเขียนก่อนหน้านี้เรื่องการเขียน email ในรูปแบบ  HTML บน Zimbra การเขียน  email ในรูปแบบนี้ เราสามารถกำหนดให้ข้อความในเนื้อเมล์ สามารถฝัง URL เข้าไปได้ เมื่อผู้รับเปิดอ่าน email และ click ที่ข้อความที่ถูกฝัง URL ไว้ web browser จะไปที่ URL ที่กำหนดไว้ในข้อความ เหมือนกับกด link ใน web browser เลยครับ

ขั้นตอน
หลังจากกดที่  "New Message" เพื่อเขียน email จะได้หน้าจอดังรูป ต้องกำหนดให้เขียน email ในรูปแบบ html ก่อนครับ



หลังจากนั้น เขียนข้อความ ที่ต้องการ  Highlight ข้อความที่ต้องการฝัง link ปุ่ม "Insert/Edit link" ใน wysiwyg toolbar (รูปโซ่) จะสามารถกดได้ กดที่ปุ่ม เพื่อกำหนด Url



Insert/Edit link dialog box จะเปิดขึ้นมาตามรูป


เราต้องใส่ข้อมูลตามนี้ครับ

  • Link URL : ใส่ URL ที่ต้องการฝังในข้อความ ต้องกำหนดให้เต็มรูปแบบนะครับ เช่น ต้องขึ้นต้นด้วย  http:// 
  • Target กำหนดว่า เมีอกด link จะให้ทำอย่างไร มีได้สามตัวเลือกครับ 


    • Open link in the same window 
    • Open link in the new window
    • Not set
  • Title เป็นข้อความที่จะแสดงเมื่อผู้รับ email  นี้ วาง pointer ของ เมาส์ไว้ที่ข้อความที่ฝัง URL ไว้ 


เสร็จแล้ว กดปุ่ม Insert ครับ ข้อความที่เรา highlight ไว้ จะถูกฝัง link ไว้

หลังจากนั้น ส่ง email เหมือนปกติ เมื่อผู้รับรับ email  จะเห็น ข้อความที่ฝัง link ไว้ครับ และเมื่อกด link ก็จะเปิด web browser ไปที่ URL ที่เราได้กำหนดไว้ แต่ทั้งนี้ ขึ้นอยู่กับ email client ด้วยนะครับ ว่า รองรับการเปิด URL ที่ฝังไว้ในเนื้อเมล์หรือเปล่า (บางคนปิดไว้ เพื่อป้องกันในเรื่องความปลอดภัย)

ลองเอาไปใช้งานดูนะครับ

วันพุธที่ 13 สิงหาคม พ.ศ. 2557

ไม่แปลกใจ ไทยครองอันดับเป็นประเทศที่ถูก hack ข้อมูล เป็นอันดับสอง

เมื่อวันเสาร์ที่ผ่านมา ผมได้อ่านข่าวไทยรัฐ  ( http://www.thairath.co.th/content/432683 ) ว่าเมืองไทย ได้อันดับสอง ที่เป็นประเทศที่ถูกแฮกข้อมูล รองจากเมกา

    ฟังดูเหมือนไม่น่าเชื่อ แต่จากประสบการณ์ที่ทำงานกับ Zimbra ผมกลับไม่แปลกใจเลยครับ มีคนมาให้ผมช่วยเหลือเรื่องโดย แฮก Zimbra เยอะมาก ผมว่าน่าจะเกินสิบ case ขึ้นนะ และยังมีมาเรื่อยๆ ที่น่าตลกคือ ครั้งแรกที่ผมสอน Class Zimbra Admin ที่เกษตร ยังไม่ทันได้สอนเรื่องป้องกันการ hack เลย ก็มีผู้เข้าอบรมมาขอให้ช่วยดูเครื่อง Zimbra ที่เค้าดูแลให้ จากการเช็ค โดนแฮกเรียบร้อยแล้ว

ปัญหาคืออะไร
     ถ้าถามผม ว่าปัญหาคืออะไร ผมว่าทั้งผู้ใช้งาน และผู้ดูและระบบชาวไทย ยังไม่ตระหนักถึงอันตรายและผลที่ตามมาเมื่อระบบที่ใช้งาน หรือดูแลอยู่ถูก hack บนระบบที่สามารถเข้าใช้งานผ่าน internet ได้ ผมยังเจอคนใช้งาน ที่ยังตั้ง password ที่เหมือนชื่อ login  หรือเลวร้ายกว่านั้นใช้คำว่า "password" เป็นรหัสผ่าน
บางคนยังบ่นว่า ทำไม่ข้อกำหนดในการตั้ง password ต้องตั้งให้ยาก มีทั้งตัวเล็กตัวใหญ่ มีตัวเลข และอักษรพิเศษด้วย ไปโวยวายเอากับผู้ดูและระบบ ....เฮ้อ

ส่วนด้านผู้ดูและระบบ หลายคนก็ไม่น้อยหน้าผู้ใช้ พอเห็นเป็น Open Source Software ไม่ต้องซื้อ พอ search internet หาบทความที่บอกวิธีการลงเจอ ลงได้ ให้ user ในบริษัทใช้งานได้ คิดว่าจบแล้ว ไม่ค้นคว้าหาความรู้ต่อ รู้ตัวอีกที่ โดน hack ไปแล้ว โดนเจ้านายด่า โดน user ด่า แล้วมานั่งเซ็ง แบบนี้ต้องโทษตัวเองครับ
แล้วดูเหมือนข้อมูลที่หาเจอใน  internet จะสนับสนุนให้เป็น แบบนี้เยอะซะด้วย บอกแต่วิธีการลงซะเป็นส่วนใหญ่ ความรู้หลังจากนั้น ก็ตัวใครตัวมัน

นี่เป็นเหตุผล ที่ผมไม่เคยมีบทความเรื่องการติดตั้ง Zimbra  ใน ThaiZimbra อยู่เลย เพราะมีกันเยอะแล้ว ผมเขียนเรื่องอื่นๆที่ไม่เคยมีใครพูดถึง ซึ่งมีอยู่เยอะมาก ดีกว่า

ถ้าทำได้แค่ลงระบบ อย่าเรียกตัวเองว่า ผู้ดูและระบบ หรือ System Administrator เลยครับ เรียกตัวเองว่า ผู้ติดตั้งระบบ หรือ System  Installer น่าจะเหมาะกว่า

ถ้าเป็น System Admin แล้วจะแก้หรือป้องกันยังไง 
อันดับแรก อย่าชล่าใจ คิดว่าเราเป็นองค์กรเล็กๆ ไม่ใช่ เพนตากอน ไม่ใช่นาซ่า คงไม่มีใครอยาก hack หรอก hacker มันไม่สนหรอกครับ โดยเฉพาะอย่างยิ่งการ hack ระบบ mail server ไว้ส่ง spam มันเอาปริมาณเข้าว่า ยิ่งเยอะยิ่งดี

ข้อที่สอง หาทางป้องกัน โดย
หาความรู้เพิ่มเติม  อย่างน้อย บทความที่ผมเขียนใน ThaiZimbra เกี่ยวกับเรื่องความปลอดภัย มีเยอะแยะ ไปหาอ่านดู ถ้าหาไม่เจอ ถามผมได้ (ยินดีครับ อันนี้ฟรี ไม่คิดเงิน)

  • ไปอบรม  บางคนบอกขี้เกียจอ่าน อ่านแล้วก็ไม่ค่อยเข้าใจ ติดปัญหาไม่รู้จะถามใคร  Class ผมมีสอนสอดแทรกเรื่องความปลอดภัยอยู่ในเนื้อหา ถามคนที่เคยไปอบรมมาได้ Class หลังๆ ยิ่งมีกรณีศึกษา และวิธีป้องกันเพิ่มขึ้นเรื่อยๆ 
  • จ้างผู้เชื่ยวชาญมาช่วยดูแล   Admin บางคนบอกไอ้สองข้อที่ผ่านมา ก็รู้ แต่ไม่มีเวลาเลย งั้นลองคุยกับเจ้านายดูครับ outsource จ้างคนที่เชื่ยวชาญมาช่วยดูให้ ดีกว่ารอวันเกิดปัญหา (และถูกด่า) อย่ามีอัตตาครับ ทำไม่ได้ เกินความสามารถ จ้างเค้าเอา  ถ้าทำได้แล้วบริษัทขึ้นเงินเดีอนให้ ก็ ok ครับ แต่ถ้าทำได้แล้วก็งั้นๆ แต่ทำผิดแล้วถูกด่า โยนงานให้คนอื่นที่เชียวชาญทำดีกว่าครับ  ให้เค้าโดนด่าแทน ( ที่จริงงาน Outsource ดูแลแก้ปัญหาระบบ ผมรับทำอยู่ครับ เป็นงานหลักของผมเลย) 
  •  เปลี่ยนงาน หรือหาอาชีพใหม่ ถ้าทุกข้อที่ผมแนะนำ ทำไม่ได้ แปลว่าบริษัทที่ทำอยู่ ไม่สนับสนุนการทำงาน ไม่เหมาะกับคุณ ผมแนะนำให้ลาออกไปหางานที่ดีกว่า  หรือถ้าคิดว่าไปบริษัทไหนก็เจอปัญหาเดิม แก้ไม่ตก ผมแนะนำให้เปลี่ยนอาชีพไปเลย  อย่ามาดูและระบบคอมเลยครับ มันคงไม่เหมาะกับตัวคุณ ผมเห็นหลายคน ทำเหมือนที่ผมบอก ได้ดิบได้ดีไปเยอะแล้ว (จริงๆ นะ)


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

หมายเหตุ เนื้อหาในบทความนี้ อาจจะไปจี้ใจดำบางท่าน ต้องขออภัย แต่ผมตั้งใจติเพื่อก่อจริงๆ ครับ ผมไม่อยากให้ระบบ Zimbra ที่ตั้งโดยคนไทย เป็นเป้าหมายหลักของ hacker หรือ spammer มันเสียชื่อคนไทยครับ

วันพุธที่ 6 สิงหาคม พ.ศ. 2557

รู้หรือไม่ ตามกฏหมาย เราต้องเก็บ Log ของ Zimbra ไว้ 90 วันย้อนหลัง

ตามหัวข้อที่ผมจั่วไว้ครับ ทีมาที่ไป ก็เนี่องมาจากในปี 2550 มีการประกาศ พรบ. คอมพิวเตอร์ ออกมา ซึ่งมีส่วนที่เกี่ยวข้องกับ Mail Server ด้วย และจากประสบการณ์ที่ผมได้เป็นวิทยากรอบรม Zimbra Adminstration ให้กับบุคคลทั่วไปหลายรุ่น พบว่า ผู้ดูแลระบบ Zimbra มือใหม่หลายๆ ท่าน ไม่ทราบเรื่องเกี่ยวกับ พรบ. คอมพิวเตอร์ มาก่อน  ประกอบกับที่ผมมีประสบการณ์ในการติดตั้งระบบเก็บข้อมูลตาม พรบ. คอมพิวเตอร์ เลยคิดว่าจะดีกว่า ถ้าได้เผยแพร่ข้อมูลให้กับคนอื่นๆที่ไม่ได้มาอบรมกับผมให้ทราบด้วย

พรบ.คอมพิวเตอร์
ตามที่บอกไว้ครับ เมื่อประมาณปี 2550 ได้มีการประกาศ พรบ. คอมพิวเตอร์ออกมา มีเนื้อหาเยอะแยะมากมาย  แต่เนื้อหาคร่าวๆที่เกี่ยวข้องกับพวกเราเหล่าผู้ดูแลระบบก็คือ องค์กรหรือหน่วยงานในไทย ถ้ามีการติดตั้งระบบต่อไปนี้เชื่อมต่อกับ Internet ภายนอกองค์กร

  1. Web Server
  2. Ftp Server
  3. Email Server
  4. ให้บริการใช้งาน  Internet

ต้องมีการเก็บข้อมูลการจราจรทางคอมพิวเตอร์ระหว่างระบบดังกล่าวกับ Internet ภายนอกองค์กรด้วย (ผมจะขอเรียกข้อมูลที่ต้องจัดเก็บว่า log ละกัน)

ตอนนั้นเป็นที่ฮืออาในวงการมากเพราะ หน่วยงานต่างๆ ต้องจัดเก็บข้อมูลกันเอง (อยู่เฉยๆ ก็มีงานให้ทำ  แถมเผลอๆ ต้องเสียเงินด้วย )ไม่ทำก็ถือว่าผิดกฏหมาย ถ้าพบว่าไม่ได้มีการเก็บ Log ตาม พรบ. ไว้ ก็ถูกปรับหลักแสน
ข้อมูลหรือเอกสารออกมาเป็นภาษากฏหมาย
ข้อสุดท้ายเนี่ยแหละครับสำคัญ ให้คนในวงการไอทีอ่านภาษากฏหมาย อ่านไปแล้วห้ารอบยังงงๆ ก็ยังไม่รู้ว่าจะต้องทำ (สารภาพเลยก็ได้ครับ ผมอ่านได้ไม่ถึงครึ่งก็เลิกแล้ว)  มีการจัดสัมมนากันไปหลายรอบสิบรอบ โดยหน่วยงานต่างๆ ทั้งภาครัฐและเอกชน จนสุดท้าย ถึงได้ข้อสรุปกันเองแบบไม่เป็นทางการ
จากข้อมูลข้างต้นจะเห็นว่าส่วนที่เกี่ยวข้องกับ Zimbra โดยตรง ก็คือ ส่วนของ Email Server ดังนั้น ในบทความนี้ผมจะขอพูดถึงเรื่องของ พรบ.ที่เกี่ยวข้องกับ Email Server เท่านั้นครับ

ทำไมต้องจัดเก็บ
เหตุผลที่ต้องจัดเก็บ ก็เพื่อในกรณีที่มีเรื่องทางกฏหมายหรืออาชญากรรมที่เกี่ยวข้องกับการรับส่ง Email ทางราชการสามารถสืบค้นและมีหลักฐานว่าบุคคลได้รับหรือส่ง Email ที่เกี่ยวข้องกับคดีนั้นๆ

ต้องเก็บข้อมูลอะไรบ้าง

  • ในการเก็บ log ของ Email Server ตามพรบ. นี้มีข้อมูลที่ต้องจัดเก็บคือEmail address ข้อผู้ส่ง และ Email address ของผู้รับ
  • เวลาที่ระบบ Mail Server ส่งหรือรับ Email
  • Email ID หรือ Message ID
  • IP Address ของเครื่องที่รับและส่ง Email

และเนื่องจากระบบนี้ต้องเก็บเวลาที่มีการรับส่ง Email ด้วย ในพรบ.ได้กำหนดไว้ว่าเวลาในระบบ Email Server ต้องมีการตั้งให้ตรงกับเวลามาตรฐานซึ่งผิดเพี้ยนไม่น้อยกว่าเวลาที่กำหนด ซึ่งสรุปเป็นภาษา IT ว่าคงต้องทำการ Synchronize เวลาในเครื่อง Email Server กับ Time Server มาตรฐานที่มีอยู่ โดยทั่วไปจะผ่านทาง NTP (Network Time Protocol)

แต่อย่างไรก็ตามใน พรบ. ไม่ได้พูดถึง Format หรือรูปแบบข้อมูลที่ต้องจัดเก็บ ซึ่งในวงการสรุปกันว่า เก็บยังไงก็ได้ขอให้ดึงข้อมูลกลับมาได้และได้ข้อมูลตามที่กฏหมายกำหนดละกัน (555...)

จัดเก็บอย่างไร
ตาม พรบ.คอมพิวเตอร์ logทั้งหมดจะต้องถูกจัดเก็บไปไว้ที่ Centralized Log Server ซึ่งเป็นเครื่อง Server สำหรับเก็บ log โดยเฉพาะ และมีข้อกำหนดตามนี้ครับ

ต้องจัดเก็บข้อมูลย้อนหลัง ไว้ไม่ต่ำกว่า 90 วันย้อนหลัง และสามารถจัดเก็บได้มากกว่านี้ ถ้ามีการร้องขอจากทางราชการ  แต่ไม่เกิน 1 ปี
ข้อมูลที่จัดเก็บ จะต้องไม่สามารถเปลี่ยนแปลงแก้ไขได้  และต้องสามารถตรวจสอบและยืนยันได้ว่า ข้อมูลนั้นถูกต้อง
ผู้ดูแลระบบ จะต้องไม่สามารถเข้าไปแก้ไขหรือดูข้อมูลได้  โดยผู้ที่จะเข้าไปดูข้อมูลได้ ต้องเป็นเจ้าหน้าที่ ที่ตามกฏหมายอนุญาตเท่านั้น
นั่นแสดงว่า ตามกฏหมาย ไม่ใช่แค่เก็บ log ไว้ใน Email Server ไว้ย้อนหลัง 90 วันเท่านั้นจะพอนะครับ ต้องเก็บไว้ที่เครื่อง Centralized Log Server อีกตัวซึ่งต้องเป็นไปตามข้อกำหนดข้างต้นด้วย

บทปรับถ้าไม่มี log ตามพรบ. คอมพิวเตอร์
ไม่รู้ว่าเป็นเรื่องดีของเหล่าผู้ดูแลระบบหรือเปล่าเพราะ พรบ. นี้บอกว่าถ้าองค์กรใดถูกตรวจพบว่าไม่สามารถให้ข้อมูลตามที่ พรบ. ได้พูดถึงไว้ ถ้าถูกตรวจพบ ผู้รับผิดชอบตามกฏหมายคือ Managing Director หรือตำแหน่งที่เทียบเท่า (ไม่เกี่ยวกับเจ้าหน้าที่ IT หรือแม้แต่ IT Manager) จะโดนปรับก่อนเลย 5 แสนบาท  และถ้ายังไม่สามารถให้ข้อมูลได้ในวันต่อๆไปที่ทางการร้องขอ โดนปรับอีกวันละ 5,000 บาท
แต่อย่างไรก็ตามถ้า MD โดนก็ไม่แน่นะครับว่าพวกเราเหล่า Mail Server Admin จะไม่โดนหางเลขจาก MD ในข้อหารู้แล้วทำไมไม่บอก หรือทำไม่ไม่รู้ ดังนั้น คำแนะนำของผมก็คือ วันนี้ คุณรู้แล้ว บอกให้เจ้านายคุณทราบไว้ ซะเค้าจะอนุมัติให้เราจัดเก็บข้อมูล ตาม พรบ. นี้หรือเปล่าเป็นเรื่องของเขา

แล้วเราต้องทำอะไรกับ Zimbra Server
ในส่วนของ Zimbra Server  มีเรื่องทีต้องทำสองเรื่องใหญ่ๆ คือ

1) ส่ง log ที่มีข้อมูลการรับส่ง Email ตามกฏหมาย ไปยัง Centralized Log Server
2) ต้อง synchronize เวลาของเครื่อง ให้ตรงกับเวลามาตรฐาน

ในครั้งถัดไปผมจะพูดถึงการ setup  Zimbra Server ให้สามารถส่ง log ของ email ไปยัง Centralized Log Server ตามข้อ 1  ครับ ว่าต้องทำอย่างไรบ้าง

ในระหว่างนี้ถ้ามีคำถาม เกี่ยวกับ พรบ. คอมพิวเตอร์ สอบถามผมมาได้ครับ หรือใครต้องการตัว พรบ. ตัวจริงไปอ่านฆ่าเวลา ขอมาที่ผมได้ครับ email มาที่ siwat@xsidekick.com ผมมีเก็บไว้อยู่

เจอกันในบทความหน้าครับ

วันพุธที่ 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 ให้เป็นไปตามค่าที่กำหนด เป็นต้น 

วันพฤหัสบดีที่ 12 มิถุนายน พ.ศ. 2557

การติดตั้ง Open DKIM เพื่อใช้กับ Zimbra Open Source

(หมายเหตุ บทความนี้เป็นบทความที่คุณปิตุรักษ์ รอดโต บริษัท dragonhighspeed ได้ส่งมาให้ผมช่วยเผยแพร่ ทาง ThaiZimbra ขอขอบคุณมา ณ.ที่นี้ครับ ผมได้แก้ใขคำผิดหรือตกหล่นนิดหน่อย โดยพยายามให้เนื้อหาคงเดิมเหมือนที่ผู้เขียนส่งมา เท่าที่อ่านดู เหมือนทางผู้เขียนอ้างอิงจากการ setup บน ubuntu และเป้นการ setup บน  Zimbra version ที่ตำกว่า V8  สำหรับท่านที่ใช้ CentOS Linux และใช้  Zimbra 8 อยู่ ถ้ามีโอกาส ผมจะเขียนวิธีการติดตั้งให้ครับ  ... ศิวัฒน์ )


DKIMเป็นเทคโนโลยีการตรวจสอบความถูกต้องของอีเมล์โดยจะช่วยเพิ่มประสิทธิภาพในการป้องกันอีเมล์ปลอมแปลงสแปม (Spam)และฟิชชิ่ง(Phishing)แนวทางนี้จะใช้การเข้ารหัสด้วยคีย์สาธารณะ(Public Key)เพื่อให้ผู้ใช้สามารถตรวจสอบและรักษาความครบถ้วนสมบูรณ์ของข้อความอีกทั้ง ระบุข้อความที่ถูกต้องได้อย่างชัดเจนเทคโนโลยี DKIMจะใช้Internet's Domain NameSystem (DNS) ในลักษณะเดียวกันกับDomainKeys นอกจากนั้นDKIMยังใช้ประโยชน์จากเทคโนโลยีลายเซ็นรับรองเฮดเดอร์ของIdentified InternetMail ที่จะช่วยรักษาความสม่ำเสมอของลายเซ็นในขณะที่ข้อความถูกส่งผ่านเครือข่าย

ขั้นตอนการติดตั้ง
ติดตั้ง Opendkim
ตั้งค่า DKIM และ DNS Server
Config ให้ Zimbra เรียกใช้ Opendkim

การติดตั้งOpenDKIM ในUbuntu

1) ใช้คำสั่งapt-get installopendkim
2) หลังจากInstallแล้วให้ทำการแก้ไขไฟล์/etc/opendkim.confดังนี้(ให้แทนที่yourdomain.comด้วยโดเมนของคุณและแทนที่ younetip เป็น IPของคุณ)

BaseDirectory/var/run/opendkim
Domain yourdomain.com
InternalHosts younetip,127.0.0.1
KeyFile /etc/mail/dkim/selector.private
Modesv
Selector selector
Socket inet:8891@localhost
SyslogYes
SyslogFacility mail
X-Header Yes


3) ทำการGEN KEY โดยใช้คำสั่ง

opendkim-genkey-d yourdomain.com -D /etc/mail/dkim -s selector
cd/etc/mail/dkim
chmod 440 selector.private

4) ให้ทำการrestart Opendkim
/etc/init.d/opendkimrestart

5) ตรวจสอบการทำงานของOpenDKIMถ้าทำงานแล้วจะเห็นPort 8891
netstat–nlp
ActiveInternet connections (only servers)
ProtoRecv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8891 0.0.0.0:* LISTEN 200/opendkim

6) นำค่าที่อยู่ใน/etc/mail/dkim/selector.txtไปตั้งค่าTXT ในDNS Server

cat/etc/mail/dkim/selector.txt
selector._domainkeyIN TXT "v=DKIM1; g=*; k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHGqIpEn5rfu0KdCxBU+eu21rx2IFsG4/b54yAVaATkd349rZXJhfb1xPdT83g3DfUfXzXai5Y7N2fLMZKky/fsbVaW1s7vzjONKkHjTltFFUfCK+vdH1G2NlwkxqkndRF2VTOMXrVWsFM4S0xl1RTv+xgufxqmzM+Wr4yUXcKZwIDAQAB";----- DKIM selector for yourdomain.com

โดยนำข้อความที่เป็นตัวเอียงตามตัวอย่าง ไปใส่ในDNSServer

7) การตั้งค่าในzimbra โดยตั้งค่าใน/opt/zimbra/postfix/conf/main.cf โดยเพิ่ม/แก้ไขค่าดังนี้

smtpd_milters= inet:localhost:8891
non_smtpd_milters =inet:localhost:8891
milter_default_action = accept

8) แต่เนื่องจากเป็นZimbra OpensourceเวลามีการRestart Serviceแล้วมันจะกลับเป็นค่าเดิมทุกครั้งอันนี้ผมหาวิธีแก้แต่แก้ไม่ได้เลยถ้าใครมีวิธีแก้ก็บอกหน่อยนะครับ
เอาวิธีบ้านๆไปก่อนละกัน คือการเขียนShell Script วางไว้ใน rc.local ดังนี้ผมตั้งชื่อไฟล์ว่า /etc/dkimconfig.sh

while[ 1 ]
do
perl -pi -w -e 's/smtpd_milters=/smtpd_milters=inet:127.0.0.1:8891/g;'/opt/zimbra/postfix/conf/main.cf
sleep 10
done

9) เปลี่ยนให้มันrun ได้
# chmod700 /etc/dkimconfig.sh

10) run ซ่ะ
# /etc/dkimconfig.sh &

11) แล้วเพิ่ม ให้ runทุกครั้งที่restart ใน/etc/rc.local

/etc/dkimconfig.sh &

12) ทำการRestart Service MTAหรือ RestartZimbra

ทดลองส่งไปยังGmail แล้วดูว่ามีTag DKIM หรือยังตัวอย่าง
X-DKIM:OpenDKIM Filter v2.0.2 mail.dragonzimbra.com8615027E14D7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;d=dragonzimbra.com;
s=selector;t=1400746548;
bh=trn5eEARFFcu2CkTbXHzGj0dzTkRSClc57bK1LPK00s=;
h=Date:From:To:Message-ID:Subject:MIME-Version:Content-Type:
Content-Transfer-Encoding;
b=KWo+8wy/C+W05Srp4BHY14ls3dUqO6QFFSMd/8nV4zBE5TWvovLAYM3aBDb9Y/w5o
Nqo4g0vPk5S/kl52kGj59ByhjbZ+xpgj7UmYgR33lmEyVDZU3cC44kcu0s67KEf6BQ
9CjbyhHdDhFD++t0YTgdLLd8wUcywmdMvdEf5NzU=


บทความโดยบริษัทดรากอนไฮสปีด www.dragonhispeed.com

วันพุธที่ 21 พฤษภาคม พ.ศ. 2557

Heartbleed ช่องโหว่ด้านความปลอดภัย ของ OpenSSL บน Zimbra 8 และการแก้ไข

มีรายงานมาได้สักพักใหญ่ๆแล้วครับว่า มีช่องโหว่ด้านความปลอดภัย ที่มีชื่อเรียกกันอย่างเป็นทางการว่า Heartbleed บน OpenSSL package version 1.0.1 ซึ่งในชุดติดตั้งของ Zimbra 8 เองก็มี openssl ซึ่งมีช่องโหว่นี้เช่นกัน

อันตรายที่เกิดจากช่องโหว่นี้
โดยทั่วไปแล้ว OpenSSL  เป็น package ที่เกี่ยวข้องกับการเข้ารหัสของข้อมูล ที่ใช้กันบ่อยๆก็คือ https หรือ secure  http  การติดต่อระหว่าง web server และ web browser ที่คุยกันโดยใช้ https protocol นี้ จะทำให้ข้อมูลที่วิ่งผ่านอยู่ใน Internet ถึงแม้จะมีคนดักฟัง(เก็บ)ข้อมูลที่มีการส่งระหว่าง web browser กับ  web server ไว้ได้ ก็ไม่สามารถจะถอดรหัสเพื่อแปลงเป็นข้อมูลที่เอาไปใช้ประโยชน์ได้ พูดง่ายๆ ก็คือ อ่านไม่ออกนั่นเอง

แต่เนื่องจากช่องโหว่นี้ จะทำให้คนทีดักฟังข้อมูล https สามารถถอดรหัสของข้อมูลที่คุยกันอยู่ได้ โดยอาศัยตัวข้อมูลที่มีการคุยกันนั่นเอง และมีรายงานบางกระแสกล่าวว่า hacker สามารถใช้วิธียิงข้อมูลเป็นชุดเพื่อให้ web server ตอบกลับ และนำข้อมูลที่ตอบกลับ มาวิเคราะห์เพื่อใช้ในการเจาะระบบได้ด้วย

บน Zimbra เองในส่วนของ Admin Console และ Web Console  ก็ใช้  https protocol  เช่นกัน ซึ่งทำให้ https บน  Zimbra 8 ไม่ปลอดภัยอีกต่อไป พูดง่ายๆก็คือ ใช้ https แต่เหมือนใช้ http ธรรมดานั่นเอง

OpenSSL กับ Zimbra 
ชุดติดตั้งของ Zimbra จะมีการนำเอา OpenSSL ไปใส่ไว้ด้วย ซึ่ง OpenSSL ส่วนนี้ จะแยกต่างหากจาก OpenSSL ที่ถูกติดตั้งจาก package  ของ Linux  OS เช่น ถ้าเป็น Redhat หรือ CentOS package จะเป็น format rpm  ดังนั้นถึงแม้จะมีการ upgrade openSSL บน Linux แล้ว ก็ยังต้องมีการลงชุด upgrade  OpenSSL หรือ patch  ของ Zimbra ด้วยครับ

แก้ไขโดยการลง Patch จาก Zimbra
ปัญหานี้ เกิดกับ Zimbra 8  เท่านั้นนะครับ ดังนั้น ผู้ที่ดูแล Zimbra 8 อยู่ จะต้องลง patch โดยก่อนจะลง patch  นี้ ทาง Zimbra บอกว่า ต้อง upgrade เป็น Zimbra 8.0.3 ขึ้นไปก่อนนะครับ เพราะ Zimbra 8  ใน version ก่อน 8.0.3 นี้มี bug ตามที่ผมเคยเขียนบทความเรื่อง Zimbra 7 และ Zimbra 8  มีช่องโหว่ถูก hack ได้ไปแล้ว ซึ่ง bug นี้ ส่วนตัวผมคิดว่ารุนแรงกว่า heartbleed นี้อีก และมีหลายๆที่โดนไปแล้ว

การลง patch มีสองวิธีครับ

แบบที่ 1 : เครื่อง Zimbra เชื่อมต่อออกไป  Internet ภายนอกผ่านทาง port 80 ได้
Zimbra Server ต้องเชื่อมต่อกับ internet ผ่านทาง port 80 ได้ และต้อง login หรือ su เป็น root (su - root) ที่  linux ก่อนนะครับ แล้ว ทำตามขั้นตอนนี้ได้เลย

1) wget http://files.zimbra.com/downloads/security/zmopenssl-updater.sh
2) chmod a+rx zmopenssl-updater.sh
3) ./zmopenssl-updater.sh

 ---------------------
 [Generates the following output]
 Downloading patched openssl
 Validating patched openssl: success
 Backing up old openssl: complete
 Installing patched openssl: complete
 OpenSSL patch process complete.
 Please restart Zimbra Collaboration Suite as the Zimbra user via zmcontrol
 restart
 ---------------------
4) su - zimbra
5) zmcontrol restart
ขึ้นตอนสุดท้าย จะเป็นการ restart zimbra นะครับ

หมายเหตุ ในเครื่องจะต้องมีคำสั่ง wget อยู่นะครับ (ขั้นตอนที่ 1)

แบบที่ 2 : เครื่อง Zimbra ต่อออก Internet port 80 ไม่ได้
แบบนี้ ต้อง  download  patch มาลงที่เครื่องเอง ซึ่งต้อง login หรือ su เป็น root (su - root) ที่ Linux ก่อนเช่นกัน

ขึ้นตอนคือ

1) download patch มาลง ตาม URL  อันใดอันหนึ่ง ตามรายการ นี้ครับ โดยต้องเลือก patch  ที่สัมพันธ์กับ  distribution ของ Linux และ version ของ Zimbra  ที่ลงบนเครื่อง zimbra ด้วย รูปแบบคือ

http://files.zimbra.com/downloads/8.0.N_GA/openssl/linux-type/openssl-1.0.1d.tgz

โดยแทนที่ N ใน 8.0.N_GA ตาม  release ของ  zimbra ที่ใช้อยู่ ด้วย 3,4,5,6 หรือ 7

และแทนที่ linux-type ด้วย ชื่อ distribution  และ version ตามรายการนี้
SLES11_64
UBUNTU10_64
UBUNTU12_64
RHEL6_64

ตัวอย่างเช่น ถ้าเป็น Zimbra 8.0.4 บน Ubunto12 64 bit, URL จะเป็น

http://files.zimbra.com/downloads/8.0.4_GA/openssl/UBUNTU12_64/openssl-1.0.1e.tgz

ถ้าเป็น Zimbra 8.0.7  บน Redhat6 (หรือ CentOS6) จะเป็น
http://files.zimbra.com/downloads/8.0.7_GA/openssl/RHEL6_64/openssl-1.0.1d.tgz

เสร้จแล้ว upload ขึ้นไปไว้บน Linux ให้อยู่ใน /tmp

2) login หรือ su เป็น root ที่  Linux
3) cd /opt/zimbra
4) mv openssl-OLDVERSION openssl-OLDVERSION.brokenheart
5) tar xfz /tmp/openssl-NEWVERSION.tgz

6) su - zimbra
7) zmcontrol restart

คำแนะนำสุดท้าย ถ้าเป็นไปได้ ทดลองลง patch ที่เครื่องทดสอบก่อนนะครับ โดยติดตั้ง Zimbra version เดียวกันกับตัวทีใช้งานจริงอยู่ที่เครื่องทดสอบ และลงลง patch  ตามขั้นตอนที่กล่าวมา หลังจากนั้นลอง restart Zimbra ตัวทดสอบนี้ ถ้า Zimbra restart แล้วไม่มีปัญหา ทดลอง login ทั้ง web console หรือ admin console โดยใช้ https ได้ แล้วค่อยทำที่เครื่องจริง ยกเว้นว่าคุณมั่นใจ จะลงที่ Zimbra ที่ใช้งานจริงเลยก็ได้ แต่เกิดอะไรขึ้นมา จะว่าผมไม่เตือนไม่ได้นะครับ

สงสัยตรงจุดไหน สอบถามมาได้ครับ

ที่มา
http://heartbleed.com
https://www.zimbra.com/forums/announcements/70921-critical-security-advisory-patch-openssl-heartbleed-vulnerability.html

Trusted network / วิธีกำหนดให้ Email Client บางเครื่องต้อง Authen เมื่อจะส่ง Email ผ่าน Zimbra Server

โดยปกติ องค์กรที่ใช้ Zimbra เป็น Mail Server  ถ้ามีการใช้ควบคู่ไปกับ Email Client เช่น Outlook หรือ Thunderbird  การส่ง Email ออกไปภายนอก เราจะ config ที่ Email Client โดยระบุให้ Email ที่จะส่งออก ให้ส่งไปยัง  Zimbra เป็นคนส่งต่อให้อีกทอดหนึ่ง (Relay) โดย เราต้องกำหนดที่ Config ของ Email Client  ในส่วนของ  SMTP Server ของ Email Client นั้นๆ

เพื่อความปลอดภัย เราควรจะกำหนดให้ Email Client ที่จะใช้เครื่อง Zimbra ของเรา ส่ง Email ต่อออกไปให้นั้น ต้องทำการ Authentication (ต้องระบุ user และ password ด้วย) โดยใช้ User และ Password ของ account บนเครื่อง Zimbra  การทำแบบนี้  คนภายนอก โดยเฉพาะพวกนักส่ง spam จะไม่สามารถแอบมาใช้เครื่อง zimbra ของเรา ใช้ในการส่ง email  หรือ spam ได้

แต่อย่างไรก็ตาม หลายคนอาจจะมองว่า วิธีนี้จะทำให้เกิดความไม่สดวกกับคนบางกลุ่ม เราควรจะเซตให้เฉพาะ Email Client ที่เชื่อมต่อกับ Zimbra มาจาก network ภายนอกองค์กรจะต้องทำการ Authen เพื่อส่ง Email เท่านั้น ส่วน Email Client ที่เชื่อมต่อมาจาก Network ภายในองค์กร ไม่จำเป็น เพราะมีการรักษาความปลอดภัยดีพออยู่แล้ว

เราเรียก network ที่เครื่องที่อยู่ใน network นั้น ส่ง email ออกไปยัง domain ภายนอก ผ่านทาง Zimbra ได้ โดยไม่ต้อง authentication ว่า trusted network ครับ

เราสามารถกำหนด trusted network ที่ Zimbra ให้ทำตามความต้องการข้างต้นได้ครับ

ขั้นตอนการ setup
เริ่มต้น ก็ต้อง  Login Admin Console (https://.... :7071)  ครับ

   1. จากเมนู เลือก Configure -> Servers -> เลือกชื่อ host ของ Zimbra ของเรา หน้าจอจะมาที่หน้า ตามรูป


   2. เลือก MTA
   3. แก้ไขค่า ในส่วนของ Authentication
       3.1 ) Enable Authentication ให้ติ๊กถูกตรงนี้ เป็นการกำหนดให้ Email Client ที่จะใช้ เครื่อง Zimbra ของเรา ทำการส่ง Email ต่อให้กับ Domain อื่นที่ไม่ได้อยู่ในเครื่อง Zimbra  (Relay Email) ต้องมีการระบุ User และ Password ด้วย
       3.2) TLS Authentication Only  ถ้าต้องการ authen แบบ TLS เท่านั้นคือ ระบุว่า ให้ Email Client ต้องเข้ารหัสข้อมูลที่ใช้ในการ Authen ให้กับเครื่อง Zimbra ทาง SMTP protocol ด้วย
       ถ้าเรากำหนดตรงจุดนี้ เราต้องกำหนดที่ Email Client ให้ Authen โดยใช้  TLS เหมือนกันด้วยนะครับ

หมายเหตุ ถ้า Email Client สามารถ Set up ให้ใช้  TLS Authentication ได้ ผมแนะนำให้กำหนดตรงนี้ด้วย เพราะถ้าไม่ทำ ผู้ไม่หวังดีจะสามารถแอบดู User และ Password ที่คุยกันระหว่าง Email Client และ Zimbra Server โดยดูจากข้อมูลที่วิ่งในระบบ network ได้

   4. MTA trusted network ในส่วนนี้ ใส่เฉพาะ network ที่เราต้องการให้ Email Client ที่อยู่ใน network เหล่านี้ "ไม่ต้อง Authen"  ปกติ default จะเป็น network เดียวกันกับที่ zimbra อยู่  ค่าทีใส่ จะเป็น Network ภายในขององค์กรครับ โดยจากตัวอย่างคือระบุ Network แบบ  CIDR คือ network address/subnet bit
     ถ้าในองค์กรมีหลาย Network ให้ใช้ space เป็นตัวคั่นระหว่าง Network ที่ระบุครับ

หมายเหตุ ค่า default ของ trusted network จะเป็น 127.0.0.1 และ network ที่ Zimbra server เกาะอยู่  อย่าไปเอาออกนะครับ ไม่งั้นจะ save ไม่ได้ ถ้าต้องการเพิ่ม  trusted network เพิ่มจากค่า default ที่มีมาให้ครับ

   5. เสร็จแล้วกด Save

ถ้ากำหนดตามขึ้นตอนข้างต้น Email Client ที่จะส่ง Email ออกไปยัง Email address  ที่อยู่ใน Domain อื่น นอกเครื่อง Zimbra ของเรา ถ้าอยู่ใน Trusted Network ไม่ต้อง Authen ครับ แต่ถ้าอยู่นอก Trusted Network ต้องทำการ Authen

จุดประสงค์ของการทำแบบนี้ เพื่อป้องกันไม่ให้คนอื่นทีไม่มีสิทธิใช้งาน Zimbra Server ของเรา ส่ง Email  ไปที่อื่น ซึ่งปกติคนที่ทำเช่นนี้ ต้องการส่ง spam ครับ ดังนั้น การกำหนดแบบนี้ เป็นการป้องกันมิให้คนภายนอกใช้เครื่อง Zimbra Server ของเราส่ง SPAM ซึ่งวิธีการ ส่ง Spam แบบนี้ เรียกว่า Spam Relay ครับ

ข้อจำกัดของการใช้ trusted network
1) วิธีการนี้ ไม่ป้องกันการส่ง Spam จากเครื่องใน  Trusted Network นะครับ ที่เคยเห็นก็คือ เครื่องใน Trusted Network ติด Virus หรือ Trojan ที่ทำการส่ง Spam ออกไปภายนอก  ซึ่งวิธีการนี้ ป้องกันไม่ได้
2) การใช้ trusted network จะป้องกันในกรณีที่ ใช้ zimbra เราทำ Mail Relay คือส่งต่อไปยัง domain อื่น นอกเหนือกจากที่มีในเครื่อง zimbra ของเราเท่านั้น
แต่ถ้าส่งมายัง domain ที่อยู่ในเครื่อง zimbra ของเราโดยตรง วิธีนี้ไม่ได้กันนะครับ ต้องใช้วิธีอื่น

วันอาทิตย์ที่ 18 พฤษภาคม พ.ศ. 2557

เขียน Email ในรูปแบบ HTML

มีหลายๆท่านที่ติดตาม ThaiZimbra ได้มีคำถามถามมาทำนองว่า จะเขียน Email โดยเปลี่ยนสี ตัวอักษรใน Email ได้อย่างไร หรือ จะเขียน email แล้วให้มี link ในข้อความ ที่ผู้รับปลายทางสามารถกด link ที่ข้อความ เพื่อเปิด web browser ไปยัง link ที่ในใส่ไว้ได้อย่างไร

คำถามประเภทนี้ คำตอบอยู่ที่เดียวกันครับ เราสามารถทำได้โดยการเขียน Email ในรูปแบบ HTML แทนที่จะเป็น text ธรรมดา

การเขียน Email  ในรุปแบบ HTML
โดยปกติแล้วเวลาเราจะเขียน Email ในรูปแบบ text แต่ถ้าเราต้องการเลือกให้เขียน email แบบ html ทำได้ตามขั้นตอนตามนี้ครับ
หลังจาก เราเลือก New Mail เพื่อเขียน Email จะมี Compose Tab เปิดขี้นมา

1)  กดที่ ปุ่ม Options
2)  เลือก Format As HTML

ทำตามนี้ สังเกตุว่าจะมี WYSIWYG toolbar ปรากฏขึ้นมาให้เห็นตามรูปครับ เราสามารถเลือกที่จะใส่ลูกเล่นใน email ของคุณได้ครับ เช่น เปลี่ยนสี  เปลี่ยนขนาด เปลี่ยน font ใส่ link  และ อื่นๆ จาก toolbar นี้ได้

ลองนำไปใช้งานดูนะครับ

วันจันทร์ที่ 12 พฤษภาคม พ.ศ. 2557

update config บน Zimbra โดยใช้ คำสัง flushcache

ผมคิดว่าหลายๆครั้งที่พวกเราเหล่าผู้ดูแลระบบ Zimbra  เคยเจอว่า ทำไมบางทีแก้ไข config ของ  Zimbra แล้วเหมือนไม่มีอะไรเปลี่ยน  restart zimbra แล้วก็ไม่เปลี่ยน ต้องรอสักพัก
ที่เป็นเช่นนี้ สาเหตุก็เพราะ config ของ zimbra บางส่วนถูกเก็บอยู่ใน LDAP ซึ่ง ตัว LDAP เองจะอ่านข้อมูลที่ถูกเก็บไว้ใน cache ของ LDAP ประเด็นคือ เมื่อเรา update config ลงไปที่ LDAP เรียบร้อย แต่ cache ของ LDAP ไม่ได้ถูก update ทันที ต้องรอสักพัก

แล้วจะทำยังไง ถึงจะสั่งให้ cache ของ  LDAP อ่านข้อมูลที่เราเพิ่งจะแก้ไขไป
บน zimbra เราสามารถทำได้ครับ โดยใช้คำสั่งของ zimbra ที่ชื่อ zmprov ครับ

ขั้นตอนมีตามนี้ครับ
1) login Linux ของเครื่อง Zimbra ของเรา โดยสุดท้ายต้องเป็น user ที่ชื่อ zimbra
สำหรับคนที่ยังไม่รู้วิธีการเข้าไปเรียกใช้ คำสั่งของ zimbra ผ่านทาง command line อ่านที่บทความนี้ครับ

2) เรียกใช้คำสั่ง flushcache ตามรูปตัวอย่าง



เท่านี้ก็เรียบร้อยครับ

ที่จริง flushcache ยังมี option อื่นๆ นอกเหนือจาก "all" ครับ ถ้าสนใจ ลองศึกษาเพิ่มเติมดูครับ

หมายเหตุ การแก้ไข config บางอย่าง ต้องการการ restart zimbra นอกเหนือจากการ flushcache นะครับ การ flushcache แต่เพียงอย่างเดียวไม่ได้รับประกันว่า Zimbra จะรับทราบถึง  config ที่เปลี่ยนไปในทุกกรณีนะครับ


ศิวัฒน์ ศิวะบวร 

วันจันทร์ที่ 28 เมษายน พ.ศ. 2557

Set whitelist แก้ปัญหาส่ง email domain เดียวกัน แล้วติด spam

บางคนเคยเจอปัญหาว่าส่ง Email โดยคนส่งกับคนรับ อยู่ใน domain เดียวกัน และ domain นี้ดันอยู่บนเครื่อง  zimbra ของเราเอง ซะด้วย แต่เมล์ที่ส่ง zimbra ดันคิดว่าเป็น spam ซึ่งไม่สมควรจะเป็น จะแก้ปัญหาอย่างไร

วิธีแก้ปัญหา ก็คือ ต้องบอก zimbra ว่าเมล์ที่ส่งมาจาก domain  นี้ เข้าเครื่องของเรา ไว้ใจได้ ไม่เป็น spam  ซึ่ง วิธีการนี้เรียกว่า การสร้าง white list ให้กับ domain นี้ครับ

ผมเคยเขียนบทความเรื่อง การกำหนดให้ Zimbra Block (หรือไม่ Block) Email ให้กับทุก account ใน Zimbra server ซึ่งในบทความนี้ จะพูดถึงการสร้าง white list อยู่ ใช้วิธีการเดียวกันครับ เพียงแต่ชื่อ domain ที่ใส่ไว้ใน whitelist เป็นชื่อ domain ที่อยู่บนเครื่อง zimbra ของเราแทน

ลองกลับไปอ่านดูนะครับ

วันอาทิตย์ที่ 27 เมษายน พ.ศ. 2557

Error in Database Integrity check report email


โดยปกติ Zimbra จะมีระบบตรวจสอบตัวระบบของ Zimbra เอง โดยจะส่งเป็น Email ไปหา Account ที่ชื่อ Admin เป็นระยะๆ 
แต่จะมีอยู่เรื่องหนึ่งที่น่าสนใจ คือ จะมี Email  ที่มี (Subject) หัวข้อ 
Database Integrity check report for your.domainname.com 
เนื้อหาใน E mail จะมีหน้าตาประมาณนี้ครับ 
Running /opt/zimbra/libexec/zmdbintegrityreport display the followingDatabase errors found./opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S    /opt/zimbra/db/mysql.sock -A -C -s -u root --password=XXXXXXXXmysql.general_logError : You can't use locks with log tables.mysql.slow_logError    : You can't use locks with log tables.
ถ้าเจอ email  ที่มีข้อความแบบนี้ ส่งมาให้ admin  ก็ไม่ต้องตกใจไปนะครับ เท่าที่ผมลองค้นดู เป็น Bug ของ Mysql ครับ 

http://bugs.mysql.com/bug.php?id=30487

เท่าที่ดู Mysql เองก็รับทราบ แต่ยังไม่ได้มีแผนจะแก้ปัญหานี้ 

ที่จริงมีคนเคยถามคำถามนี้กับผมนานแล้ว เท่าทีทราบจะพบใน Zimbra V7   แต่ก็ยังมีคนถามมาเรื่อยๆครับ เลยเอามาเขียนเป็นบทความซะดีกว่า จะได้ทราบโดยทั่วกัน 

วันพฤหัสบดีที่ 24 เมษายน พ.ศ. 2557

ป้องกันการถูก hack account สำหรับ Email Address ชื่อมาตรฐาน บน zimbra

photo from : hackronomicron (c) 2014 http://www.hackronomicon.com

ในองค์กรส่วนใหญ่ จะมี Email อยู่กลุ่มหนึ่งที่จะถูกเผยแพร่ออกไปในวงกว้าง เช่น

sales@mydomain.com  
support@mydomain.com
info@mydomain.com

เห็นชื่อก็คงพอเดากันได้นะครับ ว่าใช้ทำอะไร ผมเรืยก Email Address พวกนี้ว่า เป็น  Email address ชื่อมาตรฐาน ซึ่ง Email address เหล่านี้ เป็นเป้าหมายอันดับต้นๆ ของเหล่า hacker หรือ spammer ที่จะทำการเจาะระบบ หรือ hack  account

ซึ่งวิธีการ hack ก็ง่ายๆครับ ลอง login (โดยใช้โปรแกรมสำหรับ hack account) ผ่านทาง Web client  , pop3 หรือไม่ก็ imap   และโปรแกรมสำหรับ hack จะทดลองใส่ password ตาม list  ของ password ที่คาดว่าใช้กันบ่อยๆ ซึ่งเหล่า hacker จะมี เก็บไว้อยู่แล้ว

ทำไม่ hacker เลือกที่จะ hack email address  ที่มีชื่อประมาณนี้ สาเหตุก็คงเป็นเพราะ
ชื่อหาง่าย บางทีดูจาก website ของ บริษัทก็มีเขียนบอกไว้
หรือถ้าไม่บอก ก็เดาเอาก็ยังได้ ชื่อมาตรฐานอยู่แล้ว
คำถามที่ตามมาก็คือ แล้วเราควรจะทำอย่างไร กับ Email จำพวกนี้ ไม่ให้ถูก hack

วิธีการป้องกัน
สำหรับ Zimbra มีวิธีการป้องกันและแก้ไข ตามนี้ครับ

1.  อย่างสร้าง Account  บน Zimbra โดยใช้ชื่อพวกนี้ ให้สร้างเป็น Distribution List (DL) แทน และให้ Forward email ที่ถูกส่งถึง Email Address  เหล่านี้ ไปยัง Email Address ของผู้ที่รับผิดชอบแทน
    สาเหตุที่เราทำแบบนี้ เพราะ บน Zimbra เราไม่สามารถใช้ชื่อ DL ในการ Login ได้ครับ ดังนั้น เราไม่ต้องกังวลเรื่อง password จะเดาได้ง่ายหรือเปล่าด้วย เพราะยังไงก็ login โดยใช้ DL  ไม่ได้อยู่แล้ว

2. อย่างสร้าง Alias Email โดยใช้ชื่อพวกนี้ เพราะใน Zimbra  เราสามารถ Login โดยใช้ Alias แทนชื่อ Account ได้ด้วย แต่เรา Login โดยใช้  DL ไม่ได้

สำหรับในข้อ 1 คือการใช้ DL จะมีข้อดีคือ เราสามารถ Forward Email ที่ถูกส่งมาถึง Email Address เหล่านี้ ไปยังหลายๆ คนได้ด้วย และเรายังสามารถ เปลี่ยน Email Address เป้าหมายที่จะ forward ไปได้ โดยไม่ต้องยุ่ง กับ Account เป้าหมาย

Side Effect ที่เกี่ยวข้องกับ Failed Login

นอกจากนี้ บางองค์กร แก้ปัญหา hacker พยายาม login โดยการเดา password  โดยกำหนด  Failed Login Policy ว่าถ้ามีการ login ผิดติดกัน แล้วระบบ จะ Lock ไม่ให้ login ได้ชั่วคราว ต้องให้ Admin ปลด lock

ถ้าเรากำหนดให้ Email Address  ชื่อมาตรฐานเหล่านี้ใหั Login ได้ และมีคนพยายามจะ hack account พวกนี้ ถึงแม้จะเดา password ไม่ถูก แต่  account ที่มีชื่อมาตรฐานเหล่านี้ จะถูก lock ตาม policy ที่เราตั้งไว้บ่อยมาก เป็นที่น่ารำคาญ เพราะทำให้วันๆ Zimbra Admin  ไม่ต้องทำอะไร คอยตามปลด lock ซึ่งเกิดจากฝีมือของ hacker

ซึ่งในกรณีนี้ การแก้ปัญหา โดยใช้ DL แทน ก็ช่วยได้เหมือนกันครับ

หวังว่าคงได้ประโยชน์ จากบทความนี้กันนะครับ

ความสามารถ Autocomplete รายชื่อคนที่จะส่งถึงใน Zimbra

สำหรับคนที่ใช้  Zimbra Web Client และ Zimbra Desktop  เคยสังเกตุไหมครับว่าเวลาที่เรากำลังจะป้อนชื่อผู้รับ (TO: หรือ CC:) ในระหว่างที่กำลังเขียน email  Zimbra จะช่วยหารายชื่อที่ใกล้เคียงกับที่เราได้พิมพ์ลงไปแล้วให้ด้วยเราได้พิมพ์ลงไปแล้วให้ด้วย

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




จากรูปผมกำลังจะเขียน email ระหว่างที่กำลังป้อนชื่อผู้รับ โดยผมป้อนแค่ ch ในช่องหลังปุ่ม TO:
เท่านั้น   Zimbra จะเปิดหน้าต่างเล็กๆ แสดงรายชื่อของคนที่มีชื่อ หรือ นามสกุล หรือ email address ขึ้นต้นด้วย "ch" ที่อยู่ในรายชื่อที่เก็บไว้ในระบบ ความสามารถนี้ เราเรียกว่า autocomplete


Zimbra หารายชื่อจากที่ไหน
โดยปกติ Zimbra จะค้นหารายชื่อเพื่อทำ autocomplete ที่จากสองแหล่งคือ

1) ข้อมูลที่ถูกเก็บไว้ใน address book ของ account ของเรา  บน Zimbra
2) ข้อมูลของ account อยู่ใน domain เดียวกันในเครื่องของเรา

จากรูปตัวอย่าง account  ของผม อยู่ใน domain ที่ชื่อ xzimbra.com มันเลยคนหาเฉพาะ account xzimbra.com ในเครื่อง
สำหรับข้อ 2) เป็นกรณีปกติ (default) แต่ถ้าในเครื่องมีหลาย domain และเราต้องการให้ทำ autocomplete ข้าม domain  กันได้ ก็สามารถทำได้ครับ แต่ต้องมีการ setup เพิ่มเติม

ข้อจำกัด
1) ความสามารถนี้ จะมีก็ต่อเมื่อ ใช้ Web Client ของ Zimbra หรือ ใช้ Zimbra Desktop เป็น Email Client เท่านั้นนะครับ สำหรับคนที่ใช้ pop3 หรือ imap client อื่นๆ  ต่อกับ zimbra เพื่อใช้งาน จะไม่สามารถ  autocomplete จากรายชื่อ account ที่อยู่ใน domain เดียวกัน บนเครื่อง zimbra ได้ครับ

2) บางครั้งผมเจอว่าในกรณีที่เครื่อง PC ที่ต่อใช้งาน Zimbra ช้า หรือ ตัว Network ระหว่างเครื่อง  PC  กับ  Zimbra Server ไม่เร็วพอ การทำ autocomplete จะช้าครับ คือต้องรอนานกว่า Zimbra จะ list รายชื่อมาให้แบบรูปตัวอย่าง

ลองทดสอบและใช้งานดูนะครับ

วันจันทร์ที่ 10 กุมภาพันธ์ พ.ศ. 2557

ทำไม่ add account ใน zimbra แล้ว หาชื่อไม่เจอเวลาจะส่ง Email (Force Galsync Update)

มีคำถาม ถามเข้ามาเยอะครับ ว่าเวลาเราเพิ่ม account ใหม่เข้าไปใน zimbra แล้ว  หลังจากนั้น ถ้าเราพยายามหาชื่อ account ที่เพิ่งถูกเพิ่มเข้าไปในระบบนี้  โดยกดที่ ปุ่ม TO: หรือ CC: หรือ autocomplete (ป้อนชื่อบางส่วน แล้ว zimbra จะ list ชื่อที่เป็นไปได้ให้) ในหน้าจอที่เราเขียน email   ทำไมไม่เจอทันที ต้องรอพักใหญ่ๆ (มีคนเคยสังเกตุว่า ประมาณสี่ชั่วโมงหลังจากที่ add account ไปแล้ว)

ที่เป็นอย่างนี้ก็เพราะ เวลาผู้ใช้ หา list ของ email account ในระบบผ่านทางวิธีการข้างต้น มันจะไม่ได้ไปหาในส่วนที่เก็บข้อมูลของ account ของ  Zimbra โดยตรง แต่จะไปหาที่ข้อมูลอีกที่หนึ่งที่เรียกว่า galsync account  โดย galsync account นี่จะ sync กับรายชื่อ account ของ zimbra เป็นช่วงๆ

ที่ zimbra ต้องทำอะไรยุ่งยากแบบนี้ ผมเดาว่า เพื่อให้การทำงานเวลาที่ user หารายชื่อ โดยใช้วิธีการที่กล่าวมา เร็ว และไม่กิน performance โดยรวมของเครื่อง Zimbra server

ที่นี้บางคนอาจจะยังวัยรุ่น (ใจร้อน) อยากจะ add account ปุ๊บ user หาเจอปั๊บ ก็ทำได้ครับ แต่ต้อง command line เท่านั้นนะจ๊ะ

เริ่มต้นด้วยการ Login linux และ switch user เป็น  zimbra  สำหรับขั้นตอน ดูตาม<a href="http://thaizimbra.blogspot.com/2014/01/zimbra-command-line.html">บทความนี้</a>

หลังจาก login และ switch user เป็น zimbra แล้ว ใช้คำสั่ง  zmgsautil

zmgsautil forceSync -a galsync_account -n datasource_name


แทนค่าของ galsync_account กับ datasource_name  โดยดูจากข้อมูลของ Domain ซึ่งสามารถดูได้ จาก Admin console ตามขั้นตอนนี้ครับ

1) Login Zimbra Admin Console (https://.... :7071)
2)  Configure >> Domain
3) เลือก ชื่อ Domain
4) Edit Domain โดย double click ที่ชื่อ โดเมน
5) เลือก GAL จะเห็นหน้าจอ ตามรูป
6) ดูที่กรอบที่หัวข้อเขียนว่า  Gal Account  แล้วดูที่บรรทัด
GAL sync account name กับ  Datasource name for internal GAL



หมายเหตุ
1) แต่ละ domain ใน zimbra จะมีค่า GAL sync account กับ Datasource Name ไม่เหมือนกันนะครับ ของใครของมัน
2) ปัญหา รายชื่อ ใน galsync ไม่ update ทันที่นี้  จะเป็นกับ resource account (เช่น Device หรือ Meeting room) ใน zimbra ด้วยครับ


Zimbra Tag ตอนที่ 3: การติด Tag และการลบ Tag ให้กับ Email

บทความก่อนหน้านี้  ผมได้พูดถึงการสร้าง tag ใหม่ ใน Zimbra ถึงตอนนี้ ผมจะบอกถึงวิธีการใช้งาน tag ซึ่งจะประกอบไปด้วย การติด tag และการลบ tag ครับ

ขั้นตอนการติด tag
วิธีที่ 1 :จากเมนู
1) ใน mail tab เลือก email ที่ต้องการติด tag
2) คลิ๊กเมาส์ปุ่มขวา เพื่อเปิดเมนู
3) เลือก Tag Message
4) เลือก Tag ที่ต้องการติด



วิธีที่ 2 : Drag and Drop
ลาก tag จากช่อง Tags ใน Overview Pane ทางด้านซ้ายของจอ ไปวางที่ email ที่ต้องการติด tag
ในช่อง Content Pane หรือที่เรียกกันว่า drag and drop


หมายเหตุ:  email หนึ่งฉบับ เราสามารถติดหลายๆ  tag ได้ครับ

สำหรับท่านที่ไม่รู้ว่า Overview Pane , Content Pane คืออะไร อ่านบทความเก่าของผมเรื่องการเปลี่ยนมุมมองใน Mail Tab ได้ครับ มีอธิบายไว้

ขั้นตอนการลบ tag ที่ถูกติดไว้ 
วิธีที่ 1 : จากเมนู
วิธีการในขั้นตอนที่ 1-3 จะเหมือนกันการติด tag จากเมนูครับ จะแตกต่างในขั้นตอนที่
4) คือเลือก  Remove tag แทน


หมายเหตุ: ในกรณีที่ email นั้นมีหลาย tag เราสามารถเลือกลบ บาง tag ได้ครับ
โดยตัวเลือก Remove tag จะมีเครื่องหมายสามเหลี่ยมอยู่ ซึ่งถ้าวางเมาส์ที่ Remove tag จะมี
เมนูย่อยเปิดออกมาอีกชั้น ให้เราเลือกจะลบบาง tag  หรือลบทั้งหมดได้ครับ


วิธีที่ 2 : ลบ จาก Email
วิธีนี้ เมื่อเราเปิด  Email ขึ้นมาอ่าน ใน Reading Pane หรือ double click เพื่อเปิด email ใน tab ใหม่
จะเห็นบรรทัด ที่แสดง tag ของ email นี้ (Tags) เราสามารถกด เครื่องหมายกากบาทหลังชื่อ Tag เพื่อลบ tag ได้ครับ



ตอนนี้เราติด tag ให้กับ  Email ตามที่ต้องการได้แล้ว ต่อไปเราจะมาดูวิธีเลือกดู email ที่ถูกติด tag
ผมขอเป็นบทความหน้าก็แล้วกันนะครับ

วันจันทร์ที่ 27 มกราคม พ.ศ. 2557

แจ้งข่าว zimbra 7 และ zimbra 8 ครับ มีช่องโหว่ถูก hack ได้ครับ

เหตุด่วนเหตุร้าย สำหรับผู้ดูและระบบ (และผู้ใช้)  Zimbra 7 และ Zimbra 8
Zimbra ทั้งสอง version มีช่องโหว่ด้านความปลอดภัยครับ

Hacker สามารถจะ Hack เข้า Zimbra ผ่านทาง Admin console ได้ ซึ่งทำให้ได้สิทธิ  เป็น Admin user ของ zimbra
สร้าง Admin Account ขึ้นมาเองก็ได้ครับ

ระบบที่มีช่องโหว่ 
Zimbra 7 version ก่อน 7.2.3
Zimbra 8 version  ก่อน 8.0.3

จากข้อมูลที่ได้ ไม่ว่า จะ Run Zimbra 7 หรือ 8 บน CentOS  หรือ Ubunto จะมีช่องโหว่นี้ทั้งหมดครับ
ส่วน Zimbra version  5,6 ไม่มีรายงานว่ามีช่องโหว่ครับ

การป้องกันเบื้องต้น
ปิด Port ของ Web Admin Console  (โดยปกติจะเป็น TCP  Port 7071) ไม่ให้สามารถใช้งานจาก Internet  หรือ Network ภายนอก

โดยอาจปิดที่  iptable ของ Linux  หรือ firewall

การแก้ไขถาวร 
Zimbra คาดว่าจะออก patch  มาช่วงกลางเดือนนี้ แต่ถ้าไม่สามารถรอได้
ให้ upgrade Zimbra 7 และ 8 เป็น release ล่าสุด
สำหรับ Zimbra 7  upgrade เป็น 7.2.2 หรือ version ที่สูงกว่า
สำหรับ Zimbra 7  upgrade เป็น 8.0.3 หรือ version ที่สูงกว่า

หมายเหตุ
อย่าประมาทเป็นอันขาดนะครับ จะทำอะไรก็รีบทำ ป้องกันไว้ก่อน  เพราะตัวโปรแกรมที่ใช้ hack สามารถหาได้ใน Internet แล้ว  และช่องโหว่นี้ถูกพบว่าประมาณเดือนนึงแล้ว(ตังแต่ ธันวาคมปี 2556) คาดว่ามีคนโดนไปแล้ว ช้าไปจะไม่ทันการ

มีคำถาม ติดต่อผมได้นะครับ ไม่ต้องเกรงใจ (ผมกลับมาทำงานแล้ว)
แชร์ข้อมูลนี้ได้เลยนะครับ ไม่ต้องขออนุญาติผม กระจายข่าวไปให้กว้างที่สุด เพื่อป้องกันอันตรายที่อาจจะเกิดขึ้น

ต้องขอขอบคุณ คุณปิตุรักษ์ รอดโต ที่แจ้งข่าวมาครับ

ศิวัฒน์ ศิวะบวร



Zimbra Tag ตอนที่ 2 : การสร้าง Tag ใหม่

ในบทความก่อนหน้านี้ ผมได้พูดอธิบายถึงเรื่อง tag ใน Zimbra ไปกันแล้ว ในบทความนี้ผมจะพูดถึงการสร้าง tag ใหม่ใน Zimbra กันครับ

โดยปกติ เวลาเราสร้าง account ใน Zimbra ขึ้นมาใหม่ จะไม่มี tag มาให้นะครับ เราต้องสร้างเอง วิธีการสร้างมีดังนี้ครับ

ขั้นตอนการสร้าง tag
1) ไปที่ ในหน้าจอด้านซ้าย (Overview Pane)  หาส่วนที่เขียนว่า Tags
2) สร้าง tag โดย
    2.1) คลิ๊กเมาส์ที่รูปเฟือง เพื่อเปิดเมนู
    2.2) เลือกหัวข้อ New Tag


3) หน้าจอ New Tag จะเปิดขึ้นมา
    3.1) ป้อนชื่อ tag
    3.2) เลือกสี tag ตามที่ต้องการโดยกดที่เครื่องหมายสามเหลี่ยม (ตามรูป) เพื่อเปิดเมนูเลือกสี

4) กดปุ่ม Ok เพื่อบันทึก tag ที่เราได้กำหนดค่า


เมื่อ tag ถูกเพิ่มเรียบร้อย เราจะเห็น tag ใหม่ อยู่ในช่อง Tags ในส่วนของ Overview Pane ตามรูปครับ

ในครั้งหน้า ผมจะพูดถึงการกำหนด tag ให้กับ email ครับ

วันศุกร์ที่ 24 มกราคม พ.ศ. 2557

การเข้าใช้งาน Zimbra Command Line

ช่วงหลังๆ ผมเขียนบทความ หรือตอบคำถาม เกี่ยวกับ Zimbra Command Line ค่อนข้างบ่อย ทุกครั้ง ผมต้องบอกวิธีการ login เพื่อเป็น zimbra บน Linux ทุกครั้ง

เพื่อให้บทความที่ต้องอ้างอิงถึง  Zimbra Command Line กระชับยิ่งขึ้น โดยต่อไปนี้ เมื่อพูดถึง Zimbra Command Line ผมจะอ้างอิงถึงบทความนี้  และเพื่อจะได้มีพูดถึงเรื่องนี้ได้อย่างเต็มที่ เลยเกิดบทความนี้ขึ้นมา เข้าเรื่องกันเลยดีกว่าครับ

Zimbra Command Line
การดูและระบบ  Zimbra  นอกเหนือจากการ ใช้งาน Admin Console (Login ผ่าน web browser ไปที่ https://zimbra.domain.com:7071) เรายังสามารถใช้ command line โดยก่อนที่จะใช้งาน Zimbra Command Line  ต้อง login ที่ Linux ก่อน ตามขั้นตอนต่อไปนี้ครับ

1) Login Linux
Login ที่ Console ของเครื่อง
Login ผ่านทาง network  โดยใช้ ssh client เช่น putty
2) ในกรณีที่ไม่สามารถ login เป็น root ได้ตรงๆ ให้ ใช้คำสั่ง  "su -" เพื่อทำการ switch user เป็น root ซึ่งปกติ Linux จะถาม root password ด้วย  แต่ถ้าสามารถ login เป็น root ได้ตรงๆ ขั้นตอนนี้ก็ไม่จำเป็น ข้ามไปได้เลยครับ
3) ใช้คำสั่ง "su - zimbra" เพื่อ switch user อีกครั้ง เป็น zimbra user ครับ



หลังจากทำแบบนี้ เราสามารถเรียกใช้คำสั่ง (Command Line) ของ Zimbra ต่อไปได้เลยครับ

จากรูปตัวอย่างนี้ ผมใช้วิธี login ไปที่ zimbra server (zmail) ผ่านทาง network โดยใช้ ssh client บน linux  ซึ่งผมไม่สามารถ login เป็น root ได้ตรงๆ ด้วยเหตุผลด้านความปลอดภัย

หมายเหตุ : ถ้าสงสัยว่าทำไมเราควรจะ set ไม่ให้ login root ผ่าน network ได้โดยตรง และวิธีการ setup ดูได้จากบทความนี้เลยครับ

วันอังคารที่ 14 มกราคม พ.ศ. 2557

Zimbra Tag ตอนที่ 1 : Tag ใน Zimbra คืออะไร

Email Client/Server อื่นๆ ทำอะไรได้  Zimbra ก็ทำได้ ดูเหมือนจะเป็นคำกล่าวที่เกินจริง แต่ส่วนตัวผม จากประสบการณ์ที่ต้องดูและระบบ Zimbra ให้กับลูกค้า ดูเหมือนจะเป็นอย่างนั้นจริงๆครับ ขึ้นอยู่ว่า คุณรู้หรือไม่ว่า Zimbra ทำได้ และ รู้หรือเปล่าว่าจะใช้งานได้อย่างไร

พอพูดถึงเรื่องความสามารถของ Zimbra มีอีกอย่างหนึ่งซึ่ง Zimbra ทำได้ แต่ไม่ค่อยมีคนรู้หรือใช้กัน  คือการติด tag ครับ

Tag ใน Zimbra คืออะไร 
แปลตรงๆก็แปลว่า ป้าย ครับ  เราจะติดป้ายให้กับ email ,  appointment,  contact และ task    ที่มีอยู่มากมายใน account ของเรา เพื่อสะดวกในการแยกแยะ

ตัวอย่างเช่น สร้าง tag ว่า tomorrow สำหรับติด email ที่ต้องการตอบ หรือทำในวันพรุ่งนี้ เป็นต้น

ตามตัวอย่างในรูป เป็น email ที่ได้ถูกติด tag เรียบร้อยแล้ว



คุณสมบัติของ tag
ถึงตรงนี้หลายๆคนคงคิดว่า การ ติด tag เพื่อแบ่งกลุ่มของ email นั้น แตกต่างการการใช้ความสามารถอื่นของ Zimbra เช่น priority หรือ การใช้ email folder อย่างไร

ที่ผมเห็นชัดๆ ตามนี้ ครับ

1) เราสามารถสร้าง tag ได้ตามต้องการ กำหนดชื่อ/สี เองได้
อันนี้จะแตกต่าง กับ  email priority ซึ่ง มีแค่ 3 ระดับ (log, normal, high)

2) เราสามารถกำหนด tag ให้กับ email  ที่เราได้รับได้
ถ้าเป็น priority จะถูกกำหนดมาตั้งแต่ตอนนี้สร้าง email จากคนส่ง เราจะเปลี่ยนเองไม่ได้
แต่  tag เราจะเป็นคนสร้างเอง ใช้เอง

3) email 1 ฉบับ สามารถมีได้หลาย tag
อันนี้จะแตกต่างจากการแบ่งกลุ่มของ email โดย จัดเก็บแยกเข้า folder  ซึ่ง  email 1 ฉบับ จะอยู่ได้แค่ใน folder เดียวเท่านั้น

4) เราสามารถเลือกจะแสดงหรือค้นหาเฉพาะ email ที่มี tag ตามที่เราต้องการได้
จุดนี้คงจะคล้ายๆ กับการใช้ email folder ครับ

5) เราสามารถ tag   contact , appointment, task , และ โดย ใช้ tag ชุดเดียวกันได้

ในครั้งต่อไป ผมจะพูดถึงการสร้าง และการใช้งาน tag กันครับ