Transparent Proxy

9
Kumpulan FAQ Proxy transparent www.almuhibbin.com Transparent Proxy Pada tutorial sebelumnya , kita sudah mempelajari apa itu squid dan bagaimana cara mengkonfigurasinya dan disertai dengan erbagai macam kasus. Namun, perlu diketahui bahwa jika kita menggunakan konfigurasi tersebut maka kita harus men-setting secara manual setting-an proxy di web browser agar dapat berinternet. Nah, bagaimana jika computer yang harus disetting berjumlah ratusan? Apalagi jika suatu saat ada perubahan IP dan port proxy server yang digunakan, tentu akan sangat merepotkan sekali. Untuk menyiasati hal tersebut, diperlukan suatu cara agar kita tidak perlu memasukkan secara manual settinga-an proxy yang berlaku yaitu dengan menggunakan transparent proxy. Prinsip kerja transparent proxy adalah sebuah firewall atau redirector lainnya akan menangkap koneksi TCP yang ditujukan ke port tertentu ke port tertentu pada remote host, dan kemudian akan mengarahkan koneksi TCP tersebut ke proxy server lokal. Proxy server menggunakan header HTTP untuk menentukan ke mana proxy akan melakukan koneksi dan request dari mana yang akan di-proxy. Untuk mengaplikasikan transparant proxy, Anda dapat memerlukan aplikasi Iptables. Dengan Iptables, anda cukup membuat rule untuk menangkap trafik yang ditujukan untuk port 80, dan mengarahkan trafik ini ke port dari proxy server (biasanya 3128 atau 8080). Konfigurasi untuk membuat transparent proxy terbagi dua yaitu konfigurasi di dalam server dimana firewall dan squid digabung dan konfigurasi di dalam server dimana firewall dan squid terpisah. II. Syarat-Syarat Transparent Proxy Untuk dapat menjalankan transparent proxy, maka syarat-syarat dibawah ini harus terpenuhi: 1. Pastikan proxy sudah terinstal dalam sistem. 2. Pastikan paket dan service iptables sudah terinstal dalam sistem. 3. Squid terkonfigurasi dengan menggunakan port 3128.

description

Transparent Proxy running based on Linux

Transcript of Transparent Proxy

Page 1: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

Transparent Proxy

Pada tutorial sebelumnya, kita sudah mempelajari apa itu squid dan bagaimana cara

mengkonfigurasinya dan disertai dengan erbagai macam kasus. Namun, perlu diketahui

bahwa jika kita menggunakan konfigurasi tersebut maka kita harus men-setting secara

manual setting-an proxy di web browser agar dapat berinternet. Nah, bagaimana jika

computer yang harus disetting berjumlah ratusan? Apalagi jika suatu saat ada perubahan IP

dan port proxy server yang digunakan, tentu akan sangat merepotkan sekali.

Untuk menyiasati hal tersebut, diperlukan suatu cara agar kita tidak perlu memasukkan

secara manual settinga-an proxy yang berlaku yaitu dengan menggunakan transparent

proxy. Prinsip kerja transparent proxy adalah sebuah firewall atau redirector lainnya akan

menangkap koneksi TCP yang ditujukan ke port tertentu ke port tertentu pada remote host,

dan kemudian akan mengarahkan koneksi TCP tersebut ke proxy server lokal. Proxy server

menggunakan header HTTP untuk menentukan ke mana proxy akan melakukan koneksi dan

request dari mana yang akan di-proxy. Untuk mengaplikasikan transparant proxy, Anda

dapat memerlukan aplikasi Iptables. Dengan Iptables, anda cukup membuat rule untuk

menangkap trafik yang ditujukan untuk port 80, dan mengarahkan trafik ini ke port dari

proxy server (biasanya 3128 atau 8080). Konfigurasi untuk membuat transparent proxy

terbagi dua yaitu konfigurasi di dalam server dimana firewall dan squid digabung dan

konfigurasi di dalam server dimana firewall dan squid terpisah.

II. Syarat-Syarat Transparent Proxy

Untuk dapat menjalankan transparent proxy, maka syarat-syarat dibawah ini harus

terpenuhi:

1. Pastikan proxy sudah terinstal dalam sistem.

2. Pastikan paket dan service iptables sudah terinstal dalam sistem.

3. Squid terkonfigurasi dengan menggunakan port 3128.

Page 2: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

III. KONFIGURASI TRANSPARAN PROXY

1. Masuk ke file sysctl.conf di /etc/sysctl.conf dan mengubah nilainya pada bagian

