Praktikum 7 Keamanan Data (Konfigurasi Keamanan Layanan Web (Secure Access)) di PENS (Politeknik Elektronika Negeri Surabaya)

Kukuh Adi Prasetyo // Jumat, 17 Juni 2016


A. Dasar Teori

Apache Web server memiliki beragam opsi konfigurasi bagi administrator. Masalahnya,
pada saat anda hosting, anda tidak memiki akses pada konfigurasi apache. Akibatnya anda
tidak dapat melakukan perubahan setting dan terpaksa menggunakan konfigurasi default.
Salah satu alternative yang dapat dilakukan untuk melakukan overriding konfigurasi default
adalah dengan melakukan setting lewat file .htacces.
File .htaccess berupa file ascii yang ditempatkan pada direktori www atau subdirektori
www. Anda dapat membuat file ini lewat editor teks seperti notepad dan diupload dalam
bentuk ASCII (bukan BINARY) di direktori mana yang anda ingin memodifikasi setting.
Selain itu, hak akses file diset sebagai 644 (rw-r--r--). Fungsinya adalah memungkinkan
server mengakses file, namun mencegah pengunjung untuk mengakses file lewat browser
mereka karena alas an keamanan.
Perintah pada file .htaccess akan mempengaruhi semua direktori dan subdirektori
dimana file tersebut diletakkan. Jika anda meletakkannya di sub direktori dari direktori
www, maka file htaccess akan mempengaruhi direktori www dan semua direktori
dibawahnya. Yang perlu diperhatikan adalah semua perintah pada file .htacess bersifat case
sensitive dan didesain untuk diletakkan pada satu baris.
Beberapa fitur file .htaccess

1. Untuk memberikan pesan error
Jika anda ingin melakukan overriding pesan error dari server, anda dapat menggunakan
.htaccess untuk mng-kustomisasi pesan error yang baru. Contoh konfigurasinya :
ErrorDocument 500 /error.html
Override SSI Settings

2. Melakukan overriding setting SSI
Secara default, hanya halaman web yang memiliki ekstensi .shtml yang akan melakukan
parsing server-side includes (SSI). Anda dapat melakukan overriding konfigurasi default
ini agar SSI dapat bekerja dengan file .html dan .htm dengan menambahkan baris ini
pada .htaccess. Contoh:
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm

3. Mengganti file index.* pada homepage
Anda bisa mengganti halaman pertama web page anda yang biasanya berawal dengan
index.html, index.cgi, index.shtml, dan lainnya dengan namafileku.html. Perhatikan
bahwa, biasanya file pertama yang digunakan semua memiliki awal index.*. Selain itu
juga, secara default, server akan mendisplay file index.* berdasarkan prioritasnya.
Artinya file index.cgi memiliki keutamaan untuk ditampilkan disbanding index.html.
Misalkan anda ingin mengganti file index.* dengan nama file: filebaru.html, tambahkan
baris berikut pada file .htaccess :
DirectoryIndex hieronymous.html
Jika server tidak menemukan file dengan nama filebaru.html, server akan mengeluarkan
halaman pesan error: 404 Missing Page. Untuk mengubah prioritas file yang
ditampilkan, anda dapat melakukan hal dibawah, dimana orde prioritas ditentukan dari
yang sebelah kiri (paling tinggi) hingga paling kanan (terendah).
DirectoryIndex hieronymous.html index.cgi index.php index.html

4. Memungkinkan browsing direktori
Karena alasan sekuritas, user dilarang untuk melihat isi direktori atau disebut fasilitas
directory indexing. Dengan menggunakan file .htaccess, anda dapat mengijinkan user
untuk melihat index direktori web page anda. Contoh, misalnya anda memanggil
http://www.domainku.com/gambar/, maka web server akan melisting semua file pada
direktori /gambar, tanpa perlu membuat file html dengan linknya. Tinggal tambahkan
baris ini pada file .htaccess untuk melakukan indexing directory.
Options +Indexes

5. Mengeblok user untuk mengakses web site
Jika anda ingin mencegah akses website pada user tertentu, asalkan anda tahu IP address
atau domain name yang digunakan oleh user tersebut, anda dapat menggunakan file
.htaccess untuk mengeblok user tersebut dari mengakses website anda.

<Limit GET>
order deny,allow
deny from 10.252.44.210
deny from 10.252.32.
deny from .domainku.com
allow from all
</Limit>

