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”)
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.
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.
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)
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.
siip (y)
BalasHapus