Minggu, 19 Mei 2013

12 Tips Kemanan website dengan file .htaccess

2 comments
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.

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



Mencegah User Melakukan Browsing Tanpa Pesan Error 403

IndexIgnore *
 

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 penggantiindex.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", "h#cking", 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)


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. Kita akan melakukan beberapa praktek ringan.
 

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
    hxxp://websiteente.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 dg kode begini:
    hxxp://websiteente.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




Maka ketika seseorang melakukannya lagi maka dia tidak akan mendapatkan hasil apa-apa.  

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
  
 

2 komentar:

  1. terima kasih infox. ini sangat membanti dalam mengamankan data di web saya. irnanto.com

    BalasHapus
  2. sama sama mas terimakasih juga atas kujungannya

    BalasHapus