INSTALASI DAN KONFIGURASI PROXY SQUID untuk Bloking Situs

Pembahasan UKK TKJ 2011-2012 Paket 1, bagian 2.

Salah satu server proxy yang handal, mudah dikonfigurasi dan gratis adalah squid (http://www.squid-cache.org) . Squid pada awalnya dikembangkan oleh Duane Wessels sebagai "Harvest object cache", yang merupakan bagian dari proyek Harvest yang dikembangkan di University of Colorado at Boulder. Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Pada pembahasan ini akan dilakukan seting proxy squid untuk fungsi cache dan bloking situs, yaitu facebook dan outube (sesuai dengan soal UKK paket 1 TKJ tahun 2011 - 2012).

INSTALASI SQUID

Squid yang digunakan pada ujian ini adalah versi 2.7-stable yang terdapat pada CD instalalasi Ubuntu server 9.10. Untuk melakukan instalasi dilakukan langkah - langkah sebagai berikut :


  1. Edit source.list, ketik :
nano /etc/apt/sources.list
  1. Hilangkan tanda pagar # pada : # deb cdrom ……. , sehingga menjadi :
        deb cdrom:[Ubuntu-Server ........

  1. Berikan tanda # pada semua baris
  2. Simpan perubahan > ctrl + x > y > enter
  3. Masukkan kembali CD Ubuntu Server 9.10
  4. Pada terminal ketikkan
apt-get update
apt-get install squid
muncul konfirmasi tekan : y > enter
  1. Tunggu hingga proses instalasi selesai dan sukses
  2. Lihat apakah instalasi sudah berhasil, misalnya dengan sintak:
dpkg –l squid
  1. Jika sudah ada konfirmasi keberhasilan instalasi, lanjutkan ke langkah konfigurasi squid.

KONFIGURASI SQUID

Langkah konfigurasi squid dilakukan dengan mode text. Squid telah meng-generate file konfigurasinya pada saat instalasi (/etc/sqquid/squid.conf) sehingga kita tinggal menyesuaikan konfigurasi sesuai desain jaringan kita dengan meng-edit file konfigurasi tersebut. Langkah yang dilakukan adalah sebagai berikut :


  1. Konfigurasi squid, ketik
nano  /etc/squid/squid.conf 
Tekan Enter
Mulai dari sini kita dapat memulai mengkonfigurasi squid .
Menu editor text nano terdapat dibagian bawah program yang dapat diakses dengan menekan kombinasi tombol ctrl + huruf sesuai perintah yang diinginkan.
Untuk melakukan pencarian kata, dapat dapat digunakan tombol ctrl + w, diikuti dengan kata yang akan dicari. Pencarian berikutnya untuk kata yang sama dilakukan dengan  menekan ulang ctrl + w diikuti enter.
  1. Cari baris http_port 3128 ubah menjadi
http_port  3128  transparent

  1. Cari baris TAG: http_access  (menggunakan fasilitas ctrl + w ), pindah pada baris tepat diatasnya ketikkan:
acl  tkj  src  192.168.50.0/24
acl  situs  dstdomain  “/etc/squid/situs.txt”

http_access  deny  situs
http_access  allow  tkj

cache_mem 8 MB

cache_dir ufs /var/spool/squid 100 16 256

cache_store_log /var/log/squid/store.log

visible_hostname  www.smk-cb.sch.id
cache_mgr nama_kamu@ smk-cb.sch.id

Pastikan aturan deny berada diatas allow.
Baris aturan yang kita buat harus berada diatas aturan http_access deny all
Setelah kita selesai melakukan konfigurasi tekan ctrl + X , tekan Y, enter
  1. Setelah kita kembali pada terminal, buat daftar situs yang akan di-blok,  ketik
nano  /etc/squid/situs.txt
Lalu tekan Enter.
Ketikkan situs yang akan kita blok

Setelah selesai tekan tombol ctrl+X, Y kemudian enter untuk menyimpan file situs.txt
  1. Setelah kita kembali pada terminal kita harus Restart Squid
/etc/init.d/squid restart
  1. Lakukan routing kembali (prerouting) dengan perintah
iptables -t nat -A PREROUTING -j REDIRECT -p tcp -s 192.168.50.0/24 --dport 80 --to-ports 3128
Lalu tekan enter
Syntak diatas bertujuan untuk memaksa permintaan dari klient agar berbelok ke server proxy (transparent), meskipun pada browser tidak di-set pengaturan proxy-nya.

Pengujian

  1. Hingga di sini client sudah dapat mengakses initernet dengan mengalihkan port 80 (http) menuju port 3128 (proxy/squid), dengan bebarapa fasilitas di dalamnya.
  2. Lakukan pengujian dengan melakukan browsing ke situs – situs yang tidak di-blokir (misalnya google.com), kemudian ke situs – situs yang diblokir (facebook.com dan youtube.com). Jika berhasil tampilannya akan seperti ini


Catatan :
  • Pastikan bahwa anda dalam mode root untuk dapat melakukan langkah – langkah diatas (menggunakan sudo pada setiap perintah atau sudo su) .
  • Linux bersifat case sensitive terhadap apa yang di inputkan user, dengan kata lain huruf kapital dan huruf kecil dianggap berbeda oleh linux, sebagai contoh:
copy  tidak sama dengan Copy, iptables tidak sama dengan IpTables
begitu pula dengan nama suatu file contohnya, situs.txt tidak sama dengan Situs.txt
  • syntax / script iptables – t nat ……. merupakan perintah, sehingga akan hilang pada saat server re-start. Untuk keperluan pengujian, sebaiknya jangan re-start dahulu server, cukup restart jaringan / aplikasi.

Reference :

0 komentar: