Monday, December 9, 2013

Berfikir Out Of The Box INSIDE

Wihartoyo     Monday, December 09, 2013    
Pagi ini ini aku nemu tulisan yang berjudul ‘The Power of Thinking INSIDE The Box” dengan huruf besar pada kata INSIDE.  Wow, what the wonderful word?!! Aku pikir betapa berani orang ini menulis melawan arus seperti pengendara motor Ibukota yang sering dengan gagah berani menantang arus demi memotong kemacetan.  Dan seperti apa yang aku pikir komen-komen yang muncul pun banyak yang berusaha untuk melakukan penghakiman terhadap pemikirannya. Cuma memang ada satu semangat yang sama di dalam komen-komen tersebut. Berusaha untuk memahami. Meskipun itu kemudian untuk ditolak.

Respon yang ditunjukkan oleh komen-komen itu sangat wajar, karena ketika (hampir) semua orang gembar-gembor tentang berfikir “out of the box” ini ada orang yang mengajak untuk berfikir “inside the box”.  Pemikiran inside the box ini ternyata muncul dari kegalauan penulis oleh karena kenyataan bahwa cara berfikir out of the box itu memberikan efek bahwa there is no boxes, sehingga there is no focus and no constraint. Kemudian apa yang bisa diharapkan dari kondisi seperti ini? Inovasi yang muncul adalah sebuah inovasi tanpa pijakan yang jelas, sehingga sulit untuk direalisasikan. Untuk itu kemudian dia menyarankan untuk ask to the box. Karena, katanya, dengan ask to the box, seliar apa pun ide inovasi kita, setiap tahap pelaksanaannya akan selalu mengacu kepada seluruh design constraints, sehingga kita bisa menjaga ide tetap realistik tepat waktu dan sesuai dengan anggaran yang ditetapkan.

Great!!! Saya setuju ini, karena cara berfikir out of the box memang baik, tetapi butuh suatu pengawalan. Siapa pengawalnya? Ya box nya itu sendiri.  Berfikir out of the box yang cenderung menghilangkan box nya sebagai design constraints yang harus diperhitungkan hanya akan menghasilkan hayalan-hayalan yang kadang kurang realistik. Hanya akan menambah tumpukan ide atau wacana.

Namun, apa kita tidak perlu berfikir out of the box? Tidak, kita tetap harus bisa berfikir out of the box! Entah sama dengan pemikiran penulis di linkedin atau tidak, cuma buat saya berfikir out of the box bisa menjadi sangat baik bila kita juga berfikir inside the box. Ini berlaku buat kita dalam suatu organisasi maupun kita secara individu.  Karena box itulah design constraint yang harus benar-benar diperhatikan.
Kenapa saya sebut juga individu? Karena siapapun yang kita tawari ide kita dan bahkan kita sendiri pun bisa merupakan constraint bagi ide kita sendiri.

Dari sini saya jadi teringat salah satu cerita kungfu (Tai Chi Master) dimana setelah sekian lama belajar jurus-jurus kungfu, jurus yang paling akhir adalah lupakan jurus-jurus yang pernah dipelajari. Nah lo?

Ya, lupakan jurus-jurus itu sebagaimana kita mengatakan dua sebagai penjumlahan satu dan satu tanpa perlu mengingat-ingat lagi bahwa satu tambah satu samadengan dua. Bertarung secara bebas tanpa harus mengingat-ingat lagi jurusnya karena jurus-jurus itu telah menyatu dalam gerakan kita.  Bila jurus-jurus itu adalah design constraint yang kita miliki, maka berlatih jurus-jurus itu maksudnya adalah mendalami semua constraint yang kita miliki. Kemudian melupakan jurus-jurus itu bukan berarti kita abaikan semua constraint yang kita miliki.  Tapi justeru kita harus benar-benar memahaminya, sehingga  ketika kita menentukan suatu inovasi strategis akan secara alami semua constraint yang kita miliki telah tertuang didalamnya.

Monday, December 2, 2013

Resiko itu Terlalu Menawan Untuk DIanggurin

Wihartoyo     Monday, December 02, 2013    
Ladalah, yang bener aja, Mas? Masa kita harus bergaul dengan resiko.  Dimana-mana resiko itu ya harus dihindari.


Salah, sampeyan!!


Salah di mana to, Mas? La ya wajar to, kalau dalam kegiatan apapun kita harus menghindari resiko?

Emangnya semua resiko bisa dihindari?

Maksudnya?

Resiko tenggelam itu emangnya ada di aktifitas ngonthel becak?  Resiko nabrak gunung itu memang ada di dalam aktifitas nyupir angkot?

Lho, ya jelas nggak ada?

Ya itu, kalo mau menghindari tenggelam yo sampeyan ngonthel becak aja.  Kalo mau menghindari nabrak gunung, yo sampeyan jad sopir angkot aja!

Walah, yo nggak bisa gitu, Mas!

Yo bisa.  Gak mungkin kan sopir angkot nabrak gunung, yang ada jatuh ke jurang.  Gak mungkin kan, ngonthel becak tenggelam? Lah kalo jatuh ke kali dari jembatan terus tenggalam itu bukan resiko tenggelam. Tapi resiko jatuh ke kali.

O..., gitu....

Nah itu namanya resiko yang melekat.  Setiap aktifitas itu punya resiko yang melekat. Begitu juga dalam bisnis.  Pasti punya resiko yang melekat.  Dan tergantung pada bidangnya, setiap bisnis mempunyai resiko melekat yang berbeda.  Seperti tadi, jadi sopir angkot ya gak mungkin nabrak gunung.

Hmmm... Gitu?  Trus maksudnya terlalu menawan untuk dianggurin itu gimana, Mas?

Kuncinya gini, karena resiko itu terlalu menawan untuk dianggurin, maka kita harus benar-benar mengenal resiko kita.

Wah tar, belum mudheng kita...

Misal nih, kamu naksir sama temen perempuan kamu, apa yang kamu lakukan?

Ya..., mencari informasi detail tentang dia, apa kesuakaannya biar kita memperlakukannya dengan sebaik mungkin untuk mengambil hatinya.

Betul! Begitu pula dengan resiko.  Kita harus benar-benar mengenal apapun resiko yang kita punya.  Mengenal karakteristiknya, sehingga kita bisa memberikan perlakuan yang sebaik-baiknya terhadap resiko-resiko tersebut.  Tujuan akhirnya? Tujuan akhirnya adalah agar resiko itu tidak muncul/terjadi untuk mengganggu aktifitas kita.

Resiko adalah keuntungan. Kenapa bisa begitu?



Karena resiko yang tidak dikenali yang membuat kita cenderung meng-anggurkan akan berpotensi mengurangi pendapatan.  Misal resiko kegagalan produk pada saat release ke kastemer tidak diantisipasi/dikenali dengan baik maka akan mengakibatkan produk tersebut tidak bisa diterima oleh kastemer dan lebih lanjut akan mengakibatkan menurunnya kepercayaan kastemer terhadap kita.



Bayangkan bila kita tidak mampu mengenali resiko kegagalan tersebut, maka kita tidak akan bisa meredam/meminimalisir kegagalan produk tersebut dengan mengurangi faktor-faktor yang menyebabkan produk tersebut menjadi gagal.  Misal produk itu suatu aplikasi komputer.  Mestinya testing terhadap produk itu harus dilakukan dengan sebaik-baiknya.  Jangan sampai ketika sudah sampai di tangan kastemer produk tersebut tidak berfungsi sebagaimana mestinya.  Artinya, bila produk tersebut tidak bisa memuaskan kastemer maka akan menghambat penjualan yang berarti mengurangi pendapatan dan akan meningkatkan biaya iklan untuk 'menutupi' kekurangan tersebut.


Namun sebaliknya, bila resiko kegagalan tersebut bisa kita kenali dengan baik, maka kita bisa mengendalikan resiko tersebut dengan mengurangi faktor-faktor yang menyebabkan kegagalan produk tersebut.  Dengan melakukan testing yang paripurna, untuk mempersembahkan suatu produk yang bugs free untuk para kastemer sehingga kastemer puas dan kepuasan itu kemudian menjadi testimoni yang baik sehingga secara gethok tular akhirnya produk tersebut benar-benar mendatangkan revenue. Dan testimoni yang baik dari kastemer juga kemudian akan menjadi iklan yang sangat efektif sehingga dalam hal ini berarti mengurangi cost.  Kamu tahu apa itu profit?

Profit = Revenue - Cost

Yap, itu tahu.... Jadi kalo revenue nya gede dari penjualan dengan cost periklanan yang kecil karena kita bisa mengandalkan gethok tularnya, maka berarti profitnya juga gede.  Betul gitu?

Betul, Mas?

Nah itu, yang aku maksud "Resiko itu Terlalu Menawan Untuk Dianggurin", maksudnya ya... kenali, pahami, dan kendalikan dia.  Karena resiko itu nghalang-halangi revenue dan menyebabkan biaya tinggi.  Kalau kita bisa mengendalikan dia berarti kita bisa mengendalikan apa yang menghalang-halangi revenue kita dan tentunya mengendalikan cost.

Friday, November 29, 2013

Karena Doi seorang Da'i

Wihartoyo     Friday, November 29, 2013    
‘’Honor saya terakhir Rp 125 ribu perbulan,’’ kata Ustadz Sumitro Mangkusasmito Lc, mengungkapkan gajinya saat menjadi da’i di Dili, Timor Timur, sejak 1981 hingga 1999.
Melalui referendum yang curang dan dibingkai kerusuhan, Provinsi ke-27 NKRI itu akhirnya lepas dan menjadi Republik Timor Leste. 
Situasi yang mencekam mengancam nyawa, membuat Sumitro sekeluarga hengkang ke kampung halaman istrinya di Makassar, Sulawesi Selatan, pada 1999. ‘’Saya tinggalkan asset saya berupa 13 rumah kontrakan yang pembangunannya dibiayai investor dari Makassar,’’ kenang da’i asal Bojonegoro, Jawa Timur, itu di sela mengisi Daurah Du’at Dewan Dakwah di Jeneponto, Sulsel, 24 November lalu.
Tahun 2006, Sumitro yang seangkatan dengan Ustadz Syuhada Bahri, untuk kali pertama mengunjungi Dili setelah hijrah darinya. Ia dipanggil untuk mengisi ceramah di sana.
‘’Saya sempat mampir ke bekas rumah saya. Rumah-rumah itu sudah dikuasai warga lokal, dan disewakan dengan harga ratusan ribu dolar Amerika pertahun,’’ ungkapnya. ‘’Tapi saya tidak berusaha mengambilnya lagi, daripada waktu dakwah saya habis untuk mengurusnya,’’ ia menambahkan sambil tersenyum.
Sumitro mengaku saat itu jelas merasa sedih. Namun, pengurus Dewan Dakwah Provinsi Sulsel itu yakin, biyadikal khayr. Ketentuan Allah SWT pasti yang terbaik untuknya.
Kita pun turut trenyuh, membandingkan kesejahteraan para da’i dengan Walang bin Kilon. Mengemis dalam 15 hari, Walang meraup Rp 25 juta. Uang sebanyak itu tersusun rapi dan tersimpan dalam gerobaknya yang menjadi ‘’dagangan iba’’ bersama rekannya, Sa'aran.
Keduanya ditangkap petugas Sudin Sosial Jaksel pada Selasa (26/11/2013) pukul 19.30 WIB di bawah Tugu Pancoran, Jaksel.
Walang mengaku, mengemis untuk modal tambahan naik haji. Dia sudah mendaftar haji di Subang. Di kampung asalnya, dia juga memiliki bisnis ternak kambing. Istri dan ketiga anaknya sehat wal afiat, berkecukupan untuk ukurannya. Anak-anaknya bersekolah secara wajar.
Sementara itu, mukafa’ah (honor) seorang da’i Dewan Dakwah di pedalaman Nusantara, paling tinggi sekitar Rp 500 ribu perbulan. Selebihnya, ‘’minta sendiri ke Allah SWT’’.
Ustadz Syuhada Bahri dalam berbagai kesempatan menuturkan, ia pernah merasa bersalah saat mengirim seorang da’i ke perbatasan NTT-Timor Leste. Karena kehabisan biaya hidup dan tinggal bersama jamaah yang tidak lebih kaya darinya, sang da’i mengganjal perutnya dengan pucuk dedaunan yang bisa dimakan. Ini berlangsung selama sepekan, hingga datang Ustadz Syuhada membesuknya.
Mengetahui keadaannya, Ustadz Syuhada meminta anak buahnya itu pindah ke daerah yang lebih dekat ke pusat kota, sehingga lebih mudah mendapatkan sumberdaya.
Namun, da’i itu keberatan. ‘’Tolong jangan jauhkan saya dari Allah ya Ustadz, karena dengan hidup begini saya justru semakin dekat dengan Allah,’’ katanya mengiba. Dan Ustadz Syuhada Bahri hanya merangkul sambil menyembunyikan tangisnya di punggung da’i tersebut.
KISAH SEMACAMNYA, SILAKAN SIMAK MAJALAH TAZAKKA LAZIS Dewan Dakwah
(Sumber: John Bon Bowie)

Tuesday, November 26, 2013

Migrasi Mail Account Zimbra

Wihartoyo     Tuesday, November 26, 2013    
Untuk melakukan migrasi mail Zimbra, kesulitan pertama adalah memindahkan user ke server baru tanpa harus merubah password.  Masalahnya adalah kita tidak bisa langsung mengekstrak password dari sistem Zimbra.  Artinya untuk menampilkan userPassword dengan getAccount (ga) tidak akan kita dapatkan password yang bisa kita simpan untuk kita install di server baru.


zimbra@mail:~#zmprov ga sidoel@domain.co.id userPassword
# name sidoel@domain.co.id
userPassword:  VALUE-BLOCKED


Zimba, secara default, menggunakan internal LDAP untuk menjalan fungsi authentication.  Dan oleh karena itu, Zimbra menyediakan alternatif untuk berinteraksi dengan LDAP saat menggunakan zmprov dengan option 'l' yang disebutkan dalam 'help' nya sebagai 'provision via LDAP instead of SOAP'.
Baiklah, kita coba untuk menggunakan option '-l' untuk menggunakan LDAP.

zimbra@mail:~#zmprov -l ga sidoel@domain.co.id userPassword
# name sidoel@domain.co.id
userPassword:  {SSHA}QASTbMtzKr4fmlIytyOr28p4wBSieYmo

Sippp!
Sekarang bagaimana untuk mendapatkan seluruh account dan password?
zmaccts adalah internal tools dari zimbra yang digunakan untuk menampiklan seluruh account yang terdaftar di mail system zimbra baik yang aktif maupun tidak dalam urutan ke samping account,status,created, dan last logon. Karena informasi yang ditampilkan bercampur dengan informasi lain, kita bisa grep untuk yang hanya mengandung '@'.  Sementara karena account ditampilkan pada urutan pertama kita bisa menggunakan 'awk' untuk hanyak mencetak kolom pertama saja dengan awk '{print $1}'.  Perintah lengkapnya:

zimbra@mail:~#zmaccts

