Friday, June 24, 2016

Menanggulangi CVE-2016-2107 Pada Zimbra 8.6 Opensource

Wihartoyo     Friday, June 24, 2016    
CVE-2016-2107 adalah celah pengamanan yang memanfaatkan padding-oracle attack pada openssl untuk mendapatkan clear text dari suatu informasi sensitif melalui SSL messages yang dikemas dengan openssl sebelum versi 1.0.1t dan 1.0.2. Penanggulangan celah pengamanan ini pada sistem yang menjalankan apache webserver relatif mudah hanya dengan mengpdate openssl yang terdaftar pada operating system. Sementara, untuk Zimbra 8.6 sepertinya harus ada tambahan effort. Ok, berikut ini adalah jurus-jurus untuk menangkal CVE-2016-2107 pada Zimbra 8.6 kita.

Pertama, Update openssl ke versi 1.0.1t atau lebih tinggi.
Ambil atau download openssl versi yang dimaksud dari http://www.openssl.org. Di sini kita menggunakan source karena bila kita menginstall dari package manager, umumnya akan masuk sebagai bagian terintegrasi dari OS. Sementara Zimbra menggunakan paket-paket yang terdaftar secara internal.
OK, kita lanjutkan. Setelah kita download, kita lanjutkan dengan proses kompilasi dengan langkah sebagai berikut:



  • Sebagai root, extract compressed tarball file
  • Masuk ke direcotry source hasi installasi dan jalankan:
    $./config --prefix=/opt/zimbra/openssl-1.0.1t[enter]
    $./make[enter]
    $./make depend[enter]
    $./make test[enter]
    $./make install[enter]
  • masih sebagai root, Hapus symbolic link /opt/zimbra/openssl, dan
  • Buat symbolic link /opt/zimbra/openssl-1.0.1t&ltatau yang lebih tinggi&gt dengan target /opt/zimbra/openssl

    ln -s /opt/zimbra/openssl-1.0.1t /opt/zimbra/openssl

  • Fix permissions untuk semua directory dari zimbra dengan (masih sebagai root) perintah berikut:
    /opt/zimbra/libexec/zmfixperms --extended


Langkah-langkah di atas baru update openssl, selanjutnya kita harus menyesuaikan environment variable untuk mendisablekan AES-NI pada linux openssl agar openssl mengabaikan instruksi hardware AES.

  • Edit /opt/zimbra/bash_profile dan tambahkan line berikut:
    # workaround CVE-2016-2107
    export OPENSSL_ia32cap="~0x200000200000000"
  • Edit file sudoers biasanya ada di /etc/sudoers atau bergantung pada distro yang anda pakai. Tambahkan baris berikut
    Defaults env_keep += "OPENSSL_ia32cap"
  • Terakhir jalankan perintah berikut
    $ zmlocalconfig -e postfix_import_environment='OPENSSL_ia32cap'
    Dan untuk memastikan efeknya, restart zimbra

Setelah semuanya, silakan di test di sini: https://filippo.io/CVE-2016-2107/
Bila hasilnya seperti di bawah ini, berarti zimbra kita telah terbebas:


Contoh yang udah sakses

Recommended