วันจันทร์ที่ 8 สิงหาคม พ.ศ. 2559

Zimlet : Plugin ของ Zimbra และการปิดการใช้งาน

Zimlet  คืออะไร 
สำหรับคนที่ยังไม่ทราบ Zimlet ก็คือ Addon หรือ Plugin ของ Zimbra นั่นเองครับ ทำให้เราเพิ่ม feature หรือความสามารถของ Zimbra ได้ โดยไม่ต้องไปแก้ไข source code โดย การพัฒนา Zimlet ขึ้นมาต้องทำตามมาตรฐานการสร้าง Zimlet แต่ยังไงก็ต้องเขียนโปรแกรมอยู่ดี
 มี Zimlet หลายอยู่ตัวถูกติดตั้งมาให้เรียบร้อยตั้งแต่ตอนติดตั้ง Zimbra  และมีอีกหลายๆ ตัวที่สามารถไป download มาติดตั้งเพิ่มเติมได้ (มีคนใจดีเขียนไว้) ซึ่งหาได้จาก 
https://zimbra.org/extend/ แต่การติดตั้งต้องระวังนะครับ ซึ่งผมมีข้อแนะนำดังนี้ 

  1. ดูด้วยว่า Zimlet ที่เราสนใจ ใช้งานได้กับ Zimbra Version ที่เรามีอยู่หรือเปล่า 
  2. ทดลองลงกับเครื่องทดสอบ ก่อนติดตั้งกับ Zimbra ที่ใช้งานจริงๆ
สำหรับข้อ 2 นี้มีเหตุผลครับ เพราะน้องที่บริษัทผมเคยเจอว่า มี Zimlet บางตัว บอกว่าใช้งานกับ Zimbra version ที่เรามีได้ แต่พอลงไป ใช้งานไม่ได้ แถม stop zimbra แล้ว start ไม่ขึ้น  ถอนการติดตั้ง (uninstall) Zimlet ตัวนี้ออกจากระบบก็ยัง start Zimbra ไม่ได้ สรุปเลยต้องลง Zimbra ใหม่ แต่พอดี เป็นระบบทดสอบ ไม่ใช้เครื่องที่ใช้งานจริงๆ เลยรอดตัวไป 

Zimlet หลายๆตัวจะทำงานอยู่หลังฉาก ไม่แสดงตัวให้ผู้ใช้เห็น แต่ก็มีอีกหลายๆ ตัวเช่นกันที่แสดง Icon ออกมาที่หน้าจอ ตามรูปตัวอย่างนี้ครับ 

ตัวอย่าง Zimlet ที่แสดง icon บนหน้าจอ web client ของ Zimbra

จากประสบการณ์ Zimlet ที่มีมาให้หลายๆตัว ก็มีประโยชน์ แต่ก็มีหลายๆตัวที่ไม่ค่อยมีประโยชน์ เวลาที่ผมไปอบรม Zimbra ให้ผู้ดูแลระบบหลังการติดตั้ง  หลายๆครั้งที่มักจะถูกขอร้องให้ปิด Zimlet พวกที่แสดง icon นี้ออกไปเลย (โดยเฉพาะ WebEx กับ Y Emoticons)  เพราะไม่มีประโยชน์และผู้แลระบบก็ขี้เกียจตอบคำถามผู้ใช้ Zimbra ด้วย   

