Sunday, 13 January 2013

Amankan Website Anda


Amankan Web anda!

Kebanyakan orang yang browsing di internet merupakan orang-orang baik, tapi ada juga beberapa orang yang mendapatkan kesenangan di internet dengan cara mencari-cari kelemahan keamanan pada suatu website.

Ada beberapa tips yang bisa agak membantu kita dalam mengamankan website. Tips yang akan ditulis disini merupakan tips yang sangat sederhana, yah paling tidak cukup untuk mengurangi beberapa masalah pada website yang memungkinkan orang lain melihat apa yang seharusnya tidak boleh dilihat.

Proteksi folder anda
Jika anda memiliki direktori yang barsifat private, maka jangan hanya mengandalkan nama direktori yang kira2 tidak mungkin ditebak oleh orang lain. Ada baiknya jika direktori anda juga diproteksi password.

Karena lebih dari 50% website menggunakan server apache, maka kita akan bahas bagaimana cara memproteksi direktori dengan password pada apache.

Konfigurasi pada apache dilakukan lewat file .htaccess yang terdapat pada direktori. Perintah yang terdapat didalam .htaccess dapat mempengaruhi sebuah folderdan sub-folder, kecuali jika sub-folder tersebut memiliki file .htaccess sendiri di dalamnya

Untuk memberikan password pada folder, Apache juga menggunakan file .htpasswd. Password didalam .htpasswd dienkripsi, sehingga kita harus menggunakan htpasswd program untuk membuat sebuah password. Untuk mengaksesnya, gunakan command line pada server anda dan ketik “htpasswd”. Jika pesan yang diterima adalah “command not found”, maka kontak sistem administrator anda.

Ketik “htpasswd -c .htpasswd username” dimana “username” adalah username yang diinginkani. Setelah itu anda akan dimintai password. Konfirmasi password tersebut, maka filenya akan langsung dibuat. Untuk lebih meyakinkan, anda dapat mengecek lewat FTP.

Sekarang, buka file .htaccess. dan tulis perintah berikut:
AuthUserFile /home/www/passwd/.htpasswd
AuthGroupFile /dev/null
AuthName “Secure Folder”
AuthType Basic

require valid-user

Baris pertama digunakan untuk memberikan petunjuk letak dari file .htpasswd. Ketika di semua selesai, maka anda website anda akan menampilkan popup sewaktu anda memasuki direktori yang diproteksi password tadi.

Matikan Directory listings
Secara default, semua direktori pada website yang tidak memiliki file “pembuka” (index.htm, index.php, default.asp, dsb), maka yang akan ditampilkan adalah daftar file yang terdapat di situs tersebut. Anda mungkin tidak ingin memperlihatkan file apa saja yang ada di website anda kan?

Cara pertama untuk mengatasi hal ini adalah, buat sebuah file html kosong, dan beri nama index.htm kemudain upload ke website (atau pada folder tertentu di website)

Sedangkan cara kedua, gunakan file .htaccess untuk men-disable directory listing. Masukkan saja perintah “Options -Indexes” pada .htaccess. Sekarang pengunjung website anda akan mendapatkan error 403 dan bukan daftar dari isi direktori anda

Security Update
Jika anda menggunakan software (atau bisa juga berupa CMS), maka anda perlu melakukan update pada software tersebut, demi menjamin keamanannya.

Update digunakan untuk menutupi lubang keamanan pada software. Tidak melakukan update sama saja artinya dengan membiarkan orang lain melakukan eksploitasi pada kelemahan software diwebsite anda.

Kurangi Tingkat Pesan Kesalahan
Kali ini kita akan berbicara tentang PHP, karena bahasa pemrograman web ini adalah yang paling banyak digunakan. Secara default,jika ada kesalahan pada suatu file maka pesan error dan warning pada PHP akan ditulis dengan informasi yang lengkap, termasuk letak file yang sedang “bermasalah” tersebut.

Yup, informasi yang diberikan terlalu banyak. Gunakan function error_reporting() yang terdapat pada PHP, dan masukkan sebagai global file yang akan bekerja pada semua bagian dari website anda.

Amankan Form
Form dapat menjadi celah terbesar dari website anda jika anda tidak benar2 serius dalam melakukan coding nya. Form dapat memiliki akses langsung ke database. Walaupun anda menuliskan kata “alamat” di depan sebuah field, tidak berarti anda langsung percaya bahwa field itu akan diisi oleh orang lain dengan alamat mereka. Bagaimana jika seseorang mengisi field tersebut dengan SQL query atau script lain di dalamnya? Lalu bagaimana


cara mengamankan form?
  • Gunakan MaxLength. Dapat (paling tidak) mencegah orang lain memasukkan data terlalu banyak.
  • Validasi form. Cek data yang dimasukkan apakah sudah dalam format yang benar. Hal ini berlaku untuk e-mail, no telp, kode pos, dsb.
  • Hindari SQL Injection. Cek tipe data yang masuk ke database anda (string, numbers,dsb), gunakan validasi form yang benar, dan terakhir tulis query yang tidak memungkinkan orang lain memasukkan data selain dari yang anda inginkan



No comments:

Post a Comment