Jika bicara tidak bisa merubah apapun, yang terbaik adalah diam!!!
Sudah lama saya gak nulis disini, baik nulis hasil ngoprek maupun ocehan ngelantur. Malam ini tiba-tiba pengen nulis, ntah karena lagi kesel, jenuh, kecewa atau mbuhlah… hahahaha…
Baru kali ini implementasi server terus-terusan dikerjain orang! Mungkin karena saya kalah sakti ya… (Nek jare Seka, yo apesmu Jo!)
[Prolog]
Awal-awal ada ide implementasi aplikasi open source yang web base. Kita pilihlah spek server “kelas sultan” agar bisa handle sekitar 400-an web. Kemudian beberapa pertemuan (baca : miting) dilakukan untuk prepare implementasi. Kemudian disepakati untuk menjadikan server layaknya Server Webhosting, otomatis diperlukan control panel untuk menghandle, dipilihlah aplikasi ISPConfig, selain juga open source juga ndak perlu beli lisensi kayak CPanel 😀 Fitur-fiturnya juga ndak kalah lengkap. Implementasi dieksekusi, ujicoba dilakukan mulai pasang aplikasi yang akan digunakan, beberapa CMS, disk quota, email, dsb. Hasilnya running well. Agar lebih yakin, ujicoba juga melibatkan temen-temen yang bisa main Server Webhosting. Akhirnya server naik ke production, meski aplikasi yang mau dipasang masih banyak bugs, dengan asumsi akan segera diperbaiki/dicustom oleh programmer.
[Awal Masalah]
Server ini layaknya Server Webhosting, aplikasi web base dicreate by system (via ISPConfig), ya memang harus satu per satu dan butuh proses. Dan karena mau cepet kelar digunakan cara koboy untuk mem-bypass proses. Di cloninglah web-web tersebut lewat akses root. Sejak awal saya kawatir dengan proses ini. Kenapa saya kawatir, yang Pertama : web sejak awal dicreate by system, pasti bakal gak match dengan yang dicreate manual. Kedua, jangan lupa konsep hak akses file di Linux (karena OS Host menggunakan Linux). Tapi ya sudahlah yang ekseksi sudah saya anggep paham dan mampu. 😀
[Masalah Timbul]
Web sudah dicreate sesuai target, dan dilakukanlah pelatihan operator. Masalah timbul ketika sekian orang/peserta mengakses webnya masing-masing secara bersamaan, database langsung error. Upss… servere salah kawitane katanya! Padahal ini efek dari cara koboy yang dilakukan, tapi ndak paham cara melakukannya, isi server berantakan. Baiklah… jadi saya yang salah, salah karena ngasih akses root kepada orang yang salah! 😀
[Puncak Masalah]
Akhirnya server bener-bener “mati suri” menjelang pemantapan pelatihan. Kenapa kok saya bilang mati suri, karena server masih up, tapi service banyak yang ndak jalan.
[Solusi Tercepat]
Karena panik, sana-sini cari pertolongan. Jawab seorang kawan ketika dihubungi, “aku clueless mas nek ISPConfig”. Haduh…
Saya bilang, “wes lihaten dulu isinya, nanti kan baru bisa bayangin gimana cara tercepatnya.” Sambil saya mendongeng kronologinya.
Kemudian dia nawarin, “pindah docker ae mas iso cepet!” Wes apapun itu yang penting bisa segera up. Akhirnya dipindah ke docker, dan alhamdulillah esoknya web-web tersebut sudah up. Dan server kembali normal.
[Custom Aplikasi]
Dari awal sudah saya sampaikan dan disepakati kalau aplikasi banyak bugs-nya, perlu perbaikan dan penyesuaian. Pada suatu waktu hasil custom programmer diuji fungsi pada sebuah forum rapat, dan alhamdulillah gagal. 😀
[Masa Jeda]
Setelah uji fungsi tersebut tidak ada komunikasi lagi, untuk kelanjutan pengembangan aplikasi ini. Padahal sudah saya buatkan server Git untuk berkolaborasi memperbaiki aplikasi ini. Keren kan…
[Deface]
Setelah sekian lama aman dari para peretas, akhirnya web kena deface. Paniklah semua. Terjadi perdebatan sana-sini, siapa yang harus bertanggung jawab dengan kejadian ini. Sayapun tersudutkan.
Sektooo…
Ini yang kena hack aplikasi kan? di layer ke-7, sejak awal sudah saya ingatkan agar aplikasi segera diperbaiki dan dicustom. Dari bulan Januari sampe sekarang Mei-loh, waktu yang cukup untuk tenaga ahli (programmer) memperbaiki, klo memang ahli. 🙂
Ini coding issue, harusnya tenaga ahli (programmer) itu bisa handle. Saran temen saya yang mindah ke docker agar pasang Web Application Firewall. WAF-pun bukan solusi , selama kodingan tidak serius diperbaiki. FYI, Firewall Appliance kita gak kalah keren, tapi yang jelas bukan untuk mengatasi sesat nalar/logika yang koding.
[Saran]
1. Segera perbaiki kodingan, untuk mencegah SQL Injection, XSS, dll.
2. Salah satu yang diexploitasi adalah lewat username dan password default, yang semua informasinya ada di Git aplikasi tersebut. Segera ganti password default, kemudian buat akun baru setingkat admin. Akun default jangan digunakan. Tentunya ini harus diinformasikan ke masing-masing operator web.
3. Jangan biasakan sotoy, apalagi sudah bikin masalah masih songong. 😀
Saya tidak bicara loh ini, cuman nulis. Hahahahahaha…!
Leave a Reply