ip_forward dari 0 menjadi 1 sehingga akan menjadi seperti berikut:

net.ipv4.ip_forward = 1

Jika sudah selesai, restart network dengan cara:

# sysctl -p

2. Edit file squid.conf, kemudian tambahkan baris dibawah ini pada bagian paling bawah

dari file ini:

# transparent proxy httpd_accel_host virtual httpd_accel_port 80

httpd_accel_with_proxy on httpd_accel_uses_host_header on

3. Lakukan masquerading dengan menggunakan iptables. IP masquerading berguna untuk

menghubungkan beberapa komputer yang terkoneksi ke sebuah komputer yang sudah

terkoneksi ke Internet agar dapat mengakses ke Internet, atau istilahnya Internet

Connection Sharing.

iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.0.0/24 -o eth0

Option -o tersebut tolong disesuaikan dengan interface yang terdekat dengan jaringan luar.

4. Selanjutnya arahkan semua permintaan web pada port 80 ke port squid. Untuk kondisi

ini, terdapat dua buah opsi. Jika squid dan firewall yang mengarahkan berada pada satu

komputer, gunakan perintah ini:

iptables -t nat -p tcp -A PREROUTING -s 192.168.0.0/24 -d 0/0 –dport 80 -j REDIRECT –to-ports 3128

Tapi, Jika Squid dan firewall yang mengarahkan tidak berada pada satu komputer maka

ikuti langkah berikut:

5. Misal Squid berada pada komputer yang ber-IP 192.168.0.4 dan port yang digunakan

adalah 3128 atau kita sebut saja komputer ini dengan nama squid-box. Dan satunya lagi

komputer yang terhubung ke Internet langsung sebagai firewall mempunyai IP 192.168.0.1

kita sebut saja komputer ini dengan nama iptables-box. Dari komputer iptables-box, coba

Anda ketikkan perintah berikut untuk mengaktifkan transparant proxy di mesin squid-box.

iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.0.4 -p tcp --dport 80 -j DNAT --to 192.168.0.4:3128 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -d 192.168.0.4 -j SNAT –to 192.168.0.1 iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.4 -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT

Page 3: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

6. Setelah itu, coba amati file access.log di mesin proxy kita yang berada di folder

/var/log/squid, lalu ketikkan:

# tail -f access.log

Jika semuanya sudah benar, seharusnya jika ada user yang sedang mengakses web, Anda

sudah dapat mengamati prosesnya dari mesin proxy tersebut dan akan terlihat seperti

berikut:

REFERENSI

Jaringan Komputer Teori dan Implementasi Berbasis Linux, Wagito

Ilmukomputer.org

Dari Berbagai Sumber

16 Jumadal Ula 1430 H

11 Mei 2009 M

Comments

ocel |222.124.31.Xxx |2009-05-12 14:17:46

halo mas,minta tolong sekalian tutorialnya dong cara instal proxy, n paket dan service ip tabels nya juga, n konfigurasi squidnya ke port 3128 or 8080. makasih

Page 4: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

Quote 0 0

catatan |SAdministrator |2009-05-13 11:12:56

Untuk Melihat tutorial squid, silahkan ke http://catatanlepas.com/computer/37-application/103-squid.html

Quote 0 0

ocel |125.167.229.Xxx |2009-05-14 10:08:21

-o eth0, Option -o tersebut tolong disesuaikan dengan interface yang terdekat dengan jaringan luar. maksudnya tu gmana ya mas . q krang pham ni, tolong di bantu makasih

Quote 0 0

catatan |SAdministrator |2009-05-15 14:38:49

Begini maksud saya:

kita sesuaikan interface mana yang terdekat dengan jaringan luar. Karena sistem saya menggunakan eth0 untuk jaringan luar, maka saya tulis -o eth0. Tapi jika mas menggunakan eth1 untuk jaringan luar, maka option tersebut berubah menjadi -o eth1. Paham?

Quote 0 0

ocel |125.167.229.Xxx |2009-05-14 10:23:36

