
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 :

- 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

- 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
- Pastikan mobile devices / HP sudah terinstall aplikasi Google Authenticator untuk mendapatkan token autentikasi, klik link berikut untuk download (Andorid) : https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2
- Login Webmail Zimbra, pilih Preferences > 2FA Account Security > Click here to continue setup, setelah itu tampilannya akan seperti ini :

- Setelah masukkan nama konfigurasi TFA, klik OK. maka akan muncul QR Code yang harus discanning di aplikasi Google Authenticator tadi, seperti ini :



- Setelah itu Silahkan Kamu Logout dari Webmail Zimbra lalu masukkan username, password dan generate token yang dihasilkan oleh Google Authenticator, beirkut tampilannya :

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/