Wednesday, July 29, 2009

Security Website dari Segi Login Dulu

hari ini saya dateng ke seminar dari Pak Nukman Luthfie, pas lagi akhir-akhir acaranya, ada orang dari Universitas Hasanuddin tanya, "Pak website saya kena hack, dipasang salah satu foto dari capres :("... Beberapa saat dari beliau bertanya, saya dan mas Valent, ketemu bapak itu. Beliau curiga bahwa yang menghack adalah developer yang dulu, saya dan mas Valent curiga bahwa memang mereka yang menghack, karena mereka yang mengetahui arsitektur web tersebut. Tapi nanti dl saya membatin... masih banyak hal lain yang musti diperhatikan dari web tersebut, yang paling penting adalah login.

Banyak manusia yang berkecimpung didalem web tidak mengetahui bahwa password dari sebuah situs dengan protokol http dikirim dengan tulisan biasa (inggris IN THE PLAIN GODDAMN TEXT!!), misal pass abc123, ya dikirim dengan pass abc123... orang yang menjaga router pasti bisa melihat dengan santai apa isi pass anda, maka dari itu, diusahakan agar para santo dan wali Allah yang menjaga router anda.

Kemudian, bila tidak ingin mereka yang melihat ato dengan kata lain terenkripsi, diharapkan agar situs anda menggunakan HTTPS, yang sertifikatnya seharga 10000 dollar... kalo ga pake sertifikat, entar muncul warning-warning gt deh...

Cara yang lebih murah yang lain adalah menggunakan situs yang sudah loginnya bisa dishare dan dienkripsi dengan HTTPS, contohnya facebook connect atau Open ID...

Masih ga maw jg? tenang, ada cara yang lebih advanced!!

pertama gunakan javascipt hash dengan kode hex_md5("pesan anda") untuk mengubah pesan dalam login situs anda, karena javascript di render (bahasa kampung dibangkitkan) di komputer anda (alias client), jadi mata-mata jahil pasti BT liat hurupnya ga jelas macem f96b697d7cb7938d525a2f31aaf161d0 :D, udah gitu di sisi loginnya, dikasih filter biar hanya request dari server tersebut yang di tangani dengan kalo di PHP $_SERVER['REMOTE_ADDR'] = [address server anda]; atau pake cara macem drupal di kasih token tiap form, jadi ga ada form forgery gt...

2 comments:

Petra Barus said...

kalo di js dihash, mangnya bedanya apa sama yg gak dihash.... ~_~
terus yg remote_addr itu... emangnya ip tempat si client harus dibatesin yah?
kalo solusi dari gw ya itu, setiap form dikasi session token, ntar passwordnya dienkrip di js...

Ivan said...

iya dibatesin, biar si clien ga bikin form login di website lain :), soalnya walopun udah di js... kan bisa di liat passnya dari router, terus tinggal di kirim pake Method POST dari tempat lain deh :)), kalo buat admin sih mendingan dibatesin aja :P