Cara Renewal SSL di Zimbra

Salah satu pekerjaan harian yang cukup rutin saya lakukan semenjak bergabung di “Tim SSL” adalah melakukan renewal SSL di Zimbra Server. Apalagi bisnis utama dari Excellent Infotama Kreasindo adalah email. Jadi, saya perlu bisa untuk melakukan task-task yang berhubungan dengan SSL dan Email Server.

Sebenarnya ini bukan dokumen yang bersifat “baku”, namun sebagai catatan saya dan sharing gimana aja sih pekerjaan seorang IT support.

Langsung aja

Cek Jumlah Server Zimbra

Kita cek dulu, ada berapa server yang perlu kita lakukan renewal SSL-nya. Kita bisa masuk ke server dan gunakan perintah ini:

su - zimbra
zmprov gas

Nantinya akan muncul daftar server Zimbra mana saja yang aktif. Misalnya untuk instalasi Zimbra server yang multi-server, ada beberapa server seperti MTA, MBOX, dan LDAP.

Siapkan File SSL

Ada beberapa file yang perlu disiapkan. Biasanya didapatkan dari penyedia layanan SSL (atau di-generate sendiri misalnya menggunakan self-signed SSL untuk keperluan pribadi):

  • private key (.key)
  • file SSL (.crt)
  • CA bundle (.crt)

Biasanya saya simpan di direktori /tmp/ssl_2025 (formatnya) pada server yang akan dilakukan renewal. Sebenarnya bisa juga di lokasi lain, disesuaikan saja dengan gimana nyamannya teman-teman.

Sesuaikan Hak Aksesnya

Pada direktori /tmp/ssl_2025 (lokasi penyimpanan SSL baru di server), pastikan direktori dan isinya sudah dimiliki oleh user “zimbra“:

chown -R zimbra:zimbra /tmp/ssl_2025

Verifikasi SSL dan Private Key

Kita perlu cek apakah file SSL dan private key yang akan digunakan sudah sesuai/valid. Kita bisa gunakan perintah berikut (sesuaikan juga nama file/direktorinya):

su - zimbra -c '/opt/zimbra/bin/zmcertmgr verifycrt comm /tmp/ssl_2025/commercial.key /tmp/ssl_2025/ssl.crt /tmp/ssl_2025/ca_bundle.crt'

Apabila sukses/valid/sesuai, maka tampilannya seperti berikut:

Verifying '/tmp/ssl_2025/ssl.crt' against '/tmp/ssl_2025/commercial.key'
Certificate '/tmp/ssl_2025/ssl.crt' and private key '/tmp/ssl_2025/commercial.key' match.
Verifying '/tmp/ssl_2025/ssl.crt' against '/tmp/ssl_2025/ca_bundle.crt'
Valid certificate chain: /tmp/ssl_2025/ssl.crt: OK

Salah satu error yang bisa terjadi pada tahap ini adalah pada file CA bundle, isinya hanya ada satu blok sertifikat. Seharusnya di dalamnya ada dua blok sertifikat. Contoh tampilannya apabila error:

Verifying '/tmp/ssl_2025/ssl.crt' against '/tmp/ssl_2025/commercial.key'
Certificate '/tmp/ssl_2025/star_bprks_co_id.crt' and private key '/tmp/ssl_2025/commercial.key' match.
Verifying '/tmp/ssl_2025/ssl.crt' against '/tmp/ssl_2025/ca_bundle.crt'
ERROR: Unable to validate certificate chain: xxx error 2 at 1 depth lookup: unable to get issuer
certificate error /tmp/ssl_2025/ssl.crt: verification failed

Ada dua solusi yang bisa dicoba:

  • Coba gunakan file CA bundle sebelumnya. Biasanya CA bundle isinya tidak berubah tiap tahun. Lokasinya berada di /opt/zimbra/ssl/zimbra/commercial/ca_bundle.crt.
  • Minta ulang file lengkap dari prinsipal/penyedia SSL.

Backup File Lama

Penting untuk dilakukan karena untuk jaga-jaga apabila proses instalasi gagal, kita bisa coba rollback konfigurasinya dengan menggunakan SSL sebelumnya. Biasanya (kalau saya) lokasi backup di /srv/ . Bisa disesuaikan dengan keinginan teman-teman mau disimpan dimana.

mkdir -p /srv/backup_ssl_2024/
cp /opt/zimbra/ssl/zimbra/commercial/* /srv/backup_ssl_2024/

Salin private.key yang Baru

Salin file private key ke direktori Zimbra. Apabila ada prompt untuk overwrite, pilih saja Y.

cp /tmp/ssl_2025/commercial.key /opt/zimbra/ssl/zimbra/commercial/commercial.key

Instalasi

Sebelum instalasi, kita bisa cek SSL yang sudah terpasang (deployed) dengan menggunakan perintah:

su - zimbra -c '/opt/zimbra/bin/zmcertmgr viewdeployedcrt'

Proses deploy “menggunakan” file SSL dan CA bundle:

su - zimbra -c '/opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/ssl_2025/ssl.crt /tmp/ssl_2025/ca_bundle.crt'.

Apabila proses deploy sudah selesai, kita bisa cek lagi apakah SSL sudah berhasil terpasang dengan perintah viewdeployedcrt seperti sebelumnya.

Restart Zimbra

SSL yang sudah terpasang bukan berarti SSL-nya langsung aktif. Apabila mail server-nya memiliki tampilan webmail kalau kita cek di web browser SSL-nya belum aktif/masih menggunakan SSL yang lama. Kita perlu melakukan restart service pada Zimbra Mail Server dengan menggunakan perintah zmcontrol restart.

Perlu diingat, restart service ini artinya mail service atau aktifitas kirim-terima email akan berhenti beroperasi selama proses restart. Maka dari itu, biasanya kalau saya di pekerjaan instal SSL-nya pada jam kerja (email service tidak terganggu) namun untuk  restart-nya malam hari. Tentu dengan konfirmasi dari klien/tim terkait.

Proses restart service ini juga disarankan menggunakan tool Screen (saya juga pernah buat tulisannya). Untuk menghindari proses restart gagal karena koneksi komputer kita dan server yang bermasalah. Dengan Screen memungkinkan proses/pekerjaan pada server bisa tetap berjalan meskipun koneksi komputer kita dan server mengalami gangguan (misalnya sempat putus).

Apabila sudah selesai, (kalau ada akses webmail) kita bisa cek apakah SSL baru sudah aktif atau belum dengan mengakses web browser> pilih ikon gembok padaa address bar. Apabila SSL baru sudah terpasang, maka masa aktifnya akan berbeda dari sebelumnya.\

 

Itu dulu tulisan saya kali ini. Sampai jumpa. Bye.

Leave a Reply

Your email address will not be published. Required fields are marked *