Jumat, 09 September 2011

Tips Untuk Pertahanan Keamanan Website

Share this article on :
Sebagai seorang admin di website kita masing-masing, tentunya kita harus memiliki pertahanan untuk melindungi diri dari jeratan para cracker yang sangat antusias mengobrak-ngabrik celah keamanan diwebsite kita. Untuk itu, ada beberapa hal yang harus dilakukan untuk "mencegah" website kita dirusak oleh tangan-tangan yg tidak bertanggung jawab.

Ingat, tips ini hanya pencegahan. "Lebih baik mencegah, dari pada mengobati", karena yang namanya penyakit itu pasti akan selalu ada setiap saat, begitu juga dengan celah keamanan. Oke langsung saja

1. Buat File .htaccess untuk pencegahan "direktori sensitif" yang tidak memiliki index.php
Suatu website yang tidak memiliki protect terhadap suatu direktori (folder), pastinya dapat dibuka dan dijelajahi oleh orang lain.

Caranya:
- buka notepad
- isi script .htaccess berikut
Options All -Indexes
- kemudian save dengan nama .htaccess
- setelah itu taruh di folder www/htdocs website anda

Penjelasan:
File .htaccess tersebut secara otomatis akan mem "forbidden" direktori2 yg tidak memiliki index

2. Buat file .htaccess untuk pencegahan "file sensitif" seperti konfigurasi database
File konfigurasi database adalah file yang sangat rentan dianiaya oleh para cracker, karena file tersebut berisi konfig² database seperti: username mysql, password mysql, hostname mysql, dan nama database mysql website kita.



Maka, untuk mencegah orang mengakses langsung suatu file, terutama file konfigurasi database, diperlukan pemrotect kan terhadap file tersebut. salah satunya dengan cara memberikan perintah deny access pada file .htaccess

Caranya:
- Buka Notepad
- Isi script .htaccess berikut:
<files filekonfigurasidatabase.php>
Order deny,allow
deny from all
</files>
- save dengan nama .htaccess
- kemudian taruh didalam folder tempat anda menyimpan file konfigurasi database anda.

Penjelasan:
Script diatas berguna untuk melakukan forbidden access terhadap file filekonfigurasidatabase.php,
filekonfigurasidatabase.php adalah "contoh" file konfigurasi database

Misalnya, jika file konfigurasi database kalian bernama wp-config.php, maka ganti filekonfigurasidatabase.php dengan wp-config.php

---
Sebenarnya jika digabungkan dengan script .htaccess pertama juga bisa, cuma tergantung selera masing2, semua orang kan punya hak

3. Ubah CHMOD file yang kalian anggap sensitif menjadi 400
Jika kalian memiliki file yg dianggap sensitif untuk website, seperti file konfigurasi database, maka diwajibkan untuk mengubah permission file tersebut menjadi 400, yang artinya user hanya berhak "read" atau membaca dan tidak bisa write atau excecute

Caranya:
- masuk ke cpanel anda
- masuk ke document root website anda contoh: www/htdocs
- ubah CHMOD pada file yg kalian anggap sensitif menjadi 400

NB: Tidak semua web server mendukung penggunaan CHMOD 400, maka dari itu, jika setelah kalian melakukan pengubahan CHMOD menjadi 400, disarankan mengubahnya kembali ke 644 atau 755 agar web server dapat membaca

4. Ubah nama direktori halaman admin anda menjadi nama yang unik
Sudah kita ketahui, bahwa halaman admin adalah halaman yg digunakan untuk memanajemen konten website kita, untuk itu jika ada orang yang nakal dan berniat jahat masuk ke halaman itu dan berhasil membobolnya, maka ya suram

Untuk itu berilah nama yang unik seperti:

- g4d1sC@ntik
- images
- w4ria-kesasar
- m@ho333
- v1rgitamp@n
- dll

NB: Biasanya para cracker, setelah berhasil mendapatkan username dan password tabel untuk login, mereka akan melakukan pencarian dengan cara bruteforce mengenai halaman admin.

Makanya, bagi yang memiliki halaman admin dengan nama yg default seperti: admin, admincp, user, login, member, webadmin, adminpanel, dll disarankan untuk mengubahnya, sebelum dijamah orang

5. Berikan password admin yang kuat
Berikan password yang kuat untuk login ke halaman admin, minimal 10 karakter, atau 6 karakter dengan perpaduan angka, huruf, dan karakter seperti: @^%* dll

Dan ubah password default anda seperti: admin, admin123, qwerty, dll

karena biasanya, para bruteforcer yang suka menebak2 password halaman admin, akan membabi buta jika sudah berhasil membobolnya

6. Khusus untuk website yang dicoding sendiri, berikan encryption yang kuat untuk password login.
Jika kalian memiliki website yang dibuat murni hasil tangan sendiri, buatlah encryption yang kuat untuk login ke administrator website. karena jika tidak, maka sudah pasti password kalian bisa di decrypt oleh sang cracker.

Contoh peng-enkripsian yang saya lakukan:

- menggunakan random encryption, mysql_escape_string, dan perpaduan antara md5, sha1.

- isi script berikut dengan nama buatpassword.php
- kemudian jalankan di localhost, dan coba decrypt di http://hashchecker.de

PHP Code:
<?php
// Isi username dan password biasa
$user_admin = "hasimas";
$pass_admin = "gueganteng";

// Random encryption
$random     = "ASDFGHJKL:ZXCVBNMQWERTYUIOP123:32OFISD0SDGSDHX0X0BKXLBN0B9KLWEG09S:DJVKXLXVPNWLFLDSCPOX:KNVEWGT3029023WKF";
// buat encrypt dengan perpaduan md5 dan sha1
$hell        = md5(sha1($random));
$sha1        = sha1($oass_admin);
$md5        = md5($pass_admin);
// gabungkan
$user_admin2 = mysql_real_escape_string($user_admin);
$pass_admin2 = mysql_real_escape_string(md5(sha1($random . $md5 . $hell. $sha1 . $random)));
// tampilkan
echo "
username anda: <b>$user_admin2</b><br />
password anda: <b>$pass_admin2</b>
";
?>
Kemudian coba anda jalankan di localhost, dan coba decrypt passwordnya di www.hashchecker.de
jika not found, berarti list password didalam database hashchecker.de tidak berhasil menemukannya


Oke, sekian dulu yak.. semoga bermanfaat.
buat yang mau nambahin silahkan komen dibawah ini.

1 komentar:

Lebih rinci lagi dong..... caranya

Poskan Komentar

 

Stats

Backlink

Backlinks
Site Search

Copyright © 2010 Hasimas | Sitemap | Follower | Mobile