อันตรายที่เกิดจากช่องโหว่นี้
โดยทั่วไปแล้ว 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