Sabtu, 14 Mei 2011

DASAR - DASAR KEAMANAN WEB

A.   Faktor-Faktor Timbulnya Serangan
1.      Scripting
Kesalahan dalam scripting pembuatan web adalah hal terbanyak yang dimanfaatkan oleh para attacker, sehingga rata-rata web yang berhasil diserang melalui lubang ini. Kelemahan-kelemahan scripting yang ditemukan pada proses vulnerabilities scanning misalnya, XSS, SQL Injection, PHP Injection, HTML Injection, dan lain sebagainya.
Begitu pula pada CMS semisal Mambo, Joomla, WordPress, dan lainnya. CMS tersebut memiliki banyak komponen pendukung di internet yang bisa kita download, install dan konfigurasi. Sehingga sangat memungkinkan sekali terdapat bug pada scriptingnya. Langkah terbaik tentunya melakukan pembedahan (oprek) terhadap script serta melakukan pengujian sebelum komponen tersebut kita gunakan pada web yang sebenarnya. Pengujian bisa dilakukan melalui localhost pada komputer dengan menginstall PHP, apache, dan mySQL, atau menginstall software semisal WAMP ataupun XAMPP yang merupakan paket all in one.
Untuk mengatasi hal tersebut sebaiknya kita harus mulai belajar dan memahami scripting-scripting secara bertahap, baik HTML, PHP, javascript, dan sebagainya.
CMS tersebut sebenarnya cukup aman, namun komponen tambahan yang tidak dibuat dengan baik, tentu saja bisa menimbulkan masalah besar bagi sistem secara keseluruhan.
2.      Lubang pada Situs Tetangga
Ini merupakan salah satu faktor yang jarang mendapat perhatian. Sebagian webmaster kadang tidak begitu peduli ketika web lain yang satu hosting dihacked. Mereka berpikiran, “Ah, toh bukan web saya yang kena.” Padahal justru di sinilah letak kesalahannya.
Logikanya, misal web kita ditempatkan pada perusahaan hosting A. itu artinya web kita bertetangga dengan web milik orang lain yang berada dalam 1 hosting. Jika web tetangga tersebut memiliki celah fatal, sehingga attacker bisa menanam program yang dijadikan backdoor. Dengan backdoor inilah attacker bisa masuk ke dalam web kita bahkan web lainnya. Bukan itu saja, tidak mustahil attacker melakukkan defacing massal, termasuk web kita tentunya.
3.      Tempat Hosting yang Bermasalah
Pada beberapa kasus justru tempat hosting yang bermasalah menjadi sebab dihackednya banyak situs yang berada di bawah pengelolaannya. Pernah terjadi situs milik sebuah perusahaan dideface. Kemudia setelah diperbaiki, dideface lagi. Kemudian lapor ke admin perusahaan hosting, justru balik menyalahkan pemilik situs dengan alasan yang nggak masuk akal.
Kenyataannya, justru web hosting itu yang nggak pernah di administrasi dengan baik, jarang diupdate, dan jarang dipatch, sehingga mudah terkena serangan. Dengan model pengelolaan yang seperti ini jangan berharap web kita akan aman. Karena itu, pastikan tempat hosting yang digunakan benar-benar memperhatikan tingkat keamanan bagi pelanggannya.
B.   Macam-Macam Tindakan Hacking
Dari kelemahan-kelemahan tersebut di atas, maka terjadilah beberapa tindakan hacking terhadap web yang kita miliki. Apa saja tindakan-tindakan hacking tersebut? Berikut beberapa di antaranya :
1.      Memodifikasi Validasi Input
Biasanya para attacker mencoba menguji validasi-validasi input yang diterapkan pada form dan parameter buangan pada address bar dalam melakukan proses attacking.
Penanganan yang harus diperhatikan adalah memperhatikan validasi yang terdapat pada form, baik itu validasi angka maupun validasi string, batasi jumlah karakter yang bida dimasukkan, batasi jumlah karakter yang bisa dimasukkan, batasi kegiatan-kegiatan injeksi dengan : strip_tags(), htmlspecialchars(), gunakan variable global sebagaimana mestinya dan gunakan wordfilter untuk memfilter berbagai inputan yang berbahaya. 
2.      Cross-Site Scripting (XSS)
Salah satu vulnerabilities dalam website adalah Cross-Site Scripting (XSS). Ada 2 jenis aksi yang biasa dilakukan dalam XSS, yaitu
-        Direct Action, merupakan injeksi kode yang dilakukan oleh attacker, tetapi hasil injeksinya hanya ditampilkan pada komputer user bersangkutan.
-       Stored Action, merupakan injeksi kode yang dilakukan oleh attacker dan hasil injeksinya bisa dinikmati oleh banyak pengunjung.
Bagaimana mengatasi hal ini? Usahakan semua kode-kode spesial yang mempunyai arti dalam scripting HTML seperti < (kurang dari), > (lebih dari), & (ampersand), “ (kutip dua) dan ‘ (kutip satu) tidak dieksekusi sebagai karakter spesial. Semua karakter spesial tersebut harus diubah. Semua karakter spesial tersebut harus diubah dan dikonversi ke entitas HTML.
3.      SQL Injection
Kegiatan attacking yang banyak dilakukan akhir-akhir ini adalah SQL Injection, karena SQL Injection merupakan teknik hacking yang sudah tersebar luas dan relatif mudah dipahami. Attacker melakukan proses attacking dengan menyisipkan perintah-perintah SQL pada form ataupun pada address bar.
Untuk mengatasi hal ini, sebaiknya kita membatasi inputan dengan : htmlspecialchars(), mysql_escape_string() dan hubungi administrator hosting kita untuk merubah : magic_quotes_gpc=on.
4.      PHP Injection
web yang kita miliki bisa dideface, didirect dan dikuasai orang lain? Ya, ada teknik PHP Injection. Attacker mempergunakan sploit yang sudah ditanam di remote server miliknya dan hanya dengan mengeksekusi sript sploit tersebut melalui address bar dan melakukan connect back, maka terkuasailah web kita.
Untuk mengatasi hal ini, pastikan penggunaan file direct dengan include () harus dikurangi dan sering-seringlah melakukan update terhadap aplikasi yang kita gunakan. Jika kita memakai CMS, sering-seringlah melakuakn update CMSnya, begitu pula dengan komponen yang digunakan.

Tidak ada komentar:

JARINGAN TEKNOLOGI KOMPUTER