account                                    status          created                   last logon
--------------------------------------     ------------    ---------------------     --------------------------
tolo@domain.co.id                          active          11/01/13 14:00            11/20/13 18:00
tole@domain.co.id                          active          11/01/13 14:21            11/18/13  07:01
tono@domain.co.id                          closed          12/01/13 12:02            11/15/13  08:19
toni@domain.co.id                          active          12/01/13 12:15            never
dst....
zimbra@mail:~#zmaccts | grep @ | awk '{print $1}'
tolo@domain.co.id
tole@domain.co.id
tono@domain.co.id
toni@domain.co.id

dst....
Sipp lagi....
Nah, sekarang, untuk memigrasi account, cara yang paling mudah adalah membentuk batch file pembentukan account berdasar informasi dari server lama untuk kemudian dijalankan di server baru.
Pembentukan account masih menggunakan zmprov.  Oleh, karena kita menghendaki bahwa semua account mempunyai password yang sama maka setelah kita mengekstrak password dengan menggunakan LDAP, maka dalam menginstall account ke server baru juga harus menggunakan LDAP. 

zimbra@mail:~#zmprov -l ca sidoel@domain.co.id {SSHA}QASTbMtzKr4fmlIytyOr28p4wBSieYmo

Perintah di atas bisa dilengkapi dengan option-option tambahan

zimbra@mail:~#zmprov -l ca sidoel@domain.co.id {SSHA}QASTbMtzKr4fmlIytyOr28p4wBSieYmo displayName "Si Doel Gelo"
Option-option tambahan bisa didapat dari server lama dengan menggunakan zmprov dengan syntax yang sama dengan ketika kita mengekstrak password.
Misal, untuk mengetahui displayName
zimbra@mail:~#zmprov ga tolo@collega.co.id displayName
# name tolo@collega.co.id
displayName: Kacang Tolo

Sekali lagi, sipppp!!!
Setelah kita bisa mengambil beberapa informasi yang kita butuhkan untuk pembentukan account di server baru, kita bisa susun script pembentukan batch statement dengan kontent sebagai berikut.
#!/bin/bash
#Berikut adalah script yang digunakan untuk menysusun batch statement yang akan
#dijalankan di server baru
#bisa script ini dijalankan maka kita akan mendapatkan file existingAcc.sh yang bisa kita jalankan di server
#baru untuk membentuk account-account yang sama.
if [ -f existingAcc.sh ]; then
rm -f existingAcc.sh;
fi
touch existingAcc.sh;
echo "echo Installasi existing Account" > existingAcc.sh;
for i in `zmaccts | grep "@" | grep "active" | awk '{print $1}'`;do
 zmprov -l ga $i userPassword displayName zimbraAccountStatus > /tmp/zimbraAccount.txt;
    shLine1="";
    shLine2="";
    shLine3="";
    while read attr;do
      case $attr in
         userPassword*) export shLine1=`echo $attr | sed 's/userPassword: //'`;;
         displayName*) export shLine2=`echo $attr | sed 's/displayName: //'`;;
         zimbraAccountStatus*) export shLine3=`echo $attr | sed 's/zimbraAccountStatus: //'`;;
         *);;
     esac
    done < /tmp/zimbraAccount.txt
    echo "Extracting account $i and write into batch file";
    echo "zmprov -l ca $i $shLine1 displayName $shLine2 zimbraAccountStatus $shLine3" >>existingAcc.sh;
done
chmod +x existingAcc.sh;
Selamat mencoba......

Monday, November 25, 2013

Imapsync Tanpa Password User

Wihartoyo     Monday, November 25, 2013    
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)

Friday, November 22, 2013

Check Password Mysql Pada Zimbra

Wihartoyo     Friday, November 22, 2013    
Suatu saat saya terpaksa harus melakukan dump dan restore database mysql di dalam instalasi zimbra saya.  Permasalahanya adalah, "Apa password root mysql saya?"
Hm....
Hal yang paling saya ingat adalah bahwa zimbra banyak menyimpan konfigurasi pada local config nya, zmlocalconfig.
Saya coba jalankan 'zmlocalconfig | grep password' yang saya dapat cuma begini.

zimbra@mail:~$ zmlocalconfig | grep password
antispam_mysql_password = *
antispam_mysql_root_password = *
ldap_amavis_password = *
ldap_bes_searcher_password = *
ldap_nginx_password = *
ldap_postfix_password = *
ldap_replication_password = *
ldap_root_password = *
mailboxd_keystore_base_password = *
mailboxd_keystore_password = *
mailboxd_truststore_password = *
mysql_root_password = *
zimbra_ldap_password = *
zimbra_mysql_password = *
zimbra_vami_password = *
Bah semuanya make *, gimana mau lihat passwordnya? Jadi...
zimbra@mail:~$zmlocalconfig --help
usage: zmlocalconfig [options] [args]
where [options] are:
 -c,--config   File in which configuration is stored.
 -d,--default        Show default values for keys listed in [args].
 -e,--edit           Edit configuration file, changing keys and values
                     specified. [args] is in key=value form.
 -f,--force          Allow editing of keys whose change is known to be
                     potentially dangerous.
 -h,--help           Show this usage information.
 -i,--info           Show documentation for keys listed in [args].
 -l,--reload         Send a SOAP request to the server to reload its local
                     config.
 -m,--format   Show values in one of these formats: plain (default),
                     xml, shell, export, nokey.
 -n,--changed        Show values for only those keys listed in [args] that
                     have been changed from their defaults.
 -p,--path           Show which configuration file will be used.
 -q,--quiet          Suppress logging.
 -r,--random         Used with the edit option, sets specified key to
                     random password string
 -s,--show           Force display of password strings.
 -u,--unset          Remove a configuration key.  If this is a key with
                     compiled in defaults, set its value to the empty
                     string.
 -x,--expand         Expand values.

Ooke.... jadi harus make '-s'

zimbra@mail:~$ zmlocalconfig -s | grep password
antispam_mysql_password = 
antispam_mysql_root_password = 
ldap_amavis_password = PEN7FhlJU
ldap_bes_searcher_password = zmbes-searcher
ldap_nginx_password = PEN7FhlJU
ldap_postfix_password = PEN7FhlJU
ldap_replication_password = PEN7FhlJU
ldap_root_password = PEN7FhlJU
mailboxd_keystore_base_password = zimbra
mailboxd_keystore_password = purOcHvuKE
mailboxd_truststore_password = changeit
mysql_root_password = o74m98m8XmUhhyTjdsYgb_hr0mdfaIa
zimbra_ldap_password = nganuneanu@2013
zimbra_mysql_password = iwE2VarliGl0XjSpkdaf91HKNb1JkXWlh
zimbra_vami_password = vmware

Nah monggo silakeun dipake....

Wednesday, November 20, 2013

Ketupluk Oh Ketupluk

Wihartoyo     Wednesday, November 20, 2013    
Ketupluk, kepinding tanah, atau yang punya nama keren Scotinophara Coarctata sekarang lagi musim banget di kampung saya di tlatah Cilacap, tepatnya di desa Kalikudi.  Ada yang bilang, karena sekarang musim panen dan sawah mulai di traktor, makanya itu ketupluk pada keluar terbang.
Sawah Abis Ditraktor
Yang lumayan bikin rese, itu ketupluk yang bersifat fototaksis positif yang berarti selalu terbang mendekati cahaya akan menjadi object yang sangat mengganggu ketika kita melakukan aktifitas malam hari. Disamping bahwa ketupluk yang berterbangan itu mengganggu aktifitas kita, secara tiba-tiba kita pun akan mendapatkan 'sensasi' rasa gatal, dan bau yang sanga menyengat.  'Sensasi' karena saya gak yakin, apa itu gatal beneran atau bukan.  Karena, toh, saudara-saudara di sana tidak berasa gatal.  Disamping itu, makanan yang menjadi teman kita pun menjadi tidak lagi menantang untuk kita santap.
Sisa ketupluk setelah disapuin

