Sunday, December 12, 2010

Transparent Proxy dengan Squid

Transparent proxy adalah web cache yang berfungsi membelokkan setiap permintaan port 80 (HTTP) ke proxy server. Transparent proxy memudahkan setting browser di sisi client agar bisa menggunakan proxy secara otomatis. Transparent proxy dapat digunakan untuk melakukan berbagai filter, yaitu alamat client, alamat tujuan, kata-kata terlarang, dan waktu akses. Asumsinya, gateway dan proxy masih dalam satu komputer.

Edit file /etc/squid/squid.conf :
http_port 8080 transparent
cache_mgr msmunir@yahoo.com
visible_hostname proxy.msm.com
cache_dir ufs /var/spool/squid 100 16 256

acl blok dstdomain "/etc/squid/tujuan_terlarang.txt"
http_access deny blok

acl ipblok src "/etc/squid/ipblok.txt"
http_access deny ipblok

acl msmnet src 192.168.2.0/27
http_access allow msmnet

http_access deny all


Sintak di atas jangan sampai kebolak-balik. Misal, jika "http_access allow msmnet" diletakkan di atas, maka deny apapun untuk komputer-komputer yang tergabung dalam msmnet menjadi tidak ada gunanya. Tulisan italic di atas silahkan ganti dengan yang disuka.

Isi file "/etc/squid/tujuan_terlarang.txt" :
www.facebook.com
www.yahoo.com


Isi file "/etc/squid/ipblok.txt" :
192.168.2.5

192.168.2.0/27 adalah client dengan alamat 192.168.2.1 s/d 192.168.2.30.

Setelah konfigurasi disimpan, jalankan perintah baris di bawah ini.
# ifconfig
# /etc/rc.d/init.d/network restart
# ifconfig
# echo 1 > /proc/sys/net/ipv4/ip_forward
# /etc/init.d/iptables stop
# iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
# iptables -A POSTROUTING -t nat -s 192.168.2.0/24 -j MASQUERADE
# iptables -A PREROUTING -t nat -p tcp -s 192.168.2.0/24 -d 0/0 --dport 80 -j REDIRECT --to-ports 8080
# service squid restart


Kalau ingin mengubah konfigurasi squid (squid.conf), cukup restart squid-nya saja.
# service squid restart

Contoh filter di squid
Berdasarkan alamat client :
acl msmnet src 192.168.2.0/27
http_access allow msmnet

Berdasarkan alamat tujuan :
acl blok dstdomain "/etc/squid/tujuan_terlarang.txt"
http_access deny blok


Berdasarkan kata-kata terlarang :
acl keywordblok url_regex -i "/etc/squid/keywordblock.txt"
http_access deny keywordblock


Berdasarkan waktu akses :
acl waktu-akses time MTWHF 08:00-16:00
http_access deny alamat_download.txt waktu-akses


Misal isi alamat_download.txt :
.kaspersky.com
.symantecliveupdate.com
.symantec.com
.multiply.com
.grisoft.com
.avg.com
.kaspersky-labs.com


Pilihan deny dan allow silahkan gunakan sesuai dengan kebutuhan. Yang penting sintak pada squid.conf harus berurutan, dari yang mikro ke yang makro. Jangan dari yang makro ke yang mikro. Sempat semalaman saya bingung kenapa squid gak bisa mem-filter.

No comments:

Post a Comment