Skip to main content

Imapsync Tanpa Password User

Imapsync adalah tools untuk melakukan sinkronisasi email berbasis IMAP antara dua server yang berbeda.  Untuk kepentingan migrasi e-mail Zimbra disamping menggunakan internal module zmmailbox untuk ekstrak mailbox dan import message ke mailbox, kita bisa juga menggunakan imapsync.  Namun, kekurangan dari menggunakan zmmailbox adalah bahwa e-mail yang kita import akan mempunyai tanggal "received date" yang seragam yaitu tanggal pada saat message kita import ke mail system kita. Tapi, bila kita menggunakan imapsync, dari sekian banyak contoh yang bertebaran di internet, kita selalu diberikan contoh yang selalu harus memberikan password user.  Meskipun itu dimasukkan kedalam satu file plain text.  Nah, kali ini saya akan mencoba mengurai penggunaan imapsync yang tanpa harus memberikan password user.  Namun, tetap, password admin harus kita punya, atau dengan kata lain kita melakukan sinkronisasi dengan menggunakan privilege admin.

Install Imapsync
Petama kali kita harus menginstall pre-requisite dari aplikasi imapsync

root@mail:~#apt-get install libdate-manip-perl libterm-readkey-perl \
libterm-readkey-perl libdigest-hmac-perl libdigest-hmac-perl \
libdate-manip-perl libmail-imapclient-perl makepasswd \
rcs perl-doc libmail-imapclient-perl make git-core git-doc git-svn git-gui gitk

Kemudian kita clone source imapsync dengan perintah:

root@mail:~#cd /opt
root@mail:/opt#git clone git://github.com/imapsync/imapsync.git

root@mail:/opt#cd imapsync/
root@mail:/opt/imapsync#make install

Sinkronisasi Email
Umumnya untuk melakukan singkronisasi e-mail menggunakan imapsync kita menggunakan perintah yang baku sebagai berikut


root@mail:~#imapsync --host1 [host-sumber] --ssl1(bila digunakan) --user1 [email@domain-sumber] --password1 [passworduser-sumber]\
--host2 [host-target] --ssl2(bila digunakan) --user2 [email@domain-target] --password2 [passworduser-target]

Perhtikan bahwa kita harus mensuplai password.  Permasalahan dengan hal ini adalah bahwa kita harus tahu seluruh username dan password untuk seluruh akun yang terdaftar pada mail system kita. Googling punya googling ternyata ada satu direction yang bisa kita gunakan untuk melakukan singkronisasi tanpa harus mengetahui password user.  Direction yang kita gunakan adalah "--authuser[x]" dimana authenticated user yang digunakan adalah admin user sehingga kita bisa baca dan tulis seluruh content milik seluruh akun yang terdaftar.  Ok kita coba..


Contohnya:

User: saya@domain.co.id host1: 10.11.12.13 host2: 14.15.16.17 ssl

root@mail:~#imapsync --host1 10.11.12.13 --ssl1 --authuser1 admin --user1 saya@domain.co.id \
--host2 14.15.16.17 --ssl2 --user2 saya@domain.co.id

Oppps.......! Tapi ternyata mail system meminta password admin secara interaktif.


root@mail:~#imapsync --host1 10.11.12.13 --ssl1 --authuser1 admin --user1 saya@domain.co.id \
--host2 14.15.16.17 --ssl2 --user2 saya@domain.co.id
Temp directory is /tmp
PID file is /tmp/imapsync.pid
Modules version list:
Mail::IMAPClient 3.30
IO::Socket 1.32
IO::Socket::IP ?
IO::Socket::INET 1.31
IO::Socket::SSL 1.53
Net::SSLeay 1.42
Digest::MD5 2.51
Digest::HMAC_MD5 1.01
Digest::HMAC_SHA1 1.03
Term::ReadKey 2.30
Authen::NTLM ?
File::Spec 3.33
Time::HiRes 1.972101
URI::Escape 3.31
Data::Uniqid ?

Info: turned ON syncinternaldates, will set the internal dates (arrival dates) on host2 same as host1.
Info: will try to use PLAIN authentication on host1
Info: will try to use PLAIN authentication on host2
Info: imap connexions timeout is 120 seconds
Host1: IMAP server [10.11.12.13] port [993] user [saya@domain.co.id]
Host2: IMAP server [14.15.16.17] port [993] user [saya@domain.co.id]
What's the password for admin@10.11.12.13?
What's the password for admin@14.15.16.17?
Host2: * OK IMAP4 ready
Host2: 14.15.16.17 says it has CAPABILITY for AUTHENTICATE PLAIN
Host2: success login on [14.15.16.17] with user [hartoyo_opr@collega.co.id] auth [PLAIN]
Host1: state Authenticated
Host2: state Authenticated
Host1 capability: IMAP4rev1 ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ LOGIN-REFERRALS MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SEARCHRES SORT THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN XLIST
Host2 capability: IMAP4rev1 ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE ESEARCH ID IDLE LIST-EXTENDED LITERAL+ LOGIN-REFERRALS MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SEARCHRES UIDPLUS UNSELECT WITHIN
Host1 separator and prefix: [/][]
Host2 separator and prefix: [/][]

< < dan seterusnya dipotong


Hmmm..... gak masalah harus masukin password admin tapi kok ya harus key-in sih? Tapi, coba kita perhatikan, bahwa password admin untuk satu akun diminta 2 kali.  Satu kali untuk sumber dan satu kali untuk target. Bagaimana kalau kedua password kita rekam dalam satu plain text, sebut aja namanya adminpass.txt dan kita sertakan dalam command line kita sebagai standar input sehingga perintahnya akan menjadi begini.
Content adminpass.txt
root@mail:~#cat adminpass.txt
passadminchar
passadminchar
Eksekusi perintah....
root@mail:~#imapsync --host1 10.11.12.13 --ssl1 --authuser1 admin --user1 saya@domain.co.id \
--host2 14.15.16.17 --ssl2 --user2 saya@domain.co.id <./adminpass.txt
Ok tinggal ditest, dan bila berhasil maka tinggal digabung dengan tools internal zimbra untuk mensingkronisasi seluruh akun.


(Langkah-langkah di atas telah dicobakan untuk installasi zimbra community edition versi 5 dan 8 baik sebagai target maupun sebgai sumber. Zimbra 5 terinstall pada OpenSuSE 10 32bit, sementara Zimbra 8 terintall pada Ubuntu 12.04 64bit)

Popular posts from this blog

Superfish Menginjeksi Laman-Laman Google

Beberapa bulan lalu pengguna lenovo sempat dibuat gerah dengan penggunaan software superfish yang sengaja disisipkan oleh Lenovo. Penggunaan adware yang sebenarnya dimaksudkan untuk memudahkan pengguna yang suka berbelanja ternyata justeru menjadi duri dalam daging bagi pengguna. Adware ini, mampu membongkar enkripsi web pengguna komputer dan akhirnya membuat komputer yang bersangkutan menjadi rentan terhadap serangan cyber. Dan yang paling ‘menggemaskan’ adalah adware ini bisa menyuntikkan iklan-iklan yang tidak diinginkan (bahkan sering menampilkan gambar perempuan dengan pakaian minim) ketika pengguna membuka web apapun. Meskipun Lenovo telah berjanji untuk menghentikan penggunaan Superfish, namun ternyata bahaya masih mengintai para pengguna internet. Google sebagai peramban paling populer saat ini berpotensi menyebarkan Ad Injection melalui ekstensyen nya. Berdasar riset dari Google, 4% laman google telah di-inject oleh superfish dengan iklan-iklan yang gak jelas. Dan 5....

Snort dan Suricata IDPS

Sugeng pagi, Mas! Pagi, gimana kabarnya? Baik, Mas. Gini, Mas! Saya lagi pusing ngurusin jaringan di kantor. Pusing kenapa? Itu lo, Mas, virus tau-tau nongol tanpa permisi.  Bikin jaringan jadi lemot. Yang lebih repotnnya lagi, kita gak tau dari sebelah mana penyebarannya. Lah, gitu aja kok pusing.  Kamu punya alat monitoring macem IDS gak? Apa itu IDS, Mas? IDS itu, singkatan coro londo Intrussion Detection System.  Maksudnya sistem buat mendeteksi aktifitas penyusupan. La, itu kan bukan antivirus, Mas! Lagian mana ada sih yang nyusup di kantor saya.  Apalagi kantor banyakan mainnya di jaringan private. La ini, yang salah! Jangan beranggapan bahwa setiap penyusupan itu datangnya dari luar. Ancaman kebocoran itu paling besar justeru datangnya dari dalam. Dan satu hal lagi penyusupan tidak harus terjadi dalam satu saat.  Seperti proses penyusupan yang dilakukan dengan menggunakan kuda trojan.  Para penyusup justeru anteng dulu di dalam kuda trojan....

Masih Pagi??

Ingat saat di sekolah S3 (SD,SMP,SMA) segala sesuatu yang menyangkut hasrat dan keinginan ada kalanya mentog kepada satu frasa: masih pagi. Berpikir tentang rezeki katanya masih terlalu pagi untuk memikirkan hal yang gak-gak gitu. Mengangankan tentang hari nanti (mungkin adalah saat ini), juga dibilang masih terlalu pagi apalagi jika sifatnya pesimistis. Terima kasih untuk semua yang mengatakan itu karena setidaknya aku bisa berfikir saat ini, bahwa memang masih terlalu pagi (saat itu), tetapi terlalu pagi itu bukan artinya untuk berhenti memulai. Tetapi terlalu pagi yang berarti bahwa memang sudah seharusnya dimulai saat itu. Kita tidak pernah tahu apa yang akan kita dapatkan nanti, dan karena itu kita harus tahu apa yang harus kita kerjakan saat ini. Merencanakan adalah kata yang sangat indah untuk diucapkan. Perencanaan adalah sesuatu yang sangat mudah untuk dituliskan manakala pelaksanaan tidak pernah terpikirkan. Semua bermuara pada satu kata : tangggung jawab . Tanggung jawab...