Selasa, 18 Oktober 2016

Mudah Instalasi Server Squid


Didalam kita melakukan browsing, sering kali kita mendapati bahwa website yang kita tuju dialihkan ke sebuah website lain yang biasanya bertuliskan “Website yang anda tuju tidak sesuai dengan peraturan perundang-undangan yang berlaku” ataupun juga bila kita salah menuliskan nama domain dari website tersebut maka kita akan dikirim ke suatu portal. Beberapa ISP kerap melakukan hal ini, dan dibalik dari ini semua membutuhkan sebuah server yang disebut server proxy.


Server proxy ini terletak di sisi ISP, berada ditengah-tengah client dan juga Internet Gateway. Untuk jelasnya dapat dilihat pada figur berikut:

Di lingkungan Debian, kita dapat memanfaatkan beberapa aplikasi web proxy dan yang paling populer ialah Squid Proxy.
Instalasi squid server cukup mudah, dan merupakan salah satu aplikasi server proxy yang robust dan dapat dikonfigurasi untuk banyak kegunaan. Namun beberapa parameter pada settingan squid server tidak tersedia secara jelas pada wiki-nya sehingga harus banyak melakukan eksperimen dan pencarian lebih lanjut
Pada artiikel kali in, kita akan banyak membahas parameter-parameter dari konfigurasi squid server. Agar mudah, saya membuat beberapa contoh kasus yang berbeda sehingga dapat memahami kasus-kasus dalam parameter setting yang berbeda pula.

Tahap pertama, Paket Squid harus diinstall terlebih dahulu dengan mengetikkan perintah
apt-get install squid
dan diikuti dengan memasukkan CD debian 2 yang dibutuhkan untuk proses instalasi.
Sekarang, squid siap dikonfigurasi.

Agar mudah, dibawah terdapat soal kasus yang mudah :) dan penyelesaiannya.

Case:
Administrator sebuah Jaringan dengan client sejumlah 10 orang akan menggunakan squid server Tujuan utama menggunakan proxy ialah memblokir website yang tidak sesuai dan membatasi akses beberapa client. Website yang diblokir antara lain: situs chatting sun.com dan search engine di bing.com. Agar mudah, IP local jaringan ini diset 192.168.10.0/24. Masing-masing user memiliki alamat IP yang berbeda. khusus 4 IP urutan awal yang merupakan petugas penginputan data tidak diperkenankan mengakses internet dengan alasan keamanan namun dapat mengakses 192.168.10.1. 2 user selanjutnya yang merupakan Sales Representative hanya dapat mengakses ke sosial media facebook.com dan twitter.com. Alokasi dari sisanya memiliki akses internet biasa.

Penyelesaian:
Mari kita pecahkan penjelasan panjang tersebut dengan poin-poin sebagai berikut: 

  • Ada filtering website secara global : sun.com ; bing.com
  • IP lokal jaringan 192.168.10.0/24
  • IP Webserver dan Squid 192.168.10.1
  • Server Squid : 192.168.10.1
  • Client 2-5 tidak memiliki akses internet, hanya dapat mengakses 192.168.10.1
  • Client 6-8 hanya memiliki akses facebook.com ; twitter.com
  • 8-10 memiliki akses internet, dan filtering website secara global tetap berlaku.

ACL
Dalam acl pendeklarasian aturan harus sesuai sintak sebagai berikut:
acl <nama acl(harus unik)> <jenis acl> <alamat IP/Argumen>
  • Nama acl harus unik, dan sebaiknya tidak mengandung nama acl yang telah dideklarasikan secara default, seperti localnet, localhost, manager, Safe_Ports, dan lainnya. 
  • Jenis acl ada bermacam-macam sesuai fungsinya:
    • src : Alamat Client lokal dalam bentuk IP 
    • dst : Alamat Host tujuan (Diluar jaringan lokal) dalam bentuk IP 
    • srcdomain : Alamat client lokal dalam bentuk URL 
    • dstdomain : Alamat Host tujuan dalam bentuk URL 
     
  • Alamat IP dapat berupa notasi CIDR seperti 192.168.1.0/24 ; dapat juga berupa alamat IP host (192.168.1.1) ; dan juga range IP dengan aturan <IP awal> - <IP akhir> (contoh 192.168.1.1-192.168.1.10)
HTTP_ACCESS
Penulisan sintak http_access adalah sebagai berikut:
http_access <deny/allow> [!] <Nama ACL> 
  • deny artinya menolak akses dari acl tersebut, dan allow menerima akses dari acl tersebut.
  • [!] (tanpa kurung siku) menegasikan(membalik-kan) apapun yang terset di field deny/allow. Maksudnya, jika didepan ditulis deny namun nama acl !testacl maka baris tersebut artinya acl dengan nama test_acl bernilai allow. 
  • Nama acl sesuai acl yang telah didefinisikan sebelumnya

Langkah konfigurasi Squid :
a)         Aturan-aturan (acl) harus di definisikan terlebih dahulu pada bagian acl seperti jaringan localnet(jaringan yang dialokasikan), filter website dengan dstdomain, dan scope IP yang akan diberlakukan aturan.
b)         Setelah mendefinisikan nama dan parameter seperti IP dan nama domain, maka aturan tersebut harus diatur pada bagian http_access

Baris aturan di squid.conf :

Bagian ACL
Pada bagian localnet, kalian mungkin melihat banyak baris yang sama tetapi memiliki IP CIDR yang berbeda, baris-baris tersebut dapat dicomment saja dengan menambahkan ‘#’ (tanpa petik) di depan setiap baris. Tinggalkan baris terakhir yang sudah terisi 192.168.0.0/16 dan ubah sesuai yang diinginkan.

acl localnet src 192.168.10.1-192.168.10.10
#custom
acl filterweb dstdomain .sun.com .bing.com
acl noinet src 192.168.10.2-192.168.10.5
acl cs src 192.168.10.6-192.168.10.8
acl csweb dstdomain .facebook.com .twitter.com

Pada bagian http_access, sebaiknya letakkan rule-rule dibawah baris comment

#INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

Walau kelihatan simpel, tetapi peletakan rule http_access disini sebenarnya berpengaruh karena ada beberapa rule default diatas baris ini yang mendefinisikan beberapa hal.

Bagian http_access

#INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
http_access deny filterweb
http_access deny noinet
http_access allow to_localhost
http_access deny cs !csweb

Berikut pesan yang muncul di browser client dengan aturan yang diberlakukan:
Fungsi pemblokiran web

Webserver tetap terbuka untuk 192.168.10.2



















Demikianlah yang saya bisa jelaskan pada artikel ini, jika ada pertanyaan dapat ditanyakan di kotak comment di bawah :) Thanks!

Tidak ada komentar:

Posting Komentar