วิธีปิดการใช้งาน (Disable) Zimlet และ ถอนการติดตั้ง
  1. Login Admin Console (https://zimbra_hostname:7071) เสร็จแล้วไปที่ Home -> Configure -> Zimlets 
  2. เลือก Zimlet ที่เราต้องการเปลี่ยนสถานะ 
  3. คลิ๊กเมาส์ขวา เพื่อเปิดเมนู 
  4. เลือก Toggle Status  ซึ่งเลือก option  นี้ จะเป็นการเปลี่ยน status ของ Zimlet สลับไปสลับมาระหว่าง Disabled กับ Enabled  ซึ่ง การ disable คือการกำหนดให้ Zimlet ไม่ทำงาน แต่ยังคงถูกติดตั้งอยู่ในระบบ Zimbra ของเรา ส่วน สถานะของ Zimlet แต่ละตัว ดูได้จาก คอลัมน์ Status 
ขั้นตอนการเปลี่ยน status ของ  Zimlet
แตถ้าเราเลือก option อีกอันคือ Undeploy จะเป็นการ uninstall Zimlet ออกจากระบบครับ 
ทดลองใช้งานกันดูนะครับ 

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

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

Zimbra โดน Hack 2016 (ตอนที่ 1)

ตั้งแต่ช่วงสามเดือนสุดท้ายของปี 2015 ผมพบว่ามีการจู่โจมระบบ Mail Server อีกระลอกหลังจากที่เงียบ หายไปตั้งแต่ต้นปี

จุดประสงค์ของการเจาะระบบก็เหมือนเดิมครับ คือ Hackerพยายามเอาเครื่อง Zimbra หรือเครื่อง Mail Server ของเราเป็นเครื่องส่ง Spam mail แต่มารอบนี้มีกระบวนการที่แนบเนียนและพลิกแพลงไปกว่าเดิม จนทำให้หลุดรอบระบบตรวจจับบางแบบไปได้ด้วย

รูปแบบการเจาะระบบ Mail Server
ก่อนหน้านี้ ถ้าท่านผู้อ่านได้ติดตาม Thai Zimbra จะเห็นบทความที่ผมเขียนได้พูดถึงการพยายามเจาะระบบ Mail Server ของเหล่า Hacker ซึ่งวิธีการก็สรุปได้ไม่กี่แบบคือ

พยายามใช้เครื่อง  Mail Server  เป็น  Spam Mail Relay  คือกลายเป็นเครื่องที่ทำหน้าที่ส่งต่อ  (Relay)   Spam  จากเครื่องต้นทางของ  Hacker
 ระบบ  Zimbra ที่กลายเป็น  Spam Relay  ส่วนใหญ่เกิดกับ  Zimbra  ที่ติดตั้งไม่ถูกต้อง  หรือตัว Zimbra  เองติดตั้งถูกต้องแต่  Config Firewall  ไม่ถูกต้อง  กระบวนการนี้ แทบไม่ต้องเจาะระบบเลย  แค่ลองใช้เครื่อง Mail  Server เป้าหมายเป็น  Spam Relay ถ้าใช้ได้  ก็เรียบร้อย

เจาะมาทางช่องโหว่ของระบบ  เช่น ทางช่องโหว่ทางด้านความปลอดภัยของตัว  Zimbra  หรือระบบปฏิบัติการ  Linux เช่นเข้ามาทาง  port ssh (TCP port 22)

จู่โจมโดยการเดา  Password ของ  Account บน  Zimbra โดยพยายามเจาะ  Account มาตรฐาน  Account  ที่คาดว่าจะมีในระบบ  รวมไปถึงรายชื่อ Account   ที่ได้มาโดยวิธีอื่นๆ  ซึ่งผมเคยเขียนบทความที่เกี่ยวข้องก่อนหน้านี้แล้วครับ   เช่นจากบทความ  http://thaiZimbra.blogspot.com/2013/12/Zimbra-admin.html



รูปแบบการ Brute Force เพื่อ Hack Zimbra แบบปกติ เมื่อเครื่องต้นทางถูก Block   Hacker จะย้ายไป Hack จากเครื่องใหม่แทน 

ที่ผมเน้นในบทความนี้จะเป็นการเจาะระบบแบบสุดท้าย คือการเดา password ซึ่งรูปแบบการเจาะระบบแบบเดิมๆ นี้ Hacker จะพยายาม login โดยใช้ Account  ของ Zimbra ที่ได้มาโดยวิธีการใดวิธีการใดวิธี การหนึ่ง  โดยปกติ ช่องทางการเจาะระบบ Email จะเข้ามาทาง web client (TCP port 80 หรือ 443),  pop3(s), imap(s) , smtp , และถ้าเป้าหมายเป็น  Zimbra จะเพิ่มช่องทางคือ Admin Console (TCP port 7071)ไปด้วย โดยใช้โปรแกรมที่เขียนขึ้นมาพิเศษทำการทดลอง login เข้ามาตามช่องทางเหล่านี้ ส่วน Password ที่ใช้ในการ login จะได้จากเดาได้จากรายชื่อ Password ที่น่าจะเป็นไปได้ซึ่ง Hacker จะมี list ของ password เป็นหมื่นๆคำ

วิธีนี้ในวงการเรียกว่า Brute Force ครับ

Brute Force แบบเดิมๆ
จากข้อมูลที่ผมได้รับ รูปแบบการ Brute Force (หรือที่บางคนเรียกว่าถูกยิง) ที่ใช้กันก่อนหน้านี้สรุปลักษณะที่เหมือนๆกันได้ดังนี้  คือ

1) Brute Force มาจากเครื่องเพียงเครื่องเดียว ซึ่งถ้าเรา Block เครื่องนี้ Hacker จะเปลี่ยนเครื่องยิงมาจากเครื่องอื่นๆใน Internet แทน

