bagaimana mengamankan website dengan htaccess

File .htaccess adalah file teks ASCII sederhana yang terletak di direktori www atau di sebuah sub direktori folder www. Anda bisa membuat atau mengedit file ini di Text Editor (Notepad) dan kemudian meng-uploadnya ke direktori yang ingin anda ubah setting-nya. Pastikan bahwa file tersebut diupload dalam format ASCII bukan BINARY, dan pastikan file permission untuk file tersebut telah diset menjadi 644 (rw-r-r–). Hal tersebut memungkinkan server untuk mengakses file tapi mencegah user untuk mengakses file tersebut dari browser mereka.
itu sedikit penjelasan tentang .htaccess dan pada post kali ini saya tidak akan banyak menjelaskan tentang apa dan bagaimana itu file .htaccess,tapi beberapa kegunaan file ini yang akan bermanfaat untuk Security.
  • 1. Mencegah Akses Ke .htaccess
Tambahkan baris berikut untuk menambah keamanan dari file .htaccess sehingga apabila ada usaha untuk mengakses file tersebut akan muncul pesan kesalahan 403. Tentu saja tidak lupa memberi-kan file permissionnya menjadi 644.

<Files .htaccess>
order allow,deny
deny from all
</Files>
  • 2. Mencegah Akses Ke File Tertentu
Untuk membatasi akses ke file tertentu kita dapat menggunakan perintah berikut.Ganti nama rahasia.txt menjadi sesuai dengan kebutuhan anda.Nantinya file tersebut akan disembunyikan dan apa-bila terdapat usaha untuk mengakses file tersebut akan terjadi error 403.

<files rahasia.txt>
order allow,deny
deny from all
</files>
 
  • 3. Mencegah Akses Ke Banyak File
Kita bisa mengganti beberapa extension dibawah sesuai dengan yang kita butuhkan.

<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</FilesMatch>
 
4. Mencegah User Melakukan Browsing Pada Setiap Direktori Server Kita
 
Options All -Indexes
 
  • 4.1. Mengijinkan User Melakukan Browsing
Jika mengijinkan user untuk melakukan browsing pada “direktori yang telah kita tentukan” cukup menambahkan perintah seperti dibawah ini.(Cukup tempatkan file .htaccess pada folder yang diinginkan

Options All +Indexes

4.2. Mencegah User Melakukan Browsing Tanpa Pesan Error 403

IndexIgnore *

4.3. Mencegah User Melakukan Browsing Dengan Membatasi Extension File.

IndexIgnore *.wmv *.mp4 *.avi *.etc

  • 5. Mengubah Index File
Secara default apabila kita membuat beberapa file dan salah satunya terdapat index file, maka file tersebutlah yang akan dijalankan terlebih dahulu. Dengan menggunakan .htaccess kita dapat merubah-nya menjadi nama file yang kita inginkan.

DirectoryIndex XxX.php
     
  • 6. Menyamarkan Extension PHP
Ini sangat berguna untuk menambahkan keamanan pada aplikasi PHP yang anda buat. anda bisa mengganti extension php pada aplikasi anda dengan extension yang telah anda daftarkan, Mungkin “LOL”, “hacking”, dll. Nah dengan kode berikut, file tersebut akan tetap dibaca sebagai file PHP. Sedikit catatan, biasanya saya mencari file httpd.conf dan menambahkan extensionnya disitu, akan tetapi inilah kelebihan .htaccess. Kita tidak perlu merubah settingan asli pada Apache.
  
AddType application/x-httpd-php .hacking
 
7. Membatasi Akses Ke LAN (Local Area Network)
 
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.1.5
</Limit>
 
7.1. Bisa Menambahkan Domain
 
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 192.168.1.5
deny from .*domain\.com.*
</Limit>
 
  • 8. Mencegah Hotlinking
Hotlinking merupakan pencurian bandwidth melalui penggunaan sebuah image yang akan dipasang pada suatu halaman pada website lain, sehingga bandwidth dari website asal akan tersedot bila image yang dipasang pada website lain itu dibuka.Atau secara simple bisa diterjemahkan, ada orang lain yang mengkopi link image dari website kita dan menempatkannya pada website miliknya.Memang tidak terlalu banyak memakan bandwith akan tetapi hal ini cukup mengganggu dan mungkin kita bisa memberi sedikit pelajaran kepada si Pelaku :D. Kita akan melakukan beberapa praktek ringan.
a. Ketik kode berikut dan simpan dengan nama gambar.php

<?php
  $pic = strip_tags( $_GET['pic'] );
  if ( ! $pic ) {
    die("Gambar Tidak Ditemukan");
  }
?>
<html>
<head>
<title><?php echo($pic); ?></title>
</head>
<body>
<p>
  <img src="/<?php echo($pic); ?>" alt="Test Hotlinking">
</p>
</body>
</html>
 
Bila hanya seperti ini orang lain bisa saja melakukan Copy Image URL untuk menampilkannya di website miliknya dengan kode begini http://target.com/terserah.jpg
Nah untuk mencegah hal itu terjadi maka kita harus menyiapkan file .htaccess yang berisi baris-baris seperti ini:
 
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !websitekamu\.com [NC]
RewriteCond %{HTTP_REFERER} !websiteteman\.com [NC] 
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteRule (.*) /gambar.php?pic=$1
  
9. Memberikan Password Pada File 


<Files rahasia.php>
AuthType Basic
AuthName "Prompt"
AuthUserFile /home/path/.htpasswd
Require valid-user
</Files>
 
10. Otomatis Memberikan CHMOD Kepada Setiap File
 
chmod .htpasswd files 640
chmod .htaccess files 644
chmod php files 600
 
  • 11. Melindungi Dari Serangan DOS ( Denial Of Service ) Dengan Membatasi Upload File
Ini adalah salah satu metode sederhana yang bisa kita gunakan untuk mencegah serangan DOS. Disini kita membatasi ukuran upload sebesar 10240000 byte yang setara dengan 10 mb.

LimitRequestBody 10240000

12. Mengamankan Direktori Dari Pengeksekusian Script Atau File

AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI

Subscribe to receive free email updates: