SSL (Secure Sockets Layer) adalah protokol keamanan yang digunakan untuk menyandikan komunikasi antara dua entitas, seperti web server dan web browser, atau mail server dan mail client. SSL memiliki fungsi utama untuk memastikan keamanan komunikasi dan mencegah informasi yang dikirimkan melalui jaringan internet dari dibaca atau dimanipulasi oleh pihak yang tidak berwenang.
Selain itu, SSL juga memastikan keaslian mail server dan mail client yang saling berkomunikasi, sehingga mencegah serangan phishing atau spoofing. Dengan demikian, SSL sangat penting dalam memastikan keamanan komunikasi email antara pengguna dan mail server.
Dalam artikel ini, SSL akan di-implementasikan pada Zimbra 8.8.15 yang terinstall pada Ubuntu 20.04 melalui CLI (Command Line Interface). Untuk mengimplementasikan SSL pada Zimbra, terdapat tiga komponen penting yang harus dimiliki :
- SSL Certificate milik user yang sudah diverifikasi CA (Certificate Authority)
- CA chain Certificate (atau ada yang menyebut sebagai CA Bundle)
- Private Key milik user
Langkah implementasi SSL via CLI untuk Zimbra Server adalah sebagai berikut :
Login SSH ke Zimbra Server dan masuk sebagai user zimbra lalu masuk ke directory SSL Zimbra
sudo su zimbra
cd /opt/zimbra/ssl/zimbra/commercial/
Buat 3 file : commercial.crt (user SSL), commercial_ca.crt (chain CA), dan commercial.key (private key). File commercial.crt berisi text seperti ini :
-----BEGIN CERTIFICATE-----
[encoded data]
-----END CERTIFICATE-----
File commercial_ca.crt merupakan CA bundle yang dikirim oleh penerbit CA ketika membeli produk SSL. bisa langsung di-rename. Tapi, jika file CA terpisah, maka urutan Certificate pada commercial_ca.cert adalah seperti ini :
-----BEGIN CERTIFICATE-----
[Root CA cert]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[Intermediate CA cert]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[User domain cert]
-----END CERTIFICATE-----
Verifikasi antara commercial.key dengan commercial.crt
/opt/zimbra/bin/zmcertmgr verifycrtkey commercial.key commercial.crt
** Verifying 'commercial.crt' against 'commercial.key'
Certificate 'commercial.crt' and private key 'commercial.key' match.
Verifikasi antara Certificate chain antara commercial.crt dengan commercial_ca.crt
/opt/zimbra/bin/zmcertmgr verifycrtchain commercial_ca.crt commercial.crt
** Verifying 'commercial.crt' against 'commercial_ca.crt'
Valid certificate chain: commercial.crt: OK
Deploy Certificate SSL pada Zimbra, ketika baris terakhir implementasi seperti ini, berarti sudah sukses mengimplementasikan SSL.
/opt/zimbra/bin/zmcertmgr deploycrt comm commercial.crt commercial_ca.crt
**
**
**
** Creating /opt/zimbra/conf/ca/commercial_ca_1.crt
** Creating CA hash symlink 'aa65a108.0' -> 'commercial_ca_1.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_2.crt
** Creating CA hash symlink 'df43ed99.0' -> 'commercial_ca_2.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_3.crt
** Creating CA hash symlink '74ef756a.0' -> 'commercial_ca_3.crt'
Jika sudah selesai, restart Zimbra service
zmcontrol restart
Sekarang bisa akses secara aman menggunakan FQDN melalui browser.
Sumber :