2) จะพยายามเดา password ที่ละ Account โดยยิง password  เป็นชุดติดๆกัน เรียกได้ว่าวินาทีละครั้งเลยทีเดียวเลย  ถ้าพยายามสักพักแล้วไม่ได้ จะเปลี่ยนไปลอง hack กับ Account ชื่อใหม่ๆ บนเครื่องเดิม

3) ถ้าระบบเป้าหมายมี Account ที่ถูกเดา Password ได้สำเร็จ Hacker จะใช้ Account นั้นส่ง Spam Email ออกไปเป็นจำนวนมาก โดยส่งไปยังเป้าหมายที่เป็น Domain เดียวกันเป็นส่วนใหญ่ และหลายๆครั้งพบว่า โดเมนเป้าหมายเป็น Free Email เช่น hotmail.com, outlook.com, yahoo.com, gmail.com ซึ่ง   Account ต้นทางที่ใช้ส่ง Spam ออกไป อาจจะไม่ใช่ Account ที่ถูกเดา password สำเร็จก็ได้นะครับ

4) Spam Email ที่ส่งออกไป 1 ฉบับ จะระบุผู้รับ(TO: หรือ CC:)หลายๆคน ที่เคยเห็นมีตั้งแต่ 5 ถึง 20  หรือมากกว่านั้นในฉบับเดียว

วิธีการสังเกตุว่า Zimbra Server ของเราถูก hack
ถ้าระบบถูก hack และกลายเป็นเครื่องส่ง Spam แบบเดิมๆ ผู้ดูและระบบ จะรู้ว่า Zimbra Server ที่ดูแลอยู่ถูก hack กลายเป็นเครื่องส่ง Spam  ไปแล้ว จากการที่

1) มี Email ส่งไปยัง Domain ภายนอกที่ปกติไม่เคยมีธุรกรรมด้วย ในปริมาณที่มากผิดปกติ
ถ้ายังปล่อยให้เกิดเหตุการนี้ไปเรื่อยๆ จะทำให้เกิดข้อต่อไปคือ

2) IP Address ภายนอก ของ Email Server ติด Blacklist ของ IP ที่ใช้ส่ง Spam

3) ส่ง Email ไป Email Address ภายนอกไม่ได้

4) ส่ง Email ไปยัง Email Address ภายใน Domain เดียวกันช้า

5) มี Email ค้างอยูใน Queue ส่งไม่ออก เป็นพันๆ หรือหมื่นๆ ฉบับ

ในครั้งหน้า ผมจะมาพูดต่อถึงวิวัฒนาการการ hack ระบบ Mail Server ในปีที่ผ่านมาครับ ว่า มีการพลิกแพลง ที่ทำให้ยากแก่การตรวจจับกันอย่างไร

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