Table of Contents (Daftar isi)
Pada tutorial ini saya akan membahas bagaimana cara melakukan implementasi OpenPGP pada Zimbra Mail Server. Tutorial ini telah di ujicoba pada mesin Ubuntu 14.04 dan menggunakan Zimbra Versi 8.7.1.
Ikhtisar
OpenPGP berasal dari PGP (Pretty Good Privacy) yang merupakan sebuah alat yang dapat melakukan enkripsi pada email. Tujuan digunakannya tools OpenPGP ini adalah untuk memastikan bahwa email tersebut memang dikirim untuk penerima yang bersangkutan saja dan mencegah agar orang lain tidak dapat membaca email selain penerima aslinya. Pada Zimbra Mail Server, OpenPGP dikemas dalam bentuk Zimlets atau Add-On tambahan buatan Barry de Graaff, anda bisa mengeceknya disini.
Skema OpenPGP
PGP Menggunakan 2 Kunci yaitu :
Private Key : Merupakan enkripsi untuk pemilik, hanya boleh dimiliki oleh user yang bersangkutan. Private key berguna untuk melakukan enkripsi dan memberikan signature(tanda tangan) terhadap pesan yang akan dikirimkan kepada penerima.
Public Key : Merupakan enkripsi yang disebarkan ke user-user penerima. Public key digunakan untuk mengenkrip pesan yang ditujukan kepada sang pemilik private key. Lebih jelasnya yaitu untuk memeriksa memverifikasi keaslian email yang telah ditandatangani oleh pemilik private key.
Ilustrasi Private Key & Public Key
Saya mengambil contoh ilustrasi public key dan private key dari sini: https://bnparte.wordpress.com/2007/07/11/privatepublic-key/, namun ada beberapa modifikasi pada ilustrasi berupa nama dan alurnya untuk penyesuaian dari artikel yang akan disampaikan. Saya menggunakan nama Vavai dan Vivian karena saya bekerja di tempatnya pak Vavai :-D.
Sebagai contoh, Vavai akan mengirim email yang berisi puisi cinta kepada kekasihnya, Vivian. Sebelum Vavai dapat mengirim email puisi cintanya dan dienkrip, Vavai harus memiliki public key Vivian. Vavai dapat meminta Vivian untuk mengirimkan public keynya melalui email. Dengan menggunakan public key itulah maka Vavai dapat mengenkripsi puisi cintanya untuk kemudian dikirimkan kepada Vivian.
Vivian menerima puisi cinta dari Vavai dalam bentuk yang terenkripsi. Untuk membacanya Vivian perlu mendekrip teks itu. Selain Vivian tidak ada orang lain yang dapat mendekrip puisi cinta itu, karena hanya Vivian yang mempunyai private keynya. Bila private key Vivian jatuh ke tangan orang lain, maka orang itu juga dapat mendekrip email puisi cinta dari vavai saja. Namun segala macam email terenkripsi yang ditujukan kepada Vivian. Maka dari itu Vivian harus menyimpan private keynya secara baik dan aman.
Pada kasus di atas, ada kemungkinan bahwa yang mengirimkan puisi cinta itu bukanlah Vavai, namun orang lain yang berpura-pura menjadi Vavai. Bukankah email itu dienkrip? Ya. Namun karena enkripsi menggunakan public key sebagai kunci enkripsinya maka siapa pun yang mempunyai public key Vivian dapat mengenkrip teks untuk Vivian. Oleh karena itu ada baiknya bila Vavai juga menandatangani emailnya. Untuk membubuhkan signature (Tanda tangan), Vavai harus menggunakan private key, dan bukan public key. Pada saat menerima email puisi cinta, Vivian harus memverifikasi bahwa signature yang terdapat di sana benar-benar asli milik Vavai dengan menggunakan public key milik Vavai. Dengan begitu Vivian boleh merasa yakin bahwa puisi itu benar-benar dikirim oleh Vavai.
Instalasi OpenPGP
Instalasi OpenPGP pada zimbra cukup mudah yaitu hanya melakukan deploy Zimlet pada zimbra dengan menjalankan perintah berikut dengan user root :
rm -Rf /opt/zimbra/zimlets-deployed/_dev/tk_barrydegraaff_zimbra_openpgp/ su - zimbra wget https://github.com/Zimbra-Community/pgp-zimlet/releases/download/2.6.4/tk_barrydegraaff_zimbra_openpgp.zip -O /tmp/tk_barrydegraaff_zimbra_openpgp.zip zmzimletctl deploy /tmp/tk_barrydegraaff_zimbra_openpgp.zip zmmailboxdctl restart
Konfigurasi OpenPGP (Generate Key)
Tutorial ini saya buat dengan domain vavai.web.id karena kebetulan server simulasi yang tidak terpakai menggunakan domain tersebut.
- Buka Webmail User contoh saya menggunakan user vavai@vavai.web.id :
- Pada bagian kiri bawah webmail terdapat zimlet OpenPGP.
- Klik Kanan kemudian Generate key pair.
- Kemudian Sesuaikan Kolomnya seperti berikut, lalu klik OK
- Setelah selesai maka akan mendapatkan Private Key dan Public Key, simpan hasil enkripsi tersebut ke tempat yang aman.
Menyimpan Public Key User
Untuk bisa membuka email yang terenkripsi dari pengirim, penerima harus memiliki public key dari pengirim. Untuk menyimpan public keynya bisa mengikuti cara berikut :
- Login pada Webmail | Klik kanan pada OpenPGP Zimlet | Manage Keys dan masukkan Publik Key user lain, contoh saya menggunakan user vavai@vavai.web.id dan menyimpan public key milik vivian@vavai.web.id.
Uji Coba
Catatan : Pastikan pengirim dan penerima sudah mempunyai Public Key-nya masing-masing.
- Untuk melakukan uji coba, Silakan tulis email seperti biasa. Isi subject dan body emailnya kemudian Klik Encrypt Message.
- Kemudian pilih penerimanya (vivian). Jika ingin menambah attachment juga bisa dan silakan ditambah melalui menu tersebut :
- Maka Email akan di enkripsi sesuai dengan gambar berikut :
- Send Email, kemudian Cek pada Inbox Penerima. Pastikan seperti berikut :
Sign Message
Seperti dijelaskan pada SUB BAB Ilustrasi Private Key dan Public Key pada paragraf terakhir yaitu ada kemungkinan email yang dikirim bukan dari vavai@vavai.web.id, namun jika siapapun memiliki publik key dari vivian@vavai.web.id maka user tersebut dapat mengirimkan email enkripsi ke vivian@vavai.web.id. Jadi untuk membuktikan bahwa email tersebut benar dikirim oleh vavai, user vavai dapat menyisipkan tanda tangan dengan private key pada Email dengan cara berikut :
- Buat email seperti biasa. Kemudian klik Tombol Sign Message untuk membuat signature.
- Maka akan tampil private key dari user vavai. Klik OK untuk lanjut :
- Kemudian Sistem akan membuat signature berdasarkan private keys milik user dengan acak, seperti berikut :
- Lakukan enkripsi seperti biasa, dan kirim email ke user yang bersangkutan (vivian). Dan cek pada user vivian. Pastikan terdapat signature seperti berikut :
Penemuan Error
Berikut beberapa workaround yang dapat dilakukan jika menemukan error seperti berikut :
Terdapat Kalimat ***** UNCHECKED ***** Pada Subject
Hal tersebut terjadi dikarenakan Amavis tidak melakukan pengecekan pada enkripsi OpenPGP. Untuk mengatasinya bisa mengikuti langkah berikut :
Zimbra 8.6
vi /opt/zimbra/amavisd/sbin/amavisd Ubah Baris Berikut : $undecipherable_subject_tag = '***UNCHECKED*** '; Menjadi : $undecipherable_subject_tag = ''; Simpan, kemudian restart service amavis : su - zimbra zmamavisdctl restart
Jika Zimbra 8.7.x :
vi /opt/zimbra/common/sbin/amavis Ubah Baris Berikut : $undecipherable_subject_tag = '***UNCHECKED***'; Menjadi : $undecipherable_subject_tag = ''; Simpan, kemudian restart service amavis : su - zimbra zmamavisdctl restart
Referensi
- https://github.com/Zimbra-Community/pgp-zimlet
- https://bnparte.wordpress.com/2007/07/11/privatepublic-key/
1 Comment
Eky · May 22, 2017 at 8:13 pm
nah akhirnya ketemu jga , thx ya gan