Pada contoh diatas, user dari nomor IP 10.252.44.210 akan di blok. Semua user
d ari network 10.252.32.000 s.d 10.252.32.255 akan diblok. Semua user dari
domain domainku.com akan diblok. Ketika mereka mencoba mengakses website
anda, mereka akan menerima pesan error 403 Forbidden ("You do not have permission
to access this site")

6. Redireksi pengunjung ke halaman web baru atau direktori
Bila anda mengubah seluruh isi web site anda, memberikan nama baru bagi halaman dan
direktori. Pengunjung pada halaman web lama akan menerima kode error 404, File Not
Found. Anda dapat mengatasi masalah ini dengan melakukan redireksi panggilan ke
halaman lama ke halaman baru. Contoh: jika halaman web lama anda adalah
../lama.html dan anda ingin menggantinya dengan baru.html pada website yang lain,
maka anda dapat menambahkan baris ini pada file .htaccess
Redirect permanent /lama.html http://www.domainbaru.com/baru.html
Dengan penambahan ini, pengunjung yang mengakses website lama pada halaman
lama.html akan dikirim menuju website baru pada halaman baru.html. Selain redireksi
file, anda juga bisa melakukan redireksi untuk seluruh isi direktori. Contoh: bila anda
hendah meredireksi pengunjung pada seluruh directory website lama ke direktori
website baru. Tambahkan baris ini pada htaccess.
Redirect permanent /direktori-lama http://www.domainbaru.com/direktori-baru/
Ada beberapa tipe redireksi :
• permanent – halaman web dipindah secara permanen (kode status: 301)
• temp – halaman web dipindah secara temporer (kode status: 302)
• seeother - halaman web diganti (kode status : 303)
• gone - halaman web telah dihapus secara permanen (kode status : 410)

7. Mencegah hot linking dan bandwidth leeching
Hotlinking adalah tindakan mencuri image dan bandwith dengan melink-an image file
yang dimiliki oleh suatu web server dengan web server lain secara ilegal. Hal ini dapat
dicegah dengan menambahkan baris dibawah pada file .htaccess
Dengan cara ini, image anda hanya akan terdisplay ketika pengunjung benar-benar
mengunjungi site anda. Semua image yang dilinking dengan domain lain akan nampak
sebagai broken image.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Anda bahkan bisa menambahkan image lain sebgai ganti pada halaman yg terlink—
dengan image yang menyindir pencurian gambar tersebut. Tambahkan baris ini untuk
melakukan hal tersebut :
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainku.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.domainku.com/curi.gif [R,L]

8. Mencegah pengunjung melihat file.htaccess atau file lain
Untuk mencegah pengunjung untuk melihat isi dari file .htaccess, tambahkan baris ini pada
file .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>

B. Tugas Pendahuluan
1. Sebutkan fungsi file htaccess ? Apa hak akses .htaccess? Dimana file htaccess disimpan?
-    Fungsi File .htaccess
1.       Kustomisasi Error Message
2.       Overide SSL settings
3.       Merubah default Homepage
4.       Enable directory browsing
5.       Mem-block user yang akan mengakses website
6.       Meredirect / mengarahkan pengunjung website ke halaman lain
7.       Mencegah Hot linking dan bandwith leeching
-    Hak akses .htaccess mengubah setting default dari Apache, melakukan modif terhadaf settingan default dari server, mengubah konfigurasi dari subdirektori-subdirektori yang ada di dalam direktori root
-    File .htaccess disimpan di di direktori root. File ini diharuskan dalam format ASCII bukan format binary dan untuk file permission (atribut file) pada server hosting harus diset 644 (rw-r-r). Hal ini bertujuan agar server dapat mengakses file .htaccess, tapi mencegah user untuk mengakses file .htaccess dari beowser mereka. 
2. Apa keuntungan dan kerugian menggunakan file .htaccess ?
- Kelebihan
1.    Tidak perlu mengubah script dan susunan direktori kita, kita langsung bisa menggunakannya hanya dengan menambahkan sebuah file .htaccess pada direktori utama website kita
2.    Security yang menjamin
3.    Struktur address yang mudah diterima oleh google
- Kekurangan
1.    Semua linknya harus berupa absolute link, baik itu untuk image maupun file eksternalnya
2.    Tidaksemua server mengaktifkan settingan ini, atau anda bisa menghubungi server yang anda gunakan agar mereka dapat mengaktifkannya, tetapi andaharus menjelaskan tujuan anda agar mereka mempercayai anda.
3. Apa yang disebut hot linking dan bandwidth leeching. Bagaimana mencegah hot linking dan bandwith leeching ?
Hotlinking atau biasa disebut juga “hot linking“, “leeching“, “bandwidth theft” alias pencurian bandwidth. Cara mencuri bandwidth yang dimaksud kali ini adalah dengan menggunakan gambar/media yang ada di situs/blog lain secara langsung. Contoh kasus paling mudah adalah ketika tulisan anda di copy paste oleh orang lain dan dalam artikel itu terdapat gambar/image. Karena pelaku copy paste mengcopy dari source artikel maka dia akan mengcopy seluruh isi artikel beserta letak image/gambar yang terdapat dalam artikel tersebut.
Untuk menghindari pencurian bandwidth melalui image atau hostlinking caranya cukup mudah, anda tinggal menambahkan beberapa baris pada file .htaccess. Berikut ini cara untuk menghindari pencurian bandwidth, Buka file .htacsess, kemudian tambahkan barisan kode berikut, kemudian save.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+.)?ogameslucky.com/ [NC]
RewriteRule.*.(jpe?g|gif|bmp|png)$ http://img576.imageshack.us/img576/2169/copypaste.png [L]

Keterangan:
-    Baris kedua ganti ogameslucky dengan domain anda.
-    Baris ke 3 adalah lokasi image yang saya gunakan untuk mengganti image yang ada di hosting saya, jadi jika ada yang menggunakan metode hotlinking maka gambar yang muncul adalah gambar yang saya upload ke lokasi file diatas.
4. Bagaimana mencegah user dg nomor IP tertentu mengakses homepage?
Anda dapat memantau semua alamat IP yang masuk ke situs Anda melalui Lastest Visitors yang ada di bagian Logs dari cPanel. Apabila ada alamat IP tertentu yang Anda curigai telah melakukan aktifitas yang tidak diinginkan, Anda dapat mencegah pengunjung dengan alamat IP tersebut untuk melakukan kunjungan berikutnya ke situs Anda. Larangan untuk mengakses situs Anda dapat dilakukan melalui dua opsi yaitu .htaccess dan IP Deny Manager.
Pada file .htaccess menggunakan kode berikut :
Order Deny,Allow
allow from all
deny from 111.222.111.000
Maksud baris di atas adalah semua alamat IP akan diperbolehkan mengakses website kita kecuali alamat IP 111.222.111.000
5. Bagaimana caranya melakukan redireksi ?
Misalkan aplikasi kita sajikan di http://rendefu.com . Maka di file konfigurasi virtualhost subdomain www nya, kita tulis:
<VirtualHost *:80>
ServerName  www.rendefu.com
Redirect permanent / http://rendefu.com/

</VirtualHost>

C.  Percobaan
C1. Virtual Hosting dan Redireksi Pengunjung Ke Halaman Web Baru
1.       Membuat dua setting file yaitu www.kel3.com dan www.kel3baru.com

   


2.       Lalu edit setting file www.kel3.com seperti di bawah ini

     


3.       Edit setting file www.kel3baru.com seperti di bawah ini
     




4.       Buat direktori untuk 2 halaman tersebut (kel3 dan kel3baru)
     


5.       Buat file index.html untuk www.kel3.com dengan perintah
nano /var/www/kel3/index.html
     


6.       Buat file index.html untuk www.kel3.com dengan perintah
nano /var/www/kel3baru/index.html
     


7.       Enable kan 2 site yang baru saja kita buat dengan perintah a2ensite /etc/apache2/sites-available/www.kel3.com dan a2ensite /etc/apache2/sites-available/www.kel3baru.com

8.       Edit file /etc/hosts untuk melakukan resolusi domain www.kel3.com dan www.kel3baru.com ke 127.0.0.1. Sehingga menjadi










9.       Buat file .htaccess yang pertama dengan cara nano /var/www/kel3/.htaccess
   


     10.   Lalu Buat file .htaccess yang pertama dengan cara nano /var/www/kel3baru/.htaccess
     


     11.   Lalu restart apache
     


    12.   Coba buka www.kel3.com , seharusnya menuju ke www.kel3baru.com
     

        


C2. Penggunaan file .htaccess untuk mengeblok IP tertentu
1.       Buka file .htaccess di /var/www/kel3/.htaccess dan tambahkan allow dan deny seperti gambar di bawah ini
     


   13.   Coba buka www.kel3.com , seharusnya muncul forbidden
       




0 comments