Selasa, 08 November 2011

Setting Transparan Proxy


Konfigurasi Transparent Proxy


Proxy
A. Squid??
Apa yang anda ketahui tentang squid? Squid sering diartikan secara
pendek sebagai proxy. Lalu apa itu proxy? Squid sebagai proxy dapat
dimanfaatkan untuk berbagai kebutuhan, antara lain 3 hal berikut. Pertama
komputer yang menjalankan squid dapat bertindak sebagai gateway (gerbang atau
jalur khusus) ke internet bagi komputer lain dalam jaringan lokal. Kedua,
squid sebagai cache, artinya dapat berfungsi untuk menampung informasi (web)
yang pernah di akses sebuah komputer, sehingga mempercepat akses komputer
lainnya ke isi web tersebut. Ketiga, squid sebagai filter atau penyaring
terhadap pengaksesan web-web yang tidak di inginkan, misalnya web yang berisi
pornografi.
Kita mungkin berfikir, bagaimana agar setiap pengguna dipastikan
mengakses internet melalui squid kita? Untuk mengatasi hal ini kita dapat
menerapkan transparent proxy. Transparent proxy dapat menggunakan gabungan
antara squid dengan firewall. Dengan transparent proxy, setiap browser pada
komputer yang menggunakan gateway ini secara otomatis melewati proxy.

B. Konfigurasi Squid
Apabila squid belum terinstal maka installah terlebih dahulu. Lalu
setelah squid berhasil terinstall, maka tambahkan beberapa baris di bawah ini
dan letakkan di file squid.conf.

# squid sebagai accelerator
httpd_accel_host virtual
# port yang ingin dijalankan
httpd_accel_port 80
# squid bertindak sebagai httpd accelerator dan proxy
httpd_accel_with_proxy on
# header diaktifkan untuk mengambil hostname dari urul
httpd_accel_uses_host_header on

Di bawah ini saya tampilkan isi keseluruhan dari file squid.conf beserta
penjelasannya.

# port dimana squid berjalan
http_port 3128
# port dimana squid akan meresponse request alamat https
https_port 443
# port untuk icp (internet cache protocol)
icp_port 3130
# menjelaskan besaran memory ideal yang digunakan untuk
# 1. in-transit objects
# 2. hot objects
# 3. negative-cahceh objects
cache_mem 90 MB
# objek yang lebih besar ukurannya dari yang dispesifikkan tidak akan
# disimpan di disk
maximum_object_size 256 KB
# menspesifikkan jenis dari metoda system penyimpanan yang digunakan
cache_dir ufs /var/spool/squid 500 16 256
# jika di set, squid akan menyimpan pools yang sudah teralokasi (tapi
# tidak digunakan) memory, tersedia untuk penggunaan yang akan datang
memory_pools on
# digunakan hanya jika memory_pools diaktifkan
memory_pools_limit 64 MB
# squid sebagai accelerator
httpd_accel_host virtual
# port yang ingin dijalank1an
httpd_accel_port 80
# squid bertindak sebagai httpd accelerator dan proxy
httpd_accel_with_proxy on
# header diaktifkan untuk mengambil hostname dari urul
httpd_accel_uses_host_header on
# direktory dimana file-file kesalahan akan ditampilkan
error_directory /etc/squid/errors
#
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl lan src 10.1.3.0/255.255.255.128
acl Safe_ports port 80 443 210 119 453 70 21 1025-65535
acl CONNECT method CONNECT
#
http_access allow lan
#
http_access allow localhost
#
http_access deny !Safe_ports
#
http_access deny CONNECT
#
http_access deny all
#
cache_swap_high 100%
#
cache_swap_low 100%
#
cache_mgr stmik-abg.ac.id
#
cache_effective_user squid
#
cache_effective_group squid
#
log_icp_queries off
#
cachemgr_passwd mypassword all
#
forwarded_for off
#
buffered_logs on
#
visible_hostname redluv.com
Setelah semua sudah terkonfigurasi sesuai dengan apa yang diinginkan lalu
savelah file tersebut, dan kemudian lakukan langkah-langkah berikut ini :
#/usr/sbin/squid -z
(untuk menjalankan squid pada waktu pertama kalinya)
#/etc/init.d/squid start -i
(untuk menjalankan service squid)
C. Konfigurasi Firewall
Setelah squid terkonfigurasi dengan benar, maka langkah selanjutnya adalah
menambahkan rule-rule pada firewall untuk memforwardkan semua request http
(yang menuju port 80) kepada port squid (port 3128). Untuk melakukan hal ini,
tambahkanlah rule-rule di bawah ini.
# setting default filter proxy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Akses tak terbatas untuk loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT
# perbolehkan akses UDP, DNS dan passive FTP
iptables -A INPUT -i eth_luar -m state –state ESTABLISHED,RELATED -j
ACCEPT
# set system ini sebagai router untuk mewakili lan
iptables –table nat –append POSTROUTING –out-interface eth_luar -j
MASQUERADE
iptables –append FORWARD –in-interface eth_dalam -j ACCEPT
# akses tak terbatas untuk lan
iptables -A INPUT -i eth_dalam -j ACCEPT
iptables -A OUTPUT -o eth_dalam -j ACCEPT
# DNAT port 80 request request yang berasal dari lan systems ke port
# 3128
iptables -t nat -A PREROUTING -i eth_dalam -p tcp –dport 80 -j DNAT
–to eth_luar:3128
# jika berada pada system yang sama
iptables -t nat -A PREROUTING -i eth_luar -p tcp –dport 80 -j
REDIRECT –to-port 3128
# drop semuanya dan lakukan pencatatan
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
D. Konfigurasi client
Langkah terakhir yang harus dilakukan adalah mengkonfigurasi browser
pada client, namun berhubung yang digunakan adalah transparent proxy, maka
kita selaku network administrator tidak perlu melakukan konfigurasi apapun
pada browser client. Karena semua request http (yang menuju port 80) akan di
redirect paksa menuju port squid (3128). Maka dari itu, dengan transparent
proxy, client hanya tinggal menggunakan browsernya saja tanpa perlu melakukan
konfigurasi apapun pada browsernya.
setting ini dilakukan pada :
- AMD Athlon 1900 xp
- memory 128 mb
- system operasi linux redhat 9
- bind 9-.2.1-16
referensi :
- squid.conf
- http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
- M. Ryan D.

Tidak ada komentar:

Posting Komentar