Sabtu, 16 April 2011

Keamanan Web

Setiap pengembang web yang pertama kali harus dilakukan yaitu memperbaiki pengamanan terhadap web yang dibangunnya,karena penerapannya akan sangat sulit jika telah terjadi masalah di kemudian hari.Pengamanannyapun dikenal dengan beberapa tingkat dan tipe yang bergantung bagaimana aplikasi itu bekerja,tipe dan nilai data yang disimpan, jumlah resiko yang biasa dihadapi, usaha, serta biaya yang dipakai untuk menghasilkan aplikasi yang aman. Berikut ini beberapa factor timbulnya serangan yang terjadi terhadap web



1. Scripting

Kelemahan-kelemahan scripting yang ditemukan pada proses vulnerabilities scanning misalnya, XSS, SQL Injection, PHP Injection, HTML Injection, dan lain sebagainya. Begitu pula pada CMS yang 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 dengan melalui localhost pada komputer dengan menginstall PHP, apache, dan mySQL, atau menginstall software semisal WAMP ataupun XAMPP yang merupakan paket all in one.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.Padahal, misal web kita ditempatkan pada perusahaan hosting A. Artinya web kita bertetangga dengan web milik orang lain yang berada dalam 1 hosting. Jika web tetangga tersebut memiliki celah fatal, 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

Tempat hosting yang bermasalah menjadi sebab dihackednya banyak situs yang berada di bawah pengelolaannya. Pernah terjadi situs milik sebuah perusahaan dideface. Kemudian setelah diperbaiki, dideface lagi. Kemudian lapor ke admin perusahaan hosting, lalu 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. Karena itu, pastikan tempat hosting yang digunakan benar-benar memperhatikan tingkat keamanan bagi pelanggannya.



Macam-Macam Tindakan Hacking

Dari kelemahan-kelemahan tersebut di atas, maka terjadilah beberapa tindakan hacking terhadap web yang kita miliki. Berikut beberapa di antaranya :


1. Memodifikasi Validasi Input

Penanganan yang harus diperhatikan adalah memperhatikan validasi yang terdapat pada form, baik itu validasi angka maupun validasi string, batasi jumlah karakter yang bisa 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. SQL Injection

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.


3. 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.



Dasar-Dasar Pengamanan Web

Pada dasarnya, strategi pengamanan web yang dapat kita lakukan di antaranya sebagai berikut:


1. Pemilihan Sistem Operasi (OS), Setting Server, dan Desain Aplikasi

Salah satu hal penting yang harus dicermati adalah pemilihan sistem operasi (OS). Seberapa besar pengamanan yang dibutuhkan sangat berhubungan dengan sistem operasi. Setting konfigurasi pada server yang tidak memadai dan hanya mengandalkan default merupakan faktor utama penyebab server yang dibangun tidak terjamin keamanannya. Penentuan kebijakan dalam menerapkan sistem pengamanan ini merupakan kunci utama yang harus diperhatikan untuk diterapkan pertama kali.


2. Instalasi Patch

Idealnya, software yang kita pakai mestinya sudah sempurna sejak awal. Namun, ada saja bagian program yang rawan keamanan. Pada saat kerawanan tersebut ditemukan biasanya perusahaan pembuat software akan mengeluarkan aplikasi baru untuk memperbaiki kesalahan software terdahulu. Aplikasi inilah yang dikenal dengan nama patch. Penerapan patch ini harus dilakukan pada sistem operasi, server web, add on, maupun file-file komponen lain yang terintegrasi dengan web kita.


3. Kontrol Akses

Mengakses server harus dilakukan dengan menggunakan kontrol akses, baik dengan autentikasi maupun otorisasi. Autentikasi adalah proses validasi identitas yang dilakukan dengan membandingkan data user yang dikirim dengan data yang terdapat dalam database. Setelah melakukan autentikasi, langkah selanjutnya yaitu melakukan otorisasi yang merupakan proses untuk menentukan apakah pengguna memiliki ijin untuk melakukan tindakan yang diminta.


4. Audit dan Log File

Audit diperlukan untuk menunjang cara-cara pengamanan yang telah dijelaskan di atas. Proses monitoring aktivitas tertentu seperti usaha login (berhasil atau gagal), dan kemudian menuliskannya ke dalam log ini merupakan proses audit. Untuk mengaktifkan sistem audit dan log sangat bergantung pada sistem operasi, aplikasi server yang dijalankan, database yang digunakan, dll. Pada sistem Posix, log defaultnya berada di /var/log yang pengaktifannya bergantung pada aplikasi atau proses apa yang ingin diaudit.


5. Menerapkan Kriptografi

Kemungkinan attacker untuk melakukan tindakan kriminal dengan mencuri data sensitif seperti password, e-mail atau nomor kartu kredit sangat besar. Untuk menjaga informasi semacam ini tetap aman, diperlukan enkripsi yang membuat plaintext menjadi ciphertext. Ilmu yang mempelajari tentang keamanan informasi inilah yang disebut kriptografi. Pada level sistem operasi, penerapan yang dilakukan untuk mengamankan server web adalah dengan menggunakan SSL. Untuk mengaktifkan SSL pada server diperlukan sertifikat server. Pembuatan server ini dapat diajukan kepada pemegang sertifikat pihak ketiga yang sudah terkenal seperti Verisign atau bahkan bisa juga dengan membuat sendiri. Secara default konfigurasi SSL pada apache terletak pada direktori httpd di mana server apache diinstall.

Tidak ada komentar:

Posting Komentar