Pages

Debian 5 - Squid (Proxy)

 Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk Transport Layer Security (TLS), Secure Socket Layer (SSL), Internet Gopher, dan HTTPS. Versi Squid 3.1 mencakup dukungan protokol IPv6 dan Internet Content Adaptation Protocol (ICAP).
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. Pekerjaan selanjutnya dilakukan hingga selesai di University of California, San Diego dan didanai melalui National Science Foundation. Squid kini hampir secara eksklusif dikembangkan dengan cara usaha sukarela.
Squid umumnya didesain untuk berjalan di atas sistem operasi mirip UNIX, meski Squid juga bisa berjalan di atas sistem operasi Windows. Karena dirilis di bawah lisensi GNU General Public License, maka Squid merupakan perangkat lunak bebas.

Konfigurasi script untuk squid sangatlah banyak, namun kali ini saya akan membahas bagian pentingnya saja.
Gunakan text editor yang memiliki fasilitas “search”, agar lebih mudah.

 tkj-waybungur:~# nano /etc/squid/squid.conf 
Untuk fasilitas search pada nano, tinggal tekan CTRL + W lalu ketikan port 3128. Setelah itu, cari dan edit bagian berikut, dan hilangkan
tanda pagar “#” agar menjadi Enabled.

#Keterangan:
http_port 3128 transparent (tambahkan “transparent”)
cache_mem 16 MB (kurang-lebih ¼ dari memory)
cache_mgr admin@tkj-waybungur.co.id
visible_hostname proxy.tkj-waybungur.co.id
#
 
Kemudian CTRL + W lagi, ketikan acl CONNECT, dan tambahkan script berikut tepat di bawahnya.

#Keterangan:
acl url dstdomain “/etc/squid/url” (jika domain yang di blok)
acl key url_regex –i “/etc/squid/key” (jika kata yang di blok)
http_access deny url
http_access deny key
acl lan src 192.168.10.0/24 (ip lokal)
http_access allow lan
http_access allow all
#

Simpan dengan menekan CRTL + X lalu Y dan ENTER.

Blokir Situs
Buat file untuk daftar situs-situs dan kata-kata yang akan diblokir.

 tkj-waybungur:~# nano /etc/squid/situsterlarang.txt 

Cek apakah konfigurasi sudah benar atau masih ada yang salah, dan juga untuk membuat swap.
 tkj-waybungur:/etc/squid# squid –z 
 2011/03/01 10:56:46| Squid is already running! Process ID 2314 
 
Konfigurasi IpTables
Sedikit konfigurasi pada iptables, untuk redirect port 80 (HTTP) ke port 3128 (PROXY).

 tkj-waybungur:~# nano /etc/rc.local 


iptables –t nat –A PREROUTING –p tcp --dport 80 –j REDIRECT --to-port 3128 (Tambahkan ini)


Modifikasi Halaman Proxy
Bagian ini hanya opsional saja, anda bisa melewatinya jika tidak ingin lama. Selain tampilan default laman squid yang
begitu-begitu saja, anda juga bisa memodifikasinya lagi sesuai kebutuhan anda.
 tkj-waybungur:~# cd /usr/share/squid/errors/English/ 
Dalam direktori tersebut terdapat banyak sekali file-file laman error SQUID. Semua file tersebut menggunakan
pemrograman web HTML saja. Kita hanya akan memodifikasi untuk laman web yang diblokir, dan dns-unresolveable.
 tkj-waybungur:/usr/share/squid/errors/English# nano ERR_ACCESS_DENIED 
 tkj-waybungur:/usr/share/squid/errors/English# nano ERR_DNS_FAIL 
Edit kedua file HTML diatas, sesuai kreativitas anda. Dan terakhir, restart daemon squid tentunya,
 tkj-waybungur:~# /etc/init.d/squid restart 


Pengujian
Pengujian kita lakukan pada sisi client windows. Server Proxy tersebut akan menjadi TRANSPARENT jika ada koneksi ke Internet. Namun jika digunakan dalam lingkup Local Area Network, yang tidak terjamah Internet, maka kita harus menkonfigurasi MANUAL PROXY pada sisi client terlebih dahulu.
Jika ingin tetap kelihatan Transparent, walau di jaringan local. Anda bisa menggunakan Ip Address Alias, dan dikombinasikan dengan Virtual Domain. Just try this out.

1 komentar: