GoogleNewws.blogspot.com - kali Ini saya mau ngeshare cara membobol sebuah server,,
Tidak ada maksud lain bagi saya, kecuali membagi sedikit pengetahuan
yang saya punya kepada orang lain.
Jika diamati berita seputar keamanan internet, maka banyak sekali
informasi tentang bug/hole ataupun exploit yang beredar di Internet.
Semuanya hadir dengan informasi yang cukup detail dan membuat SysAdmin
harus terus berlomba dengan para Cracker/Hacker dalam mengamankan server
yang dikelola.
Jika diamati banyak sekali cara yang dilakukan oleh cracker untuk masuk
ke sebuah komputer. Cara yang tercepat dan paling mudah serta yang dulu
paling sering dilakukan adalah dengan menggunakan exploit yang sudah
tersedia di internet. Instant sekali. Kita cukup cari target, scanning,
compile exploit, execute exploit dan hapalkan dasar-dasar perintah OS
yang digunakan, so anda sudah memiliki server tersebut.
Secara garis besar exploit yang dipergunakan oleh cracker untuk masuk ke
sebuah server dapat dibagi dalam dua bagian yaitu :
1. Lokal Exploit
Yang dimaksud dengan lokal exploit adalah exploit yang hanya dapat
diexecute pada komputer itu sendiri. Artinya exploit ini tidak dapat
diexecute dari komputer pribadi untuk memasuki komputer lain. Biasanya
lokal exploit diexecute dan akan bisa menguasai sistem dengan
memanfaatkan kelemahan yang ada pada sistem operasi ataupun pada
aplikasi yang dijalankan oleh server.
2. Remote Exploit
Remote exploit adalah exploit yang dapat diexecute dari jarak jauh.
Artinya dengan menggunakan exploit ini, maka anda dapat masuk ke
komputer lain melalui komputer pribadi dengan memanfaatkan kelemahan
aplikasi yang berjalan di komputer lain tersebut. Bagi sebagian orang
lebih menyenangkan untuk menggunakan remote exploit daripada lokal
exploit karena biasanya remote exploit juga bisa menjadi lokal exploit
dan tidak berlaku sebaliknya.
Terlepas dari itu semua, sebenarnya ada resiko keamanan yang tetap
dimiliki sebuah komputer ketika telah berisikan Sistem Operasi beserta
aplikasi yang digunakan. Sebagai contoh, ketika kita telah menginstall
sebuah server dengan Sistem Operasi Linux Redhat 7.0 dengan berbagai
aplikasi misalkan apache web server, database mysql dan php. Maka Anda
sebagai SysAdmin secara 'sadar' telah membuka diri (komputer server)
kepada orang orang lain agar dapat berkomunikasi dengannya. Ada satu
pameo yang saya ingat, bahwa tidak ada satupun komputer yang aman ketika
sudah terkoneksi dengan sebuah jaringan. Apalagi jika jaringannya
adalah internet!. Dan ini juga berlaku untuk server yang telah kita
koneksikan ke internet.
Dari contoh di atas, ada beberapa hal yang menjadi catatan penting bagi
saya dan (mungkin) ini akan menjadi pedoman penting bagi SysAdmin untuk
tahu tingkat resiko keamanan pada server yang ia kelola. Misalkan saja
informasi server yang dikelola seperti tercantum di bawah ini :
1. Sistem Operasi yang digunakan adalah Redhat Linux 7.0
2. Aplikasi Web Server yang digunakan adalah Apache Web Server (Misalkan
saja versi 1.3.20)
3. Database Mysql versi 3.2.23
4. PHP Engine versi 4.1.x
5. Aplikasi web base yang menggunakan PHP dan MySQL.
Jika digambarkan dalam bentuk diagram pohon kurang lebihnya adalah
sebagai berikut :
+ Sistem Operasi [Level 1] :
+ Apache [Level 2]
+ Engine PHP [Level 3]
+ Aplikasi Web Based/Scripting PHP [Level 4]
+ MySQL [Level 2]
Dari informasi spesifikasi diatas maka dapat diketahui tingkat keamanan
komputer tersebut :
1. Keamanan pada Sistem Operasi (Versi Kernel yang digunakan) -Tingkat
Keamanan Level 1-
Jantung dari sistem operasi linux adalah kernel. Kesalahan pemrograman
yang terjadi pada kernel akan berakibat fatal dengan tidak berjalannya
sistem secara maksimal. Untuk hal ini coba cari tahu kernel yang
digunakan versi berapa dan apakah memiliki bug/hole?. Jika memang
terbukti memiliki bug/hole, maka sebaiknya secepatnya di upgrade dengan
versi yang lebih tinggi. Biasanya pada level ini lokal exploit yang
paling sering berperan untuk mendapatkan akses ke sebuah sistem,
walaupun tidak menutup kemungkinan bagi remote exploit untuk
mendapatkannya.
2. Keamanan pada Aplikasi Web Server (Versi Apache yang digunakan)
-Tingkat Keamanan Level 2-
Apache adalah salah satu aplikasi web server yang banyak digunakan di
dunia. Pada level ini yang harus anda perhatikan adalah versi apache
yang digunakan. Jika memang terbukti versi ini memiliki bug/hole,
segeralah upgrade apache yang anda miliki.
Sesuaikan lagi konfigurasi apache dengan keinginan anda. Matikan
module-module apache yang memang tidak digunakan. Ganti username dan
group aplikasi ini ke user yang tidak memiliki akses shell seperti
nobody. Jangan pasrahkan konfigurasi apache dengan konfigurasi default
dari proses instalasi. Pada level ini exploit yang paling sering
dipergunakan adalah remote exploit, karena pada level ini aplikasi
apache terbuka pada port 80, sehingga ada kemungkinan untuk
dibobol/disusupi dari jarak jauh.
3. Keamanan pada Aplikasi MySQL (versi MySQL yang digunakan) -Tingkat
Keamanan Level 2-
MySQL adalah salah satu database SQL yang cukup populer dan banyak
dipergunakan di internet. Integrasinya yang simple, clean and fast
dengan PHP membuktikan salah satu kelebihan PHP untuk menguasai pasar
aplikasi berbasis web based. Tidak berbeda jauh dengan Apache dan PHP,
maka hal terpenting yang harus dilihat disini adalah versi MySQL yang
anda gunakan. Pastikan bahwa pada versi ini tidak memiliki bug/hole. Hal
lainnya yang perlu menjadi perhatian adalah segera merubah password
default administrator database MySQL. Default instalasi MySQL memberikan
hak akses kepada user root dengan priveleges penuh dan tanpa password!.
Bayangkan jika anda lalai untuk merubahnya?
Jika database ini terkoneksi dengan internet/web, buatlah user MySQL
dengan priveleges yang berbeda dengan priveleges administrator (don't
ask me how to do this, please ask to uncle google :)). Database MySQL
membuka port 3306. Sehingga ada kemungkinan untuk di exploitasi dengan
menggunakan remote exploit ataupun lokal exploit.
Secara umum pada level 2 yang harus diperhatikan bahwa semua exploit
yang beredar di internet sangat banyak sekali yang memanfaatkan bug/hole
pada level aplikasi. Anda dapat mengikuti berita keamanan aplikasi yang
anda gunakan melalui situs-situs resmi aplikasi tersebut. Disini
dibutuhkan kecermatan dan kecepatan anda dalam mengikuti informasi
tentang keamanan internet. Jangan pernah lupa untuk mengupgrade, jika
memang situs resmi aplikasi tersebut menyarankannya. Jadi pada level ini
salah satu cara untuk menghindari berperang dengan cracker adalah
dengan selalu mengikuti berita/news untuk aplikasi yang anda jalankan.
Lengah sedikit, bisa jadi server anda yang menjadi target :-).
4. Keamanan pada Aplikasi PHP (Versi PHP yang digunakan) -Tingkat
Keamanan Level 3-
PHP adalah sebuah bahasa pemrograman yang saat ini banyak sekali
dipergunakan di internet. banyak sekali situs komersial yang menggunakan
PHP agar situsnya terlihat dinamis dan lebih interaktif. Namun pada
level 2, PHP yang dibicarakan disini bukan pada kode pemrograman
(scripting) yang telah dilakukan, namun pada engine PHP yang digunakan.
Sama seperti pada apache di level ini harus diperhatikan apakah versi
php yang digunakan memiliki bug/hole. Jika memang terbukti segeralah
uprade versi php tersebut. Selain itu jangan serahkan konfigurasi php
pada hasil default instalasi. Rubahlah beberapa variabelnya sesuai
dengan keinginan anda. Beberapa hal yang terpenting pada konfigurasi php
antara lain adalah SAFE_MODE dan REGISTER_GLOBAL. Cobalah bertanya
lebih lanjut tentang konfigurasi PHP pada paman google :-). AFAIK,
engine PHP tidak dapat diexploitasi dengan remote exploit karena engine
PHP tidak pernah membuka diri pada port tertentu. Jadi kalaupun ingin
mengexploitasi engine!
PHP hanya dapat menggunakan lokal exploit. CMIIW.
5. Keamanan pada Aplikasi Web Based yang berjalan -Tingkat Keamanan
Level 4-
Membangun sebuah aplikasi yang berbasis web adalah hal yang
menyenangkan. Bagaimana tidak?, dengan membangun aplikasi berbasis web,
maka aplikasi tersebut akan berjalan pada berbagai platform sistem
operasi, selain itu untuk pengembangan lebih lanjut juga akan mudah
sekali. Namun dibalik itu semua, ternyata aplikasi berbasis web juga
menyimpan sebuah bahaya yang sangat besar bagi keamanan komputer.
Tercatat pada memori saya beberapa hal yang dapat dilakukan hanya karena
kesalahan scripting aplikasi web based, antara lain :
1. Mengupload file seperti eggdrop, psybnc, dll.
2. Mendownload backdoor seperti bindtty, yang berakibat cracker akan
memiliki akses shell dan selanjutnya tinggal mencari lokal exploit.
3. Mengacak-acak database MySQL
4. Mengintip nama-nama user yang berada pada /etc/passwd
5. Mendefaced website
Sehebat apapun proteksi sebuah sistem tidak dapat menutupi kelemahan
yang ada pada aplikasi web based. Salah satu contoh konkret yang
terlihat sampai dengan saat ini adalah bobolnya Situs KPU karena
bug/hole SQL Injection. Dani Firman Syah a.k.a xnuxer berhasil dengan
baik memanfaatkan kesalahan scripting yang dilakukan oleh Tim IT KPU,
sehingga dia berhasil merubah nama-nama partai yang ada dalam database.
Kelemahan web based biasanya bisa terjadi karena :
a. Kurang mampu dalam menganalis algoritma pemrograman web based.
b. Penggunaan fungsi-fungsi pemrograman web based yang tidak sesuai
dengan tempatnya.
c. Ketidakhati-hatian dalam menggunakan CMS yang sudah jadi seperti
Php-Nuke, Post-Nuke, Mambo, dll.
d. Tidak adanya perbedaan method POST dan GET pada aplikasi web based
yang digunakan
e. Masih banyak lagi yang lain :)
Saran saya untuk level ini (jika anda membuat sendiri aplikasi web
based). Coba dan cobalah terus berlatih untuk membuat sebuah algoritma
pemrograman web yang 'bersih', 'rapi', 'teratur' dan sesuai dengan
fungsinya. Jangan pernah merasa bahwa aplikasi yang anda buat adalah
aplikasi yang handal dan tidak bisa ditembus orang lain. Kalau perlu
mintalah tolong kepada orang lain untuk mengecek algoritma pemrograman
anda dan mengetest kode pemrograman anda. Jangan publish aplikasi web
based tersebut jika anda belum yakin dengan algoritma yang telah anda
susun.
Jika menggunakan CMS yang sudah jadi, cobalah ikuti berita bug/hole yang
dimilikinya. Sampai dengan saat ini seperti Php-Nuke sudah sering
sekali memiliki kelemahan pada bug/hole SQL injection. Kelemahan yang
ada pada Php-Nuke ini dimanfaatkan beberapa gelintir orang untuk membuat
remote exploitnya yang berbasis pada pemrograman perl ataupun php.
Untuk hal ini saya cuma bisa menyarankan jangan pernah anda lengah
dengan menggunakan versi CMS yang ternyata memiliki bug/hole :).
Untuk lebih tahu detail tentang bahayanya aplikasi web based dengan
menggunakan PHP, silahkan buka arsip diskusi milis
jasakom-perjuangan@yahoogroups.com beberapa bulan yang lalu, disitu
dibahas tentang bahayanya beberapa hal seperti GET, POST, INCLUDE,
REFERRER (based on PHP), atau kalau belum puas silahkan cari tutorial di
google untuk membuat aplikasi web based yang 'bersih'
Terima kasih telah membaca artikel tentang Cara Membobol Sebuah Server Komputer dan anda bisa bookmark artikel Cara Membobol Sebuah Server Komputer ini dengan url http://googlenewws.blogspot.com/2013/12/cara-membobol-sebuah-server-komputer.html Terima kasih
Belum ada komentar untuk "Cara Membobol Sebuah Server Komputer "
Post a Comment
Terima Kasih