Transparent Proxy

Mukadimah
Salah satu kompleksitas dari proxy pada level aplikasi adalah bahwa pada sisi pengguna harus dilakukan konfigurasi yang spesifik untuk suatu proxy tertentu agar bisa menggunakan layanan dari suatu proxy server. Bila diinginkan agar pengguna tidak harus melakukan konfigurasi khusus, kita bisa mengkonfigurasi proxy/cache server agar berjalan secara benar-benar transparan terhadap pengguna (transparent proxy). Biasanya cara ini memerlukan bantuan dan konfigurasi aplikasi firewall (yang bekerja pada layer network) untuk bisa membuat transparent proxy yang bekerja pada layer aplikasi.

Transparent proxy dapat berguna untuk “memaksa pengguna” menggunakan proxy/cache server, karena pengguna benar-benar tidak mengetahui tentang keberadaan proxy ini, dan apapun konfigurasi pada sisi pengguna, selama proxy server ini berada pada jalur jaringan yang pasti dilalui oleh pengguna untuk menuju ke internet, maka pengguna pasti dengan sendirinya akan “menggunakan” proxy/cache ini.

Cara membuat transparent proxy adalah dengan membelokkan arah (redirecting) dari paket-paket untuk suatu aplikasi tertentu, dengan menggunakan satu atau lebih aturan pada firewall/router. Hal ini bisa dilakukan karena setiap aplikasi berbasis TCP akan menggunakan salah satu port yang tersedia, dan firewall dapat diatur agar membelokkan paket yang menuju ke port layanan tertentu, ke arah port dari proxy yang bersesuaian.

Sebagai contoh, pada saat klient membuka hubungan HTTP (port 80) dengan suatu web server, firewall pada router yang menerima segera mengenali bahwa ada paket data yang berasal dari klien dengan nomor port 80. Disini kita juga mempunyai satu HTTP proxy server yang berjalan pada port 3130. Maka pada firewall router kita buat satu aturan yang menyatakan bahwa setiap paket yang datang dari jaringan lokal menuju ke port 80 harus dibelokkan ke arah alamat HTTP proxy server port 3130. Akibatnya, semua permintaan web dari pengguna akan masuk dan diwakili oleh HTTP proxy server diatas.


Jadi secara umum keuntungan dari metode transparent proxy itu sendiri adalah :

1. Kemudahan administrasi jaringan, dengan artian browser yang digunakan klien tidak harus dikonfigurasi secara khusus yang menyatakan bahwa mereka menggunakan fasilitas proxy yang bersangkutan.
2. Sentralisasi kontrol, dengan artian, pergantian metode bypass proxy maupun penggunaan proxy oleh klien dapat dilakukan secara terpusat.



Cara konfigurasi Transparent 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:

Code:
# 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.

Code:
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:

Code:
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.

Code:
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

6. Setelah itu, coba amati file access.log di mesin proxy kita yang berada
di folder /var/log/squid, lalu ketikkan:

Code:
# tail -f access.log

Dan jangan lupa untuk menulis http_port 8080 transparent dibawah tulisan:

Code:
# Squid normally listens to port 3128

port 8080 bisa diganti dengan port berapa saja yang penting setelah itu
ada tulisan transparent.

Transparent Proxy Transparent Proxy Reviewed by Unknown on 2:23 AM Rating: 5
Editor By 54v0y. Powered by Blogger.