1. Pastikan proxy sudah terinstal dalam sistem. { proxy tu squidx ya mas } 2. Pastikan paket dan service iptables sudah terinstal dalam sistem.{ iptablesnya apa sdh ikut terinstal dengan bawaan centos ya mas law iya untuk ngeceknya gmana ya mas, atau harus di instal lagi iptabelsx 3. Squid terkonfigurasi dengan menggunakan port 3128.{ cara mengarahkan ke port 3128 tu gmana ya mas, or pada saat kita instal dan konfigurasi squid sudah terarah ke port3128 } makasih mas, sory law bxk nanya

Quote 0 0

catatan |SAdministrator |2009-05-15 14:56:37

1. Ya betul. Kalau ada kata-kata proxy di artikel ini berarti maksudnya squid karena saya menggunakan aplikasi proxy yang bernama squid. 2. Umumnya paket Iptables sudah terinstal ketika kita menginstal linux. Untuk mengecek apakah paket tersebut sudah terinstal atau belum, gunakan perintah berikut: # rpm -qa | grep iptables Dalam waktu dekat ini, saya akan membuat tutorial tentang iptables.

3. Port default untuk squid adalah 3128. Hal ini bisa dilihat di /etc/squid/squid.conf. Untuk lebih jelasnya, silahkan lihat di sinihttp://catatanlepas.com/computer/37-application/103-squid.html Gak apa-apa mas, banyak nanya berrati kita memang sungguh-sungguh di dalam mempelajari sesuatu. Saya pun banyak

nanya-nanya kok pada waktu belajar tentang ini dan mungkin kita bisa sharing pengetahuan .

Quote 0 0

ridho - Mr |202.146.180.Xxx |2009-06-20 10:18:28

Mas... numpang nanya... kalo tempat saya pake proxy yang diset di browser... nah saya buat server proxy sendiri untuk lan saya... untuk setting squid.conf nya gimana yaa ... supaya tidak perlu setting2 proxy lagi di browser... ato perlu ada tambahan

??? saya udah baca2 tp lom ketemu2 :'( ... mohon pencerahan teman2

Quote 0 0

catatan |SAdministrator |2009-06-22 10:01:02

Agar seluruh PC mengarah ke server proxy, maka inilah yang dinamakan Transparent Proxy. Dan untuk mensetting file

Page 5: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

squid.confnya bisa dilihat di: http://catatanlepas.com/komputer/37-aplikasi-linux/103-instalasi-dan-konfigurasi-squid.html Dan juga perlu disetting iptablesnya seperti tutorial di atas.

Semoga Membantu

Quote 0 0

ika |222.124.193.Xxx |2009-09-04 12:31:29

mas nanyak ne, kok proxy transparan Q gak jalan y di client padahal squid -z run. eth1 192.168.3.135 (internet) eth0

192.168.2.1 (lan) http_port 3128 transparent icp_port 0 cache_mem 6 MB cache_swap_low 94 cache_swap_high 96

cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log maximum_object_size 16384 KB minimum_object_size 4 KB maximum_object_size_in_memory 2048 KB # OPTION FOR TUNING THE CACHE

refresh_pattern -i ^ftp: 1440 50% 20160 refresh_pattern -i ^gopher: 1440 50% 20160 # FILE-FILE YANG JARANG BERUBAH refresh_pattern -i \.bin$ 180 90% 20160 reload-into-ims refresh_pattern -i \.cab$ 180 90% 20160 reload-into-ims refresh_pattern -i \.dat$ 180 90% 20160 reload-into-ims refresh_pattern -i \.exe$ 180 90% 20160 reload-into-ims refresh_pattern -i \.flv$ 180 90% 20160 reload-into-ims

refresh_pattern -i \.msi$ 180 90% 20160 reload-into-ims refresh_pattern -i \.rar$ 180 90% 20160 reload-into-ims refresh_pattern -i \.zip$ 180 90% 20160 reload-into-ims refresh_pattern -i \.swf$ 180 90% 20160 reload-into-ims refresh_pattern -i \.css$ 120 80% 10080 reload-into-ims refresh_pattern -i \.js$ 120 80% 10080 reload-into-ims refresh_pattern -i \.pdf$ 90 80% 10080 reload-into-ims refresh_pattern -i \.gif$ 45 70% 10080 reload-into-ims

refresh_pattern -i \.ico$ 45 70% 10080 reload-into-ims refresh_pattern -i \.jpg$ 45 70% 10080 reload-into-ims refresh_pattern -i \.png$ 45 70% 10080 reload-into-ims # REFRESH LEBIH CEPAT UNTUK YANG SERING BERUBAH refresh_pattern -i \.html$ 10 40% 4320 refresh_pattern -i \.htm$ 10 40% 4320 refresh_pattern -i \.xml$ 10 40% 4320

refresh_pattern . 25 60% 4320 fqdncache_size 1024 cache_replacement_policy heap GDSF memory_replacement_policy heap GDSF visible_hostname localhost

Page 6: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

cache_mgr admin@localhost cache_effective_user squid cache_effective_group squid acl apache rep_header Server ^Apache

broken_vary_encoding allow apache cache_mgr [email protected] #nama admin squid cache_effective_user squid cache_effective_group squid visible_hostname proxy.sman5.com #hostname unutk squid # DEFAULT ACL acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255 acl lan src 192.168.2.0/24 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl safe_ports port 80 # http acl safe_ports port 21 # ftp acl safe_ports port 443 563 # https, snews acl safe_ports port 70 # gopher

acl safe_ports port 210 # wais acl safe_ports port 280 # http-mgmt acl safe_ports port 488 # gss-http acl safe_ports port 591 # filemaker acl safe_ports port 777 # multiling http # MEMBLOCK SITUS TERLARANG (BLACKLIST) SECARA MANUAL # _______________________________________________

acl porn url_regex "/etc/squid/acl/porn.txt" acl noporn url_regex "/etc/squid/acl/noporn.txt" acl ip-porn dst "/etc/squid/acl/ip-porn.txt" acl download url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .msi .mp4 http_access allow porn all http_access allow noporn all

http_access deny porn all http_access deny ip-porn all http_access allow localhost http_access allow all http_access allow lan acl PURGE method PURGE acl CONNECT method CONNECT

http_access allow manager localhost http_access deny manager http_access allow PURGE localhost http_access deny PURGE http_access deny !safe_ports

http_access deny CONNECT !SSL_ports http_access deny to_localhost acl our_networks src 192.168.2.0/24 192.168.3.0/24 http_access allow our_networks http_reply_access allow lan

Page 7: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

http_reply_access allow localhost http_reply_access deny all http_reply_access allow all icp_access allow lan

icp_access allow localhost icp_access deny all icp_access allow all http_access allow localhost http_reply_access allow all http_access deny all # MANAJEMEN BANDWIDTH

# ___________________________________________ delay_pools 2 delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_class 2 2 delay_parameters 2 -1/2048000 10000/2049000 delay_access 2 allow download

delay_access 2 deny all delay_access 1 deny download delay_access 1 allow all

Quote 0 0

ika |222.124.193.Xxx |2009-09-04 12:33:16

mohon bantuannya y mas, bener2 dah buntu ne... fqdncache_size 1024 cache_replacement_policy heap GDSF memory_replacement_policy heap GDSF

visible_hostname localhost cache_mgr admin@localhost cache_effective_user squid cache_effective_group squid acl apache rep_header Server ^Apache broken_vary_encoding allow apache cache_mgr [email protected] #nama admin squid

cache_effective_user squid cache_effective_group squid visible_hostname proxy.sman5.com #hostname unutk squid # DEFAULT ACL acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl lan src 192.168.2.0/24

acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl safe_ports port 80 # http acl safe_ports port 21 # ftp acl safe_ports port 443 563 # https, snews acl safe_ports port 70 # gopher acl safe_ports port 210 # wais acl safe_ports port 280 # http-mgmt

acl safe_ports port 488 # gss-http

Page 8: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com

acl safe_ports port 591 # filemaker acl safe_ports port 777 # multiling http # MEMBLOCK SITUS TERLARANG (BLACKLIST) SECARA MANUAL # _______________________________________________

acl porn url_regex "/etc/squid/acl/porn.txt" acl noporn url_regex "/etc/squid/acl/noporn.txt" acl ip-porn dst "/etc/squid/acl/ip-porn.txt" acl download url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .msi .mp4 http_access allow porn all http_access allow noporn all http_access deny porn all

http_access deny ip-porn all http_access allow localhost http_access allow all http_access allow lan acl PURGE method PURGE acl CONNECT method CONNECT

http_access allow manager localhost http_access deny manager http_access allow PURGE localhost http_access deny PURGE http_access deny !safe_ports

http_access deny CONNECT !SSL_ports http_access deny to_localhost acl our_networks src 192.168.2.0/24 192.168.3.0/24 http_access allow our_networks http_reply_access allow lan http_reply_access allow localhost http_reply_access deny all

http_reply_access allow all icp_access allow lan icp_access allow localhost icp_access deny all icp_access allow all http_access allow localhost http_reply_access allow all

http_access deny all # MANAJEMEN BANDWIDTH # ___________________________________________ delay_pools 2 delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_class 2 2

delay_parameters 2 -1/2048000 10000/2049000 delay_access 2 allow download delay_access 2 deny all delay_access 1 deny download delay_access 1 allow all

Page 9: Transparent Proxy

Kumpulan FAQ Proxy transparent

www.almuhibbin.com