Jadi, apakah kita harus menyerah.? jawabnya TIDAK. Sekalipun memang tidak ada system yang 100% aman, tetapi minimal kita bisa berusaha untuk menjaga tingkat kelemahan yang ada, yaitu salah satunya dengan memanfaatkan "mod_security".
"mod_security" merupakan sebuah modul keamanan web server yang bisa diintegrasikan dengan apache web server untuk melakukan proses "filtering request" dan bisa mmelakukan aksi tertentu yang berubah2 seseau dengan aturan (rule) yang dibuat. Tidak hanya itu saja, "mod_security" melakukan pengecekan terhadap berbagi inputan request yang bisa diterima oleh web server. Apalagi jika kita bisa membuat dan menerapkan aturan (rule) dengan baik maka "mod_security" dapat digunakan sebagai senjata ampuh dan sangat efektif untuk mencegah kegiatanan attacking seperti : directory tranversal, cross-site scripting (XSS), buffer overflow.
Bagaimana menginstall Mod_security
. Unduh apxs utility "Apache eXtenSion" di :
http://www.apache.org/docs/programs/apxs.html.
Digunakan untuk membantu instalasi dan konfigurasi Apache Modul, jangan lupa untuk membaca ManualBooknya.
. Donlod "mod_security" di : http://www.modsecurity.org . Lakukan perubahan directory Apache yang Anda pergunakan : apache1 atau apache2
. Install "mod_security", dengan perintah :
# apxs -cia mod_security.c
Konfigurasi Mod_Security
Jika Anda sudah melakukan proses intalasi, sekarang waktunya Anda untuk mengaktifkan "mod_security", dengan cara memasukan baris perintah ini kedalam httpd.conf, adapun baris perintahnya sbb :
SecFilterEngine On
Nah, sekarang "mod_security" sudah dalam keadaan 'enabled' itu artinya "mod_security" sudah bekerja sehingga semua permintaan (request) yang datang ke web server akan di check.
Tambahkan lagi di httpd.conf, sbb :
SecFilterScanPOST On
* memfilter variabel yang di post
SecFilterCheckURLEncoding On
* menfilter url encoding
SecFilterCheckUnicodeEncoding On
* memfilter bahwa hanya unicode yang bisa di endoding
SecFilterForceByteRange 32 126
* mencegah buffer overflow
SecFilter "\.\./"
* akan menfilter karakter squence yang mengandung : " ../ "
SecFilter "<[[:space:]]*script"
* menonaktikan inputan berupa javascript
SecFilter "<(.|\n)+>"
* menonaktifkan inputan berupa html
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
* ketiga perintah tersebut berguna untuk mecegah SQL injection
SecFilterSelective COOKIE_sessionid "!^(|[0-9]{1,9})$"
* mencegah SQL injection yang memanfaatkan sessionid
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$"
* pengecekan header request
SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data
* melakukan reject terhadap file upload
SecAuditEngine On
SecAuditLog logs/audit_log
* kedua perintah ini digunakan untuk menjaga log dan full request agar tetap terkirim ke server.
Setelah konfigurasi tersebut anda terapkan, selanjutnya anda silahkan melakukan ujicoba, sebagai contoh melakukan Local file inclusion(../../../../f00/f00), dan beberapa settingan diatas, tidaklah 100% kuat, anda perlu mempelajarinya dan mengoptimalkan konfigurasinya.
{ 0 comment... Views All / Send Comment! }
Post a Comment