Mengatasi Code Did Not Match/Invalid TOTP Code Zimbra Two Factor Authentication

Posted by

Beberapa hari yang lalu, saya beserta rekan saya berkunjung ke salah satu klien di daerah Jakarta untuk membahas Fitur pada Zimbra NE. Salah satu fitur yang dibahas saat itu yaitu Zimbra Two Factor Authentication.

Ketika itu klien ingin langsung mengimplementasikan fitur tersebut untuk beberapa akun dahulu untuk ujicoba. Nahh saat ujicoba tersebut, muncul pesan error “The code you entered did not match”

Kalau di cek di mailbox.log, ada muncul pesan TOTP Invalid.

2018-11-07 00:22:02,886 INFO  [qtp998351292-150222:http://mail.hostname.id/service/soap/EnableTwoFactorAuthRequest] [name=akun@hostname.id;mid=1;ip=172.16.x.x;port=36708;ua=ZimbraWebClient - GC70 (Mac)/8.8.8_GA_1703;soapId=6497d60e;] SoapEngine - handler exception: authentication failed for [akun@hostname.id], invalid TOTP code

Setelah ada pesan error tersebut, saya coba ulangi langkah-langkah untuk mengaktifkan fitur 2FA tersebut. Saya coba pelan-pelan untuk memasukkan key yang muncul untuk diinput pada google authenticator, kemudian saya juga pelan-pelan untuk memasukkan Kode OTP yang muncul pada google authenticator tersebut, namun hasilnya nihil, tetap dianggap code did not match/Invalid TOTP.

Saya coba cari referensi dari Wiki Zimbra, error tersebut katanya karena konfigurasi Date pada server tidak sesuai, dan disarankan untuk sinkronisasi saja ke NTP Server. Akhirnya saya coba lakukan hal tersebut.

1. Install paket ntpdate agar otomatis sync ke NTP server ketika server ada proses reboot.

Centos

yum install ntpdate -y

Ubuntu

apt-get install ntpdate -y

2. Edit file konfigurasi ntpdate agar menggunakan NTP Server Indonesia.

Centos

Untuk Centos, edit file berikut ini

vi /etc/ntp/step-tickers

Edit file tersebut menjadi seperti berikut ini.

# List of NTP servers used by the ntpdate service.

0.id.pool.ntp.org

Kemudian restart service dan set otomatis up ketika reboot.

service ntpdate restart
chkconfig ntpdate on

Ubuntu

Untuk Ubuntu, edit file berikut ini.

vi /etc/default/ntpdate

Cari baris berikut ini dan set agar NTP nya mengarah ke NTP Server Indonesia.

# List of NTP servers to use  (Separate multiple servers with spaces.)
# Not used if NTPDATE_USE_NTP_CONF is yes.
NTPSERVERS="0.id.pool.ntp.org"

Jika sudah, save dan jalankan command ntpdate-debian

# ntpdate-debian 
7 Nov 00:42:37 ntpdate[16263]: adjust time server 202.65.114.202 offset 0.001242 sec

Alamat NTP Server Indonesia yaitu 0.id.pool.ntp.org.

Setelah menjalankan langkah-langkah diatas, konfigurasi date dan time sudah sinkron mengikuti konfigurasi date dan time pada NTP Server Indonesia.

Selanjutnya silakan dilanjut kembali untuk setup Zimbra Two Factor Authenticationnya, dan mestinya saat ini sudah success dan tidak muncul pesan error code did not match.

Mungkin cukup sekian, semoga bermanfaat

 

Leave a Reply

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

*