Halo Semua, Mail Server dengan FirewallD memang cukup untuk Keamanan Server, namun ini juga bisa jadi tambahan untuk meningkatkan Keamanan. Two Factor Authentication (TFA) adalah Keamanan Level 2 setelah User berhasil Login, User akan diharuskan memasukkan tambahan autentikasi agar dapat Login pada Zimbra, berlaku untuk login pada Webmail, Email Klien Desktop dan mobile devices, jika kode autentikasi tidak dimasukkan maka User tidak akan dapat Login meskipun User dan Password telah sesuai.

Fitur TFA ini sebenarnya hanya ada pada Zimbra Network Edition, pengguna Zimbra NE dipastikan sudah bisa langsung mengaktifkan dan menggunakannya.

Tapi sekitar bulan Februari 2019 Organisasi Zeta Alliance membuat Project Open Source Two Factor Authentication server yang dapat digunakan pada Zimbra OSE / Zimbra Open Source Edition. TFA server ini berjalan pada Docker container yang diinstall di Server Zimbra yang sama (jika single server).

Project ini memakai LDAP Proxy yang disediakan oleh PrivacyIDEA, sehingga username dan password dibaca oleh PrivacyIDEA dari Zimbra LDAP dan TFA token dibaca dari database PrivacyIDEA. User login ini menggunakan TFA dengan memasukkan username, password dan token autentikasi, atau menggunakan username dan password saja apabila TFA belum diaktifkan di webmail.

Secara topologi kira-kira seperti ini :

Topologi Zimbra docker TFA
  • Bagian paling bawah adalah mesin fisik atau virtual
  • Bagian kedua dari bawah Operating System
  • Bagian ketiga adalah aplikasi Zimbra dan Docker
  • Lalu diatas Docker, terdapat container PrivacyIDEA yang merupakan server TFA

Alur komunikasi antara Zimbra dengan PrivacyIDEA seperti berikut ini

Alur Zimbra TFA
  • Zimbra dikonfigurasi External Authentication LDAP pada server PrivacyIDEA
  • PrivacyIDEA melakukan query username dan password pada LDAP internal Zimbra
  • Konfigurasi Fall Back to Local pada Zimbra dinonaktifkan

Jadinya, semua user harus login menggunakan external authentication LDAP melalui PrivacyIDEA, lalu PrivacyIDEA melakukan query pada internal LDAP Zimbra untuk mengecek apakah username dan password yang dimasukkan cocok atau tidak, kemudian memasukkan token TFA dari database PrivacyIDEA.

Mungkin itu penjelasan singkatnya, sekarang saatnya ke proses instalasi TFA Server

Pertama jalankan perintah berikut dan ikutin langkah-langkah nya

wget https://raw.githubusercontent.com/Zimbra-Community/zimbra-foss-2fa/master/2fa-installer.sh -O /tmp/2fa-installer.sh
chmod +rx /tmp/2fa-installer.sh
/tmp/2fa-installer.sh

setelah selesai, kini aktifkan TFA pada User di webmail

Masukkan nama TFA, contoh disini Saya berikan nama HP Saya “Samsung A7”
  • Setelah masukkan nama konfigurasi TFA, klik OK. maka akan muncul QR Code yang harus discanning di aplikasi Google Authenticator tadi, seperti ini :
contoh QR Code yang harus discanning di Google Authenticator
ini adalah contoh setelah berhasil Scanning, kode tersebut akan berubah setiap menitnya
ini adalah Status Token yang telah discanning, Kamu bisa menghapus jika itu bukan perangkat Kamu
  • Setelah itu Silahkan Kamu Logout dari Webmail Zimbra lalu masukkan username, password dan generate token yang dihasilkan oleh Google Authenticator, beirkut tampilannya :
Tampilan Login beserta kolom untuk memasukkan Token 2FA

Catatan :

  • User yang bertindak sebagai Admin (bisa login ke Zimbra Admin) masih bisa login tanpa memasukkan token hasil dari generate Authenticator
  • Fitur ini hanya tersedia pada Zimbra Versi 8.8.x keatas

Silahkan komen dibawah jika ada kesulitan atau diskusi tentang fitur ini.

Informasi Project lainnya oleh Zeta Alliance bisa dilihat di : https://zetalliance.org/