Karena sifatnya yang gemar cahaya, lampu-lampu penerang jalan ditempat-tempat yang tidak jauh dari sawah juga menjadi tempat favorit mereka.  Bahkan saking favoritnya, mereka jadi lupa pulang.  Alhasil, pagi harinya daerah pada radius 1.5 meter di sekitar tiang lampu harus dibersihkan.  Membersihkannya pun tidak cukup menggunakan sapu.  Harus disekop dulu, baru disapu.  Bisa dibayangkan, bagaimana banyaknya ketupluk yang berpesta di sana?
Pagi hari di salah satu sudut tempat pesta para ketupluk pada malam harinya.
(Maaf gak ngambil yang lebih dari ini, gak kuat baunya)
Apa Itu Ketupluk Sebenarnya?
Saking terkesannya kepada binatang satu ini, saya berusaha mencari informasi tentang binatang ini. Sebagaimana disebut di atas, ketupluk mempunyai nama latin Scortinophara Coarctata.  Namun ada yang menyebutkan bahwa di jawa kebanyakan adalah dari species Scotinophara Vermiculata atau Scotinophara Cinerea.  Nah karena ada tiga kemungkinan penyerang aktif yang saya temui, maka saya lebih suka menyebutnya Scotinophara spp. Binatang hama yang berwarna hitam dan kadang kecoklatan ini hidup di pangkal batang padi.  Ada yang bilang, binatang hama ini menyerang pada pada saat fase vegetatif maupun generatif.  Jika serangan terjadi pada fase vegetatif maka, akan mengakibatkan berkurangnya jumlah anakan padi.  Sementara serangan pada fase generatif akan mengakibatkan tanaman padi menjadi pendek dengan bulir padi yang kosong.
Scotinophara Coarctata
(Sumber: 
http://www.padil.gov.au/maf-border/Pest/Main/141078)
Ketupluk menyerang padi dengan menghisap cairan pangkal batang tanaman padi. Dan pada saat tidak tanam, mereka bertahan hidup pada bongkahan tanah yang berumput. Cara yang paling murah untuk mengurangi populasi hama ini adalah dengan melakukan tanam serempak, menggenangi sawah dengan air, dan menjebak kepinding dewasa menggunakan lampu petromak di atas genangan air.
(Dari berbagai sumber dan pengalaman sendiri)

Wednesday, November 13, 2013

Login SSH Lama (Ubuntu 13)

Wihartoyo     Wednesday, November 13, 2013    
Mas, kenapa sih kalo kita login make SSH linux suka lama?
O, itu... Itu sih karena ada konfigurasi di sshd_config yang kurang kamu perhatiin.
La ya udah saya perhatiin to Mas.  Masa gak diperhatiin.  La wong bikin keki gini.  Langkah pertama, pastinya ya cari penyakitnya.
Kamu pasti make Ubuntu, ya?
Iya, kok tahu?
La yo mesti tahu.  Itu emang kelakukannya Ubuntu. Ada konfigurasi default yang gak tampil di sshd_config.  Coba kamu jalanin ini:
root@compisaya:~#grep UseDNS /etc/ssh/sshd_config
ada nongol gak?
Gak ada, Mas!
Na..., ya itu. Tapi kadang-kadang ada juga hasilnya. Biasanya begini:
root@compisaya:~#grep UseDNS /etc/ssh/sshd_config
#UseDNS yes


Nah kalo dilihat dari kelakuannya, sepertinya kalo yang gak ada yang nongol sudah dianggap default yes. Dan yang nongol dengan nilai yes, meskipun di-comment, tetep ada dianggep yes.

Jadi, gimana penyelesaiannya?

Gini, coba kamu jalankan di server yang bandel untuk yang gak ada yang nongol:
root@compisaya:~#echo "UseDNS no" >> /etc/ssh/sshd_config
root@compisaya:~#service ssh restart
terus kamu login ulang.

Sementara, untuk yang ada yang nongolnya kita rubah nilainya.  Jalankan ini.
root@compisaya:~#sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config'
root@compisaya:~#service ssh restart


Ok, Mas, saya coba dulu.....

Thursday, October 24, 2013

Hukum MLM (Multi Level Marketing)

Wihartoyo     Thursday, October 24, 2013    


Assalammu'alaikum.
Ustadz saya mau tanya tentang hukum "Multi Level Marketing" dalam syariat Islam menurut Al Qur'an dan As Sunnah???
Jazakullah Khairan.
.................................................
Berikut ini jawaban para ulama dalam komisi riset dan fatwa tentang hokum MLM, semoga bermanfaat.
Fatwa Lajnah Da’imah[1] (Komisi Khusus Bidang Riset Ilmiah dan Fatwa) pada tanggal 14/3/1425 dengan nomor (22935)
Sangat banyak pertanyaan-pertanyaan yang masuk ke Al-Lajnah Ad-Da’imah Li Al-Buhuts Al-Ilmiyah wa Al-Ifta, tentang aktifitas perusahaan-perusahaan pemasaran berpiramida atau berjejaring (MLM, Multi Level Marketing)) seperti Biznas dan hibah Al-Jazirah. Kesimpulan aktifitas mereka adalah meyakinkan seseorang untuk membeli sebuah barang atau produk agar dia (juga) mampu meyakinkan orang-orang lain untuk membeli produk tersebut (dan) agar orang-orang itu juga meyakinkan yang lainnya untuk membeli, demikian seterusnya. Setiap kali bertambah tingkatan anggota dibawahnya (downline), maka orang yang pertama akan mendapatkan komisi yang besar yang mencapai ribuan real. Setiap anggota yang dapat meyakinkan orang-orang setelahnya (downline-nya) untuk bergabung, akan mendapatkan komisi-komisi yang sangat besar yang mungkin dia dapatkan sepanjang berhasil merekrut anggota-anggota baru setelahnya ke dalam daftar para anggota. Inilah yang dinamakan dengan pemasaran berpiramida atau berjejaring (MLM).
JAWAB:
Alhamdullilah,
Komisi fatwa  menjawab pertanyaan diatas sebagai berikut:
Sesungguhnya transaksi sejenis ini adalah haram. Hal tersebut karena tujuan dari transaksi itu adalah komisi dan bukan produk. Terkadang komisi dapat mencapai puluhan ribu real sedangkan harga produk tidaklah melebihi sekian ratus real saja. Seorang yang berakal ketika dihadapkan antara dua pilihan, niscaya ia akan memilih komisi. Karena itu, sandaran perusahaan-perusahaan ini dalam memasarkan dan mempromosikan produk-produk mereka adalah menampakkan jumlah komisi yang besar yang mungkin didapatkan oleh anggota dan mengiming-imingi mereka dengan keuntungan yang melampaui batas sebagai imbalan dari modal yang kecil yaitu harga produk. Maka produk yang dipasarkan oleh perusahaan-perusahaan ini hanya sekedar label dan pengantar untuk mendapatkan komisi dan keuntungan.
Tatkala ini adalah hakikat dari transaksi di atas, maka dia adalah haram karena beberapa alasan:
Pertama: transaksi tersebut mengandung riba dengan dua macam jenisnya; riba fadhl[2]dan riba nasi’ah[3].  Anggota membayar sejumlah kecil dari hartanya untuk mendapatkan jumlah yang lebih besar darinya. Maka ia adalah barter uang dengan bentuk tafadhul (ada selisih nilai) dan ta’khir (tidak kontan). Dan ini adalah riba yang diharamkan menurut teks (alqur’an dan hadits) dan kesepakatan para ulama. Produk yang dijual oleh perusahaan kepada konsumen tiada lain hanya sebagai kedok untuk barter uang tersebut dan bukan menjadi tujuan anggota (untuk mendapatkan keuntungan dari pemasarannya) , sehingga (keberadaan produk) tidak berpengaruh dalam hukum (transaksi ini).
Kedua: ia termasuk gharar[4] yang diharamkan menurut syari’at.
Hal itu karena anggota tidak mengetahui apakah dia akan berhasil mendapatkan jumlah anggota yang cukup atau tidak?. Dan bagaimanapun pemasaran berjejaring atau piramida itu berlanjut, dan pasti akan mencapai batas akhir yang akan berhenti padanya. Sedangkan anggota tidak tahu ketika bergabung didalam piramida, apakah dia berada di tingkatan teratas sehingga ia beruntung atau berada di tingkatan bawah sehingga ia merugi? Dan kenyataannya, kebanyakan anggota piramida merugi kecuali sangat sedikit di tingkatan atas. Kalau begitu yang mendominasi adalah kerugian. Dan ini adalah hakikat gharar, yaitu ketidakjelasan antara dua perkara, yang paling mendominasi antara keduanya adalah yang menjadi pertimbangan. Dan Nabi shalallahu ‘alaihi wa sallam telah melarang dari ghararsebagaimana diriwayatkan oleh Muslim dalam shahihnya.
Tiga: apa yang terkandung dalam transaksi ini berupa memakan harta manusia dengan cara yang tidak dibenarkan oleh syari’at, dimana tidak ada yang mengambil keuntungan dari akad (transaksi) ini selain perusahaan dan para anggota yang ditentukan oleh perusahaan dengan tujuan menipu anggota lainnya. Dan hal inilah yang datang nash pengharamannya dengan firman (Allah) Ta’ala,
“Hai orang-orang yang beriman, janganlah kamu saling memakan harta sesamamu dengan jalan yang batil (tidak benar)” [An-Nisa’:29]
Empat: apa yang terkandung dalam transaksi ini berupa penipuan, pengkaburan dan penyamaran hakikat yang sebenarnya terhadap orang-orang, dari sisi menampakan produk seakan-akan itulah tujuan dalam transaksi, padahal kenyataanya adalah bukan itu. Dan dari sisi, mereka mengiming-imingi komisi besar, yang seringnya tidak terwujud. Hal ini termasuk penipuan yang diharamkan. Nabi shalallahu ‘alaihi wa sallam telah bersabda,
“Barangsiapa yang menipu maka ia bukan termasuk golonganku” [Dikeluarkan Muslim dalam shahihnya]
Dan beliau juga bersabda,
“Dua orang yang bertransaksi jual beli mempunyai hak pilih (khiyar) selama belum berpisah. Jika keduanya saling jujur dan transparan, niscaya akan diberkati transaksinya. Dan jika keduanya saling dusta dan menutupi, niscaya akan dicabut keberkahan transaksinya.”[Muttafaqun’Alaihi]
Adapun pendapat bahwa transaksi ini tergolong samsarah (makelar), maka itu tidak benar. Karena samsarah adalah transaksi (dimana) pihak pertama mendapatkan imbalan atas usahanya mempertemukan barang (dengan pembelinya). Adapun pemasaran berjejaring (MLM), anggotanya-lah yang mengeluarkan biaya untuk memasarkan produk tersebut. Sebagaimana maksud hakikat dari makelar adalah memasarkan barang, berbeda dengan pemasaran berjejaring (MLM), maksud sebenarnya adalah pemasaran komisi dan bukan (pemasaran) produk. Karena itu orang yang bergabung (dalam MLM) memasarkan kepada orang yang akan memasarkan dan seterusnya (mencari downline). Berbeda dengan makelar, (dimana) pihak perantara benar-benar memasarkan kepada calon pembeli barang. Perbedaan diantara dua transaksi diatas adalah jelas.
Adapun pendapat yang menyatakan bahwa komisi-komisi tersebut masuk dalam kategori hibah (pemberian), maka inipun tidak benar. Andaikatapun pendapat itu diterima, maka tidak semua bentuk hibah itu boleh menurut syari’at. Seperti hibah yang terkait dengan suatu pinjaman adalah riba. Karena itu, Abdullah bin Salam berkata kepada Abu Burdah radhiyallahu’anhuma,
“Sesungguhnya engkau berada di suatu tempat yang tersebar riba didalamnya. Maka jika engkau memiliki hak pada seseorang kemudian dia menghadiahkan kepadamu sepikul jerami, sepikul gandum atau sepikul tumbuhan maka ia adalah riba.”[Dikeluarkan oleh Al-Bukhary dalam Ash-Shahih]
Dan (hukum) hibah pemberian  dilihat dari sebab terwujudnya hibah tersebut. Karena itu Nabi ‘alaihish shalatu wa sallam bersabda kepada pekerjanya yang datang lalu berkata, “Ini untuk kalian, dan ini dihadiahkan kepada saya.” Beliau ‘alaihish shalatu wa sallam pun menimpali,
“Tidakkah sepantasnya engkau duduk di rumah ayahmu atau ibumu, lalu engkau menunggu apakah dihadiahkan kepadamu atau tidak?” [Muttafaqun’Alaih]
Dan komisi-komisi ini hanyalah diperoleh karena bergabung dalam sistem pemasaran berjejaring. Maka apapun namanya, baik itu hadiah, hibah atau selainnya, maka hal tersebut sama sekali tidak mengubah hakikat dan hukumnya.
Dan (juga) hal yang patut disebut disana ada beberapa perusahaan yang muncul di pasar bursa dengan sistem pemasaran berjejaring atau berpiramida (MLM) dalam transaksi mereka, seperti Smart Way, Gold Quest dan Seven Diamond. Dan hukumnya sama dengan perusahaan-perusaha an yang telah disebutkan diatas. Walaupun sebagiannya berbeda dengan yang lainnya pada produk-produk yang mereka perdagangkan.
Wabillahi taufiq wa shalallahu ‘ala Nabiyina Muhammad wa aalihi wa shohbihi.
[Fatwa diatas ditanda-tangani oleh Syaikh ‘Abdul ‘Azis Alu Asy-Syaikh (ketua), Syaikh Shalih Al-Fauzan, Syaikh Abdullah Al-Ghudayyan, Syaikh Abdullah Ar-Rukban, Syaikh Ahmad Sair Al-Mubaraky dan Syaikh Abdullah Al-Mutlaq]







[1]  Al Lajnah Ad Daimah lil buhuts wal ifta (komisi khusus bagian riset ilmiah dan fatwa) adalah sebuah lembaga riset dan fatwa di Negara Arab Saudi, yang beranggotakan para ulama yang terkemuka yang memiliki kapabilitas dibidangnya yang diakui dunia.
[2]  Riba fadhl adalah jual beli barang ribawi yang sejenis dengan penambahan nilai pada salah satunya contohnya emas 1 gr dijual dengan emas 2 gram, atau kurma 1 kg dijual dengan kurma 2 kg
[3] Riba Nasiah adalah jual beli barang ribawi dengan mengakhirkan waktu transaksi (tidak kontan) baik ada perbedaan nilai atau tidak contoh jual emas 1 gram dengan emas lain 1gram namun diterima setalah satu minggu (tidak kontan) semua ini termasuk riba yang dilarang dalam islam.
[4] Disyaratkan dalam jual beli yang direstui syariat adalah tidak ada unsur penipuan atau ketidak jelasan (Gharar)

Friday, October 18, 2013

Mematikan Zimbra Virus Scan untuk File / Arsip Terenksipsi

Wihartoyo     Friday, October 18, 2013    
Mempunyai mail server dengan dilengkapi anti spam dan anti virus mungkin akan membuat kita cukup tenang karena kita gak harus mendapatkan pesan busuk namun juga gak harus ikut serta berpartisipasi menyebarkan virus.   Tapi, ketika menginstall Zimbra 8.0.5 versi opensource, saya sedikit agak terkaget-kaget.  Terutama ketika salah satu pemilik account komplain, kenapa tagihan kartu kreditnya yang dialamatkan ke alamat e-mail dia kok gak nyampe.  Katanya dianggep virus.  Nah lo....!
Selidik punya selidik, ternyata si Zimbra 8.0.5 ini memperlakukan encrypted file sebagai virus.  Karena dia gak bisa check sampai ke dalem file tentunya.  Ck ck ck ck....! Suatu langkah preventif yang sangat keji.  Gua gak kenal lu, lu gak boleh masuk. Sanah gih nongkrong di karantina saja!!!  Beh....!
Dan, betul saja banyak banget email numpuk di account karantina.  Wah wah wah!!!
Untuk menyelesaikan masalah ini mau-gak-mau dan apapun namanya itu terpaksa aku harus ngalah dengan menjalankan ini:



zimbra@mail:~#zmprov mcf zimbraVirusBlockEncryptedArchive FALSE[enter]




Dan, kemudian, dilanjutkan dengan memforward seluruh e-mail yang dituduh bawa virus kepada seluruh penerima aselinya. Hhhhhh.....

Thursday, October 17, 2013

Mengamankan SSH dengan Google Authenticator pada Ubuntu Server

Wihartoyo     Thursday, October 17, 2013    
Seringkali kita terpaksa harus membuka port ssh server ke public untuk memudahkan kita melakukan perawatan terhadap server kita tersebut. Mengubah port ssh mungkin yang paling pertama dilakukan untuk meningkatkan pengamanan.  Kemudian menggunakan VPN dengan self-signed SSL ditambahkan untuk meningkatkan pengamanannya.  Namun, menggunakan token authentication sebagai adaptasi dari Challenge Response authentication untuk menambah perimeter pengamanan mestinya bisa memperkuat pengamanan koneksi ssh.  Karena, ini menyangkut investasi.  Dan beberapa entity mungkin masih sangat sensitif dengan hantu "investasi baru".  Dan mungkin cenderung mengabaikannya.  Ini, tentunya menjadi tantangan sendiri bagi para admin.  Bagaimana bisa memudahkan sekaligus mengamankan tugasnya tanpa harus berhadapan dengan hantu investasi ini.
Perkembangan teknologi membuat proses pengamanan harus semakin kuat, namun disisi lain banyak tersedia alat pengamanan yang semakin terjangkau.  Terima kasih kepada Google yang telah menyediakan Google Authenticator secara free di Playstore (maaf, saya bukan pengguna blekberi ataupun ifon/ped jadi saya singgung marketnya). Dan pam lib nya secara free pula.  Dan di sini, saya akan menyajikan sedikit saja yang saya tahu tentang install google authenticator untuk mengamankan authentikasi ssh kita di Ubuntu Server (sekali lagi, saya memang lebih suka menggunakan Ubuntu, karena dia menyediakan servernya untuk yang free.  Dan bukan tes ped bagi versi komersil).

Pertama, kita install dulu google authenticator pam lib nya dengan cara yang cukup mudah sebagai berikut:



mastoyo@jagoan-neon:~$ sudo apt-get install libpam-google-authenticator
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libpam-google-authenticator
0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded.
Need to get 25.1 kB of archives.
After this operation, 104 kB of additional disk space will be used.
Get:1 http://ubuntu.pesat.net.id/archive/ precise/universe libpam-google-authenticator i386 20110413.68230188bdc7-1.1 [25.1 kB]
Fetched 25.1 kB in 0s (205 kB/s)
Selecting previously unselected package libpam-google-authenticator.
(Reading database ... 604771 files and directories currently installed.)
Unpacking libpam-google-authenticator (from .../libpam-google-authenticator_20110413.68230188bdc7-1.1_i386.deb) ...
Processing triggers for man-db ...
Setting up libpam-google-authenticator (20110413.68230188bdc7-1.1) ...


Nah, kalo sudah, kita bisa lanjutkan dengan merubah configurasi pam nya.
Make gambar aja ya!

mastoyo@jagoan-neon:~$ sudo nano /etc/pam.d/sshd[enter]



Setelah kita edit konfigurasi pam untuk ssh, kemudian kita edit konfigurasi ssh untuk bisa menjalankan Challenge Response authentication dengan menjalankan (make gambar juga nih):


mastoyo@jagoan-neon:~$ sudo nano /etc/ssh/sshd_config[enter]



Rubah "no" menjadi "yes"!
Setelah itu, kita generate "secrets" dari google authenticatornya dengan menjalankan binary dari google authenticator.

mastoyo@jagoan-neon:~$ google-authenticator[enter]
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/mastoyo@jagoan-neon%3Fsecret%3DP4UYV.....YA.GC
<snip>

Your new secret key is: P4UYV.....YA.GC
Your verification code is 190141
Your emergency scratch codes are:
56...993
5043...5
6...5689
2027...1
4..22.12

Do you want me to update your "~/.google_authenticator" file (y/n) y [ jawab dengan y]
<snip>


Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y [ jawab dengan y]

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y [ jawab dengan y]

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y [ jawab dengan y]


Setelah semua dijalankan kemudian tambahkah account google authenticator pada aplikasi google authenticator di gadget android  kita dengan cara melakukan scanning barcode yang digenerate saat meng-generate secrets dari google authenticator di server.


Atau dengan mengcopy url yang terbentuk pertama kali sesaat setelah menekan [enter] ketika menggenerate secrets dan paste ke browser untuk menampilkan ulang QR codenya.  Atau mungkin dengan memasukkan secret secara manual ke dalam aplikasi Google Authenticator pada gadget android kita.

Terakhir, kita restart ssh service kita dengan
mastoyo@jagoan-neon:~$ sudo service ssh restart[enter]
ssh stop/waiting
ssh start/running, process 17303
mastoyo@jagoan-neon:~$
Kemudian kita bisa test dengan jalanin ini:
mastoyo@jagoan-neon:~$ ssh localhost
Password:
Verification code:
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-44-generic-pae i686)

* Documentation: https://help.ubuntu.com/

15 packages can be updated.
0 updates are security updates.

Last login: Fri Oct 18 07:33:35 2013 from localhost
mastoyo@jagoan-neon:~$

SUDAH!

Thursday, October 10, 2013

Zimbra 8, Membatasi Pengirim Ke Distribution List Hanya dari Suatu Domain

Wihartoyo     Thursday, October 10, 2013    
(Zimbra ver. 8 dan ver. 5 dipakai untuk referensi, karena ini yang pernah saya pergunakan. Kedua-duanya edisi open source).

Zimbra merupakan salah satu Mail Server favorite saya, terutama pada web client nya yang cocok untuk diimplementasikan dalam kebutuhan bisnis. Cuma sayang, untuk versi 8, ada satu fitur kolaborasi yang hilang,  web chat.  Tapi ini tidak menjadi masalah, bila kemudian bisa tertutupi dengan banyak kemudahan yang disediakan untuk proses adminnya.  Salah satunya adalah pembatasan akses distribution list yang pada versi 5 masih harus dilakukan dengan ngoprek langsung ke server console nya dengan menambahkan beberapa script dan database.  Pada Zimbra versi 8, proses tersebut telah dipermudah dengan sedikit action di server console dan web base admin interface nya.

Pembatasan pengirim email ke distribution list bisa dilakukan dengan meng-enable-kan milter server melalui Zimbra admin interface pada Configure->Global Settings->MTA, sebagaimana bisa dilihat pada gambar berikut:

Enabling Milter Sever
Kemudian, setelah kita aktifkan Milter Server nya, langkah selanjut nya adalah grant akses kepada semua account domain terpilih untuk mengirim ke distribution list (detil bisa dilihat di sini).  Perintah pemberian grantt ini, saat ini hanya bisa dilakukan dari server terminal console. Dan bila kita hanya memberikan akses kepada domain, sebagai contoh, mastoyo.com, maka kita bisa menjalankan zmprov dengan perintah grantRight / grr. Syntaxnya adalah:


zmprov grantRight(grr) {target-type} [{target-id|target-name}] {grantee-type} [{grantee-id|grantee-name} [secret]] {right}

sederhananya:
zmprov grr dl <dlname@example.com> dom <example.com> sendToDistList


Contoh, kita hanya memberikan akses mengirimi email ke distribution list allUser@mastoyo.com hanya kepada seluruh account pada domain mastoyo.com maka perintahnya adalah:
root@mail:~#su - zimbra[enter]
zimbra@mail:~#zmprov grr dl allUser@mastoyo.com dom mastoyo.com sendToDistList[enter]

Ada kalanya, kita mempunya banyak distribution list dan akan menjalanka pembatasan itu, maka kita bisa membuat shell scrip sederhana yang berisi baris-baris sebagai berikut:
#ambil seluruh distribution list yang ada dengan 'zmprov gadl' dan berikan grantt hanya ke domain mastoyo.com
#kepada masing-masing distribution list.

for dl in `zmprov gadl mastoyo.com`; do
zmprov grr dl $dl dom mastoyo.com sendToDistList
done;


O ya, jangan lupa mereload milternya dengan:
zimbra@mail:~#zmmilterctl reload[enter]
Setelah kita jalankan script di atas, kita bisa mencoba mengirim email dari luar domain. Dari gmail.com misalnya. Jika kita berhasil, maka pengiriman dari user di luar domain mastoyo.com akan ditolak. Gambar berikut adalah contoh tolahan e-mail yang dikirim ke suatu distribution list.

Monggo, silakan mencoba.


Bagaimana Mengembalikan ethX adapter yang "Menghilang" Setelah Pindah Mesin (Ubuntu Server)

Wihartoyo     Thursday, October 10, 2013    
Sugeng enjang, Mas....!
Ya, selamat pagi.... Tumben pagi-pagi dah uluk salam.  Ada gerangan apakah?
He he he.. si Mas tahu aja...!
La ya tahu... wong ndhak biasanya begitu....
Gini, Mas! Langsung aja..
Ya bagusnya langsung aja! Gimana?
Saya punya server make Ubuntu Server 12.04.  Server ini udah beberapa bulan jalan.  Nah sekarang udah minta upgrade mesin. Udah mulai ngos-ngosan, Mas!
La, njur, masalahnya apa? Tinggal diupgrade aja, ganti mesin, emang kenapa?
Udah, Mas!  Tapi gini, setelah kita adakan mesin baru, njur hard disk nya kita pindah ke mesin baru, jaringannya gak mau jalan!
La kalo gak mau jalan ya suruh mbecak, apa digendong kalo kuat... he he he....
Ha ha ha.... si Mas bisa aja.  Maksudnya gak mau jalan tuh, setelah kita lihat ternyata network adapter nya gak ke-detect, hilang aja gitu.  Kita probe juga gak mau.
O, masalah itu.  Gampang itu!
Ya kalo gampang ya kasih tahu, dong!
Kamu masuk ada ke terminal console nya.  Langsung ke mesinnya.  Terus buka file ini

sampeyan@computer:~#sudo nano /etc/udev/rules.d/70-persistent-net.rules
Kemudian buang/hapus baris-baris subsytem.
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x197b:/sys/devices/pci0000:00/0000:00:1c.3/0000:06:00.0 (jme)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:90:f5:b4:6c:bd", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


Kalo sudah simpan (F2) dengan menimpa file lamanya. Reboot mesinnya.

Udah, Mas?
Udah
Gitu aja?
Iya, gitu aja.  Emangnya mau gimana lagi? Udah sana diberesin servernya!!!
Eh, iya, iya Mas. Makasih!
Ya

Thursday, September 12, 2013

Terima Kasih KingSoft

Wihartoyo     Thursday, September 12, 2013    
Kalo dulu pernah saya posting tentang KingSoft Office sebagai alternatif terbaik microsoft office, itu artinya saya seneng bahwa akhirnya ada yang bisa menyaingi  Microsoft Office. Tapi itu masih di Windows.  Nah lo, masih main di Windows aja saya udah seneng.  Bagaimana jika kemudian Kingsoft ngeluarin yang di Linux? Dan itu ternyata bukan cuma hayalan.  Setelah main-main di IOS dan Andro, ternyata Kingsoft juga main di Linux. Dan gak tanggung-tanggung, dengan tetap membawa semangan berbagi, Kingsoft membuat site khusus buat komunitas di http://wps-community.org/. Versi terakhir adalah A12.  Yang pengin donlod boleh klik link ini.

Penampakan
Dari sisi penampakan, sepertinya Kingsoft enggan untuk membuat penampakan yang berbeda sebagaimana pada OpenOffice.  Kingsoft lebih suka untuk 'meniru' penampakan dari Microsoft Office. Buat saya yang make, ini bukan suatu kesalahan.  Karena bagaimanapun harus diakui bahwa the real office standard adalah Microsoft Office.  Dan antar muka aplikasi juga akan sangat menentukan bahwa suatu aplikasi Office akan digunakan oleh user atau tidak.  Dan, dengan mimics tampilan Microsoft Office, user juga tidak akan disulitkan dengan perubahan kebiasaan.

Penampakan Kingsoft Office di Ubuntu 12.0.4 dekstop.

Dari gambar di atas, sepertinya agak aneh bila masih ada yang takut menggunakan linux.  Lihatlah, betapa cantiknya dokumen yang diedit dengan Kingsoft Writer.  Atau spreadsheet ini,

Penampakan Spreadsheet Kingsoft pada Ubuntu 12.0.4 Desktop
Atau bagaimana dengan presentasi ini?

Hmmm... saya yakin, sebagian kita sudah mulai berfikir, bahwa menggunakan Microsoft Windows sekarang bukan lagi keharusan.  Terima Kasih Kingsoft!!!!

Monday, June 3, 2013

Pareidolia Mars

Wihartoyo     Monday, June 03, 2013    
Ketika penggemar UFO yang telah terkontaminasi teori konspirasi merasa mereka menemukan ada kehidupan di planet Mars, temannya yang lebih berfikir logis akan lebih berhati-hati dalam berpendapat. Seperti penampakan gambar berikut:

Perhatikan gambar yang dilingkari. Tikus? Ah.. bukan.... itu bukan tikus......
Yup itu cuman sekadar pareidolia yang setelah dicari di Wiki kira-kira artinya tuh:

Pareidolia (pengucapan bahasa Inggris: [pærɪˈdoÊŠliÉ™] pa-ri-DOE-lee-É™) ) adalah sebuah fenomena psikologis yang melibatkan stimulus samar-samar dan acak (seringkali sebuah gambar atau suara) yang dianggap penting. Contoh umum termasuk melihat gambar binatang atau wajah-wajah di awan, pria di bulan atau kelinci Bulan, dan pendengaran pesan tersembunyi di rekaman yang dimainkan secara terbalik. Kata ini berasal dari bahasa Yunani para-- "samping", "dengan", atau "bersama"-yang berarti, dalam konteks ini, sesuatu yang salah atau salah (seperti dalam paraphasia, pidato gangguan) dan eidolon - "gambar", kata pengecil dari eidos - "gambar", "bentuk", "bentuk".

Banyak sekali sebenarnya bentuk-bentuk pareidolia dari planet Mars.  Yang terkenal antara lain adalah:
1. Tumbuhan di planet Mars

---------Sejatinya, umbuhan ini cuma semburan gas karbon. Kejadian ini umumnya terjadi pada musim seminya Mars.

2. Balok kayu di Mars


---------Sejatinya, ini cuma sekedar pemandangan yang lumrah. Namun karena penampakannya sangat mirip dengan kayu, maka orang mendaulatnya sebagai kayu yang ada di Mars.

3. Wajah di Mars? Pyramid?
Ah...  sama saja, sepertinya semuanya cuma sekedar kesalahan penglihatan dan berdasarkan informasi dasar yang kita punya, maka kita menganggap/berharap semua kejadian itu adalah tanda-tanda kehidupan di Mars. Jadi? Ayolah kita berfikir rasional sajah.....

Thursday, May 23, 2013

Deploy Commercial (Thawte) SSL Certificate Zimbra 5.0

Wihartoyo     Thursday, May 23, 2013    
Untuk menginstall SSL sertifikat ke webserver semisal Apache, mungkin, adalah hal yang umum dan bahkan ketika kita melakukan pemesanan sertifikat SSL tersebut pun telah kita tentukan untuk penginstallan ke sistem yang salah satu pilihannya adalah Apache dan mod_ssl. Dan tidak ada pilihan Zimbra.
Nah lo...
Tapi jangan kuatir don't worry! Karena, saya kurang tahu pastinya kenapa, namun yang pasti ini lebih ditentukan karena formatnya. Dan dalam hal ini zimbra masih menggunakan format yang sama dengan format Apache. So, no problem with the SSL commercial certificate installation into zimbra system. It will only be about the installation procedure that you must know.
Anggapan yang berlaku dalam dongeng ini cuma satu. Pelaku harus sudah punya file srtifikat dan intermediate dam *.pem format yang valid.

Langkah Pertama
Langkah pertama yang harus dilakukan dalam rangka mempersiapkan SSL sertificate untuk diinstall ke system zimbra adalah login sebagai root dan masuk ke direktori commercial ssl dari zimbra.

root@mymail:~# cd /opt/zimbra/ssl/zimbra/commercial [enter]


Download file thawte_Primary_Root_CA.pem.  Copy file private key, intermediate, dan file sertificate.

Langkah Kedua
Setelah semua file yang dibutuhkan tersedia; rename private key menjadi commercial.key, file sertifikat menjadi commercial.crt, dan gabungkan thawte_Primary_root_CA.pem dengan intermediate file dan certificate file.

root@mymail:~#cat thawte_Primary_Root_CA.pem intermediate.pem commercial.crt > commercial_ca.crt

Langkah ketiga
Sampeyan haru lakukan verifikasi dengan perintah berikut:

root@mymail:~#/opt/zimbra/bin/zmcertmgr verifycrt comm commercial.key commercial.crt commercial_ca.crt

dan sampeyan harus bisa mendapatkan hasil berikut:

** Verifying commercial.crt against commercial.key
Certificate (commercial.crt) and private key (commercial.key) match.
Valid Certificate: commercial.crt: OK



Langkah Keempat.

Ini adalah langkah terakhir.  Tetap sebagai root, deploy sertifikat ke dalam sistem zimbra dengan perintah berikut:

root@mymail:~#/opt/zimbra/bin/zmcertmgr deploycrt comm commercial.crt commercial_ca.crt

***Sorry dorry morry bin maaf wal nyuwun ngapunten gak bisa nampilin hasilnya****

Langkah Penutup
Ini bukan langkah deployment, tapi langkah untuk mengefektifkeun sertifikat ke dalam sistem zimbra.  Di sini sampeyan harus login sebagai zimbra dan lakukan restart sytem dengan perintah berikut

zimbra@mymail:~#zmcontrol stop[enter]
zimbra@mymail:~#zmcontrol start[enter]

Sudah!!!!!!

Wednesday, May 22, 2013

Mengaktifkan Lebih dari Satu SSL Virtual Host Pada Apache

Wihartoyo     Wednesday, May 22, 2013    
Untuk beberapa keperluan, mungkin kita dihadapkan pada pilihan untuk menggunakan wildcard SSL Certificate yang memungkinkan 1 sertifikat SSL bisa digunakan untuk banyak sub domain.  Secara ekonomis, wildcard SSL Certificate memang menjadi jauh lebih murah apabila kita mempunya banyak sub domain yang akan dilindungi.  Namun, ini mungkin akan menimbulkan sedikit kesulitan bagi orang yang harus menginstall sertifikat tersebut apabila beberapa sub domain tersebut dijalankan pada satu server, satu ip, dan satu service apache (kita hanya akan membahas Apache).

Jamaknya, installasi sub domain pada server apache menggunakan direction (tag) <VirtualHost ip:port="">.  Namun masalah akan muncul bila kita sebelumnya sudah terbiasa dengan membuat virtual host untuk http (port 80) dan akan mencoba membuat virtual host untuk https (port 443).  Karena kita akan cenderung untuk melakukan hal yang biasa dibuat untuk port 80 kepada penyiapan SSL virtual host.  Bila hanya ada 1 SSL virtual host, apache will work properly. Namun bila kita harus menyiapkan  lebih dari 1 SSL virtual host, masalah baru akan muncul. Server tidak bisa dijalankan, dan bila kita buka log maka akan muncul seperti ini:


[Tue May 21 11:59:52 2013] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down


Meskipun pada beberapa blog telah diuraikan bahwa, mulai Apache ver. 2.2.12, dukungan untuk memasang lebih dari satu SSL site pada satu IP (yang tentunya dilakukan dengan pendfinisian VirtualHost) dengan kemampuan yang disebut SNI (Server Name Indication). Namun, kenyataan yang ditemui seringkali tidak seindah yang diharapkan. Error message seperti di atas masih muncul dan server refuse our command to run. It make the technicians entering the crazy state. Even the have set SSLStrictSNIVHostCheck keyword disabled (although the default value is off or disabled). Wis kon... kapokmu kapan kon.

Setelah berusaha menjelajah alam internet dengan senantiasa marak sowan kepada mBah Gugel, akhirnya ketemu juga permasalahannya. Ternyata, kuncinya itu ada pada konfigurasi openssl nya. Nah lo... Jadi ini masalahnya ada pada SAN (Subject Based Alternative Name) extension. Jadi masalahnya bukan di Apache nya tapi di OpenSSL nya.

Extension ini diperkenalkan pertama kali pada tahun 1999. Dan sampai saat ini hampir semua browser sudah mensupport ini. Konfigurasinya juga gak susah karena konfigurasi defaultnya sudah support ini, cuma harus ditambah beberapa perbaikan sahaja. Untuk kasus saya (Ubuntu Server 12.0.4) file konfigurasi ada di /etc/ssl/openssl.conf.

req_extensions
Pertama kali, sampeyan harus membuka kommen dari req_extension. Line ini diperlukan untuk meload v3_req extension.

.
.
.
# WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings
# so use this option with caution!
string_mask = nombstr

req_extensions = v3_req # The extensions to add to a certificate request &lt-- unquote this line please

[ req_distinguished_name ]
countryName = Country Name (2 letter code)
.
.
.



v3_req
Untuk extension ini, sampeyan harus menentukan altSubjectName, eh salah subjectAltName. Perhatikan bagian yang diblok abu-abu.

[ v3_req ]

# Extensions to add to a certificate request

basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names


alt_names
Ini adalah bagian yang akan menunjukkan sub domain mana saja yang akan didata sebagai subject alternative names.


[ alt_names ]
DNS.1 = dns1.domain.com
DNS.2 = dns2.domain.com
dst....


Sudah.....
Yap emang sudah, karena sekarang kita bisa mengkonfigurasi SNI dengan multiple SSL virtual host dan ehmmmm.... menjalankan Apache nya tanpa error. Monggo......!

Recommended