.htaccess Security


 

mau share sedikit nih,beberapa konfigurasi .htaccsess buat keamanan server.sebelumnya buat yang belum tau apa itu .htaccsess saya beri info dulu tentang .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 fahmiindex.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>

b. Siapkan gambar dengan nama terserah.jpg
c. Upload kedua file tersebut ke server hosting ente.
d. Buka browser dan ketik URL sebagai berikut

http://target.com/gambar.php?pic=terserah.jpg,maka hasil yg didapat sebagai berikut:

[Image: hotlink.png]

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>
  • 9.1. Memberikan Password Pada Banyak File
<FilesMatch "^(execute|index|secure|insanity|biscuit)*$">
AuthType basic
AuthName "Development"
AuthUserFile /home/path/.htpasswd
Require valid-user
</FilesMatch>
  • 9.2. Memberikan Password Pada Direktori Dimana .htaccess Berada
resides
AuthType basic
AuthName "This directory is protected"
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
  • 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

Semoga Bermanfaat bro.
credit: Cruz3

Fahmi

We’re still Pioneers, We Barely Begun. Our Greatest Accomplishments cannot be behind us, cause our destiny lies above us.

2 Comments

  • takdikenal
    September 11, 2013 at 9:23 pm

    bookmark dulu ahh

    • fahmi
      September 12, 2013 at 6:12 am

      siap bro 🙂

Leave a Reply