Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Penerapan Proxy Server Dengan Menggunakan Squid
Pendahuluan
Transparan cache dinamai demikian karena alat tersebut bekerjanya dengan menggunakan jalur jaringan secara transparan ke browser. Dalam model ini ,sirkit pendek cache, proses retrieval, apaka h file yang dikehendaki ada dalam cache. Transparan cache berguna khususnya untuk ISPs karena mereka tak memerlukan modifikasi browser set up. Trasparan cache juga merupakan cara yang termudah untuk menggunakan sebuah cache secara internal pada sebuah jar ingan , karena trasparan cache tak menggunakan koordinasi yang terperinci dengan cache lainnya. Apakah trasparan cache itu ?
Penjelasan istilah trasparan cache dan trasparan proxy tergantung pada contohnya , tapi kami mengasumsikan konteks disini yaitu HTTP Proxy/cache dengan trasparan hijacking dari port 80 yang mana merupakan jalur HTTP yang gagal di internet. Perbedaannya yaitu bahwa cache memasukkan cache, tapi proxy hanya proxy-proxy tanpa caching .Trasparan Overload mempunyai arti yang berbeda-beda tergantung situasinya . Kata tersebut dapat diartikan setup yang membajak jalur port 80 dimana klientnya mencoba untuk pergi ke server yang lain, juga bisa diartikan sebuah trasparan proxyyang tak dapat mengubah arti / isi permintaan . tak ada alat seperti trasparan proxy , hanya semi trasparan dan tak ada alat seperti trasnparan cache. Squid dapat dikonfigurasikan untuk bertindak secara trasparan. Dalam mode ini klient tak disyaratkan untuk mengkonfigurasikan browser mereka untuk mengakses cache tapi squid akan menjemput paket yang tepat dan permintaan cache secara transparan.
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Hal yang bisa memecahkan masalah terbesar dengan menggunakan caching : menganjurkan para pemakai untuk menggunakan cache server. Keuntungan trasparan caching:
Keuntungan dan kerugia n trasparan caching secara menyeluruh merupakan kebalikan dari semua yang telah disebutkan dalam contoh untuk proxy caching. Keuntungannya: Administrasi yang dibuat mudah untuk dimengerti browser tak perlu dikonfigurasikan untuk bicara ke cache. Kontrol pusat, pemakai tak dapat mengubah browsernya untuk melengkapi cache.
Kerugian trasparan caching: Tidak kuat, karena trasparan caching tergantung pada routed path yang stabil antara klient dengan serveryang asli,dalam hal menerobos cache path . Hal tersebut dalam internet mudah dipengaruhi bagi perubahan – perubahan routing. Dengan kata lain jika sebuah hubungan antara klient dengan cache ditetapkan dan perubahan routing terjadi yang mana menyebabkan klient mengambil path yang tak lagi mengalir melalui alat jaringan diverting,periodenya akan berhenti dan pemakai harus mengisi ulang halaman, jika rute- rute dalam internet tak menentu maka hasilnya akan lebih tak bisa diperkirakan. Kontrol pemakai,
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Trasparan caching membawa pergi kontrol dari pemakai. Beberapa pemakai mempunyai bias-bias yang sangat kuat tentang caching dan akan mengubah ISPsuntuk menghindarinya. Dependensi browser, Untuk operasi yang sukses banyak trasparan cache tergantung pada browser yang menyediakan sejumlah nama server asli dalam header permintaan HTTP. Hal ini diperlukan sebab cache ini tak dapat mengakses tujuan IP address server yang asli dari IP address paket , karena alasan tersebut cache menghilang. Mereka tak dapat menentukan server address yang asli untuk mengirim permintaan.Beberapa browser awal/sebelumnya tak menyediakan informasi ini maka dari itu tak akan bekerja secara baik dengan trasparan cache, tapi 90% dari browser puas.Dalam kenyataannya ,banyak pelengkap jaringan telah mengobservasi bahwa jumlah signifikan permintaan HTTP adalah untuk mengisi non cachetable (35-45%). Angka kemunculan cache tersebut proporsional untuk jumlah isi non cachetable yang dikirim ke cache. Apakah squid itu ?
Squid adalah sebuah penampilan yang bagus bagi dari server cacking proxy untuk klient web, pendukung FTP, gopher dan obyek data HTTP. Tak seperti software cacking tradisional , squid menangani semua permintaan dalam bentuk singgle , non bloking , proses I/O driven. Squit menyimpan data meta dan khususnya obyek panas yang tersembunyi dalam RAM, menyembunyikan DNS lookups, mendukung DNS lookups yang tak memihak, dan cacking negatif dari permintaan yang digagalkan . Squid mendukung SSL,kontrol akses yang extensif dan loging permintaan penuh. Dengan menggunakan ukuran berat internet cache protokol, squid dapat disusun dalam sebuah hirarki untuk pengamanan bandwidth extra squid terdiri dari sebuah squid program main server, sebuah dnsserver program lookups Domain Name Systim, beberapa program untuk menulis kembali permintaan-permintaan dan keo utentikan penampilan , dan beberapa menegemen dan alat-alat klient.
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Pada saat squid dihidupkan maka akan menghasilkan angka dari proses dnsserver dalam jumlah yang banyak yang bisa mengkonfigurasi,masing- masing dapat menunjukkan Domain Name System lookups tunggal dan memihak . Ini menurunkan jumlah waktu cache yang menunggu DNS lookups. Bagaimanakah menerapkan Transparent Caching dengan menggunakan Squid ?
Transparent caching dapat diterapkan dengan 3 cara : •
Kebijaksanaan yang berdasarkan routing
•
Menggunakan smart switching
•
Dengan memasang kotak squid sebagai Gateway
Transparent Caching yang menggunakan kebijaksanaan yang berdasarkan routing. Penyusunan ini menggunakan sebuah router untuk menempuh jalur WWW (melalui routing kebijaksanaan) menuju ke kotak Squid cache. Karena router hanya dapat mengubah IP address dari sebuah paket, kotak Squid Linux harus dikonfigurasikan ke pengaturan ulang tujuan port dari paket tersebut. Kebijaksanaan Router mengatur ulang paket-paket dengan port 80 ke kotak squid dan mengatur ulang jalur yang lain ke interneat secara langsung. Untuk mengatur aturan kebijaksanaan router, acukan ke manual router anda. Penggunaan alat IP-chains dalam kotak squid, dapat dilakukan dengan mengatur ulang paket-paket yang dikirim oleh router ke applikasi squid. Karena beberapa Router (misal: Cisco seri) tidak mengenali kegagalan squid cache, apakah squid gagal bekerja, pelayanan ke WWW berhenti. Untuk mengatasi masalah ini, cache guard (Perl script yang mengoperasikan jaringan yang dipertahankan di dalam komputer) dapat digunakan untuk mengekspresikan keraguan tentang kotak squid atas obyek-obyek yang disembunyikan. Pada saat cache guard gagal untuk menemukan kembali obyek dari cache, cache guard mengubah konfigurasi router (dengan SNMP) untuk melewati jalur WWW secara langsung ke internet. Dalam hal ini kegagalan karena strategi yang berlebihan dapat dihindari.
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Transparent caching menggunakan smart switching . Susunan ini menggunakan router lapis 4 atau 7 untuk melewati jalur WWW menuju ke cache squid yang transparan . Karena router hanya dapat mengubah IP address dari sebuah paket, kotak squid Linux harus disusun untuk mengatur kembali tujuan port dari paket tersebut. Saklar L4 dan L7 menghentikan keluar masuknya jalur dan meluluskan permintaan HTTP, seperti jalur port 80, bagi squid proxy server yang mana saklarnya disusun untuk mengenali ssklar tersebut mengirim jalur non-HTTP ke tujuan yang lain. Gambar dibawah menunjukkan sebuah saklar yang melewati jalur HTTP ke squid proxy server dan jalur non-HTTP ke internet.
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Bagaima nakah cara kerja saklar ? Saklar L4 dan L7 mendapatkan nama mereka dari tingkat model Open System Interconnection (OSI) Reference di tempat mereka beroperasi. Kemampuan saklar tersebut ditentukan oleh lapisan dalam model OSI si tempat mereka beroperasi. Saklar L4 Beroperasi di lapisan 4 dalam model OSI- layar transport. Saklar L4 mendasari keputusan switching mereka atas informasi dalam TCP header, dan TCP merupakan sebuah protokol yang ada di lapisan 4 dalam model OSI. Saklar tersebut menentukan ke arah mana untuk melewati jalur berdasarkan pada nomer port. Saklar L7 Sekarang ini saklar-saklar yang canggih sudah tersedia. Saklar yang baru tersebut beroperasi di lapisan 7 pada model OSI-lapisan applikasi. Karena saklar tersebut
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
beroperasi di lapisan 7, saklar tersebut dapat memahami URLs dan dapat memahami lebih banyak tentang jalur daripada saklar L4. Saklar L7 melengkapi bagian yang penting yang sama yang mana saklar L4 menyediakan sebagian tambahan yang positif bagian penting yang lebih canggih. Perbandingan saklar L4 dan L7 Saklar L7 memiliki bagian penting seperti yang dimiliki saklar L4, sebagai tambahan positif, bagian penting yang lebih canggih . Kesamaan bagian: •
Beberapa saklar L4 dan L7 dapat bekerja lebih daripada data gigabyte.
•
Untuk HTTP transparent caching, jalur operasi mereka berdasarkan pada IP address server web yang diminta.
•
Untuk HTTP transparent caching, mereka bisa disusun untuk mengirim jalur secara langsung ke internet jika Web cache gagal.
Bagaimana saklar L7 berbeda : •
Saklar L7 dapat membagi jalur klien HTTP menjadi bagian-bagian berdasarkan pada URL yang diminta .
•
Untuk permintaan HTTP, saklar L7 dapat melihat permintaan dan menentukan apakah obyek mampu sembunyi. Dengan saklar L7, permintaan untuk obyek noncacheable, misal: URLs dengan cookies dan CGI, akan menghindari cache.Obyek non-cacheable diperoleh secara langsung dari web server.
Perbandingan hasil kerja saklar L4 dan L7: Hasil kerja saklar L4 dan L7 sama. Walaupun demikian, karena saklar L7 melihat dengan lebih dekat di TCP/paket IP untuk port 80 atau port 119, respon waktunya lebih lambat daripada saklar L4.
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Kotak Squid sebagai Gateway Setup ini digunakan dalam LAN kecil atau WAN dimana jmlah kliennya berkurang. Disini, Setup disyaratkan untuk menyusun kotak squid sebagai Gateway yang gagal dalam semua mesin. Metode ini menghendaki susunan yang lebih dalam kotak squid jika dibandingkan dengan metode yang lain.
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Konfigurasi kotak Squid Cara yang harus dilakukan untuk menerapkan transparent caching: •
Paket yang diutamakan untuk port 80 pada beberapa komputer di internet harus diatur kembali dengan router atau saklar L4 (seperti yang sudah dijelaskan
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
sebelumnya) ke komputer dimana squid bekerja. Ini dapat dilakukan dengan meletakkan kotak squid sebagai Gateway. •
Dalam kotak squid, paket-paket yang diatur kembalioleh smart switch atau router ke kotak squid masih perlu diatur ulang ke port dimana squid siap menerima. Pengaturan ulang paket-paket ini tidak dapat dilakukan oleh Squid., tapi oleh Linux kernel, menggunakan program IP- chains. Kemudian kernel menerima paket pada port 80, lihat susunan firewall dan atur paket dengan benar dan tepat, misal: dengan mengubah tujuan port ke 3128,atau apapun squid port bekerja. Jika anda memerlukan IP Filter, gunakan option transparent-ipf yang memunkinkan di dalam squid untuk membantu klien-klien HTTP tertentu (HTTP/1.0 klien,tidak mengirim Host header). Walaupun demikian browsing normal yang menggunakan browser popular bahkan akan bekerja tanpa alat itu .
Tentang IP Chains IP Chains merupakan sebuah program yang sangat kuat yang mengizinkan pemakai meletakkan IP Filtering yang kompleks dan menghitung aturan. Tujuan : Untuk meletakkan firewall dalam Squid/kotak Linux dengan pilihan minimal yang diperlukan untuk transparent proxy. Inilah metode yang paling mudah. Princiannya : Yakinlah bahwa option berikut ini dalam kernel bisa digunakan CONFIG_PACKET CONFIG_NETLINK CONFIG_RTNETLINK CONFIG_NETLINK_DEV CONFIG_FIREWALL CONFIG_FILTER CONFIG_UNIX
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
CONFIG_INET CONFIG_IP_MULTICAST CONFIG_IP_ADVANCED_ROUTER CONFIG_RTNETLINK CONFIG_NETLINK CONFIG_IP_MULTIPLE_TABLES CONFIG_IP_ROUTE_MULTIPATH CONFIG_IP_ROUTE_TOS CONFIG_IP_ROUTE_VERBOSE CONFIG_IP_ROUTE_LARGE_TABLES CONFIG_IP_ROUTE_NAT CONFIG_IP_FIREWALL CONFIG_IP_FIREWALL_NETLINK CONFIG_NETLINK_DEV CONFIG_IP_ROUTE_FWMARK CONFIG_IP_TRANSPARENT_PROXY CONFIG_IP_MASQUERADE CONFIG_IP_MASQUERADE_ICMP CONFIG_IP_ROUTER Selain itu anda harus menyusun kembali kernel. Yakinlah IP forwarding bisa digunakan dalam kernel dengan memakai perintah berikut ini : cat /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward Pengaturan ulang port Perintah berikut memungkinkan trasparan cacking :
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
ipchains -A input -j REDIRECT 3128 -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 80 perintah ini maengatur ulang semua perintah , tanpa memikirkan sumber IP address ,dengan tujuan port 80 ke port 3128 yang mana di dalam squid. IP Masquerading Hal ini penting ketika metode ke tiga diterapkan , padahal ini tak relevan untuk 2 metode yang lain. P2 saat squid di dalam transparan mode, jaringan lokal tak akan mampu mengakses protokol-protokol yang lain pada squid.squid mendukung FTP, gopher dan HTTPs hanya ketika klient dari masing- masing protokol yang dispesifikan memiliki pengetahuan tentang cache. Karena itu IP_Masquerading dapat digunakan untuk memungkinkan mengakses ke protokol lain. Berikut adalah aturan-aturan untuk masquerading protokol- protokol SMTP, FTP, POP, SSH, TELNET dan HTTPS. Di sini kotak squid dihubungkan ke internet melalui router yang menggunakan eth 1 interface. ipchains-N good-bad // Aturan yang didefinisikan pengguna baru dinyatakan ipchains -A forward -s 172.16.1.0/24 -i eth1 -j good-bad
// Aturan baik buruk ditambahkan ke tabel aturan Ipchains. Ini mengirim semua permintaan yang datang dari sumber 172. 16. 1. 1-254 ke interface melalui sesuatu yang menghubungkan ke internet.
// Berikut ini adalah set garis- garis yang mendefinisikan aturan baik buruk yang telah didefinisikan pemakai. ipchains -A good-bad -p tcp -dport ssh -j MASQ ipchains -A good-bad -p tcp -dport telnet -j MASQ
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
ipchains -A good-bad -p tcp -dport ftp -j MASQ ipchains -A good-bad -p tcp -dport smtp -j MASQ ipchains -A good-bad -p tcp -dport 110 -j MASQ Tentang tabel IP Iptables module (untuk kernel 2.4.x series dan diatasnya) yang mana merupakan sebuah bagian dari Netfilter framework adalah sebuah upgrade yang bagus dari sebuah ipchains yang lama (untuk kernel 2.2.x). Kernel setup Untuk menjalankan bagian dasar dari iptables, option berikut disusun ke dalam kernel: CONFIG_PACKET CONFIG_NETFILTER Dan tentu, interface anda diperlukan untuk disusun secara benar untuk bekerja, misal: Ethernet, PPP dan SLIP interfaces. Berikut ini cara yang diterapkan ke dalam kernel jika option yang lebih maju diperlukan : CONFIG_IP_NF_CONNTRACK CONFIG_IP_NF_FTP CONFIC_IP_NF_IPTABLES CONFIG_IP_NF_MATCH_LIMIT CONFIG_IP_NF_MATCH_MAC CONFIG_IP_NF_MATCH_MARK CONFIG_IP_NF_MATCH_MULTIPORT CONFIG_IP_NF_MATCH_TOS CONFIG_IP_NF_MATCH_STATE CONFIG_IP_NF_MATCH_UNCLEAN CONFIG_IP_NF_MATCH_OWNER
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
CONFIG_IP_NF_FILTER CONFIG_IP_NF_TARGET_REJECT CONFIG_IP_NF_TARGET_MIRROR CONFIG_IP_NF_NAT CONFIG_IP_NF_NAT_NEEDED CONFIG_IP_NF_TARGET_MASQUERADE CONFIG_IP_NF_TARGET_REDIRECT CONFIG_IP_NF_NAT_FTP
Pengaturan kembali Port
iptables-t nat -A PREROUTING - p TCP --dport 80 -j REDIRECT -- to-port 3218 Aturan di atas mengatur kembali permintaan port 80, tanpa memikirkan sumber ip address ke port 3128 (atau port apapun yang mana didalamnya squid menggerakkan transparent mode).
IP-Masquerading
iptables -t nat -A POSTROUTING -p TCP -s 0/0 --dport 21 -j MASQUERADE iptables -t nat -A POSTROUTING -p TCP -d 0/0 --dport 20 -j MASQUERADE
iptables -t nat -A POSTROUTING -p TCP --dport 25 -j MASQUERADE iptables -t nat -A POSTROUTING -p TCP --dport 110 -j MASQUERADE
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
iptables -t nat -A POSTROUTING -p TCP --dport 22 -j MASQUERADE iptables -t nat -A POSTROUTING -p TCP --dport 23 -j MASQUERADE
Aturan di atas penting pada saat kita menghubungkan modem atau squid yang ada diantara 2 jaringan yang berbeda untuk membuat TELNET, FTP, SMTP, POP, HTTPs, untuk berkomunikasi ke internet. Squid dalam transparent mode Untuk mengoperasikan squid dalam transparent mode pakailah petunjuk dalam squid .conf.
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on
httpd_accel_port directive menyatakan port server yang asli sedang mendengarkan (port 80). Squid tidak perlu tahu bagaimana peermintaan datang ke listening port (3128). Ini harus dikerjakan oleh sistem operasi atau router. Squid melihat sebuah permintaan untuk URL dan menghubungkan ke port 80 pada server dimana server mengira masuk ke URL. Squid tidak punya kontrol untuk mengetahui permint aan tipe apa yang mendatanginya. Jika squid mendengarkan port 3128 kemudian mengasumsikan kedatangan data, ada protokol yang dapat menghandle (HTTP, FTP,dll) . Tipe paket yang diatur kembali ke squid ditentukan oleh TCP/IP penerapan host (misal: ipchains forwarding) dan diluar kontrol squid. Instalasi Squid:
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Untuk Squid-2 anda harus mengoperasikan configure script sendiri sebelum running membuat: % tar xzf squid-2.0.RELEASE-src.tar.gz % cd squid-2.0.RELEASE % ./configure % make % make install
Running Squid Pertama, anda harus membuat directori swap. Lakukan hal tersebut dengan mengoperasikan squid dengan option –z: % /usr/local/squid/bin/squid -z
Untuk melengkapi, anda dapat memulai squid dan mengujinya. Mungkin hal terbaik yang harus dilakukan adalah mengoperasikan squid dari terminal anda dan melihat output debug. Gunakan perintah ini: % /usr/local/squid/bin/squid -NCd1
Jika berhasil anda akan melihat: Ready to serve requests.
Jika anda ingin mengoperasikan squid di background, sebagai proses daemon, hentikan saja semua option: % /usr/local/squid/bin/squid Catatan: Sesuai konfigurasi anda, anda mungkin perlu untuk memulai squid sebagai root.
Praktikum Jaringan Komputer PENS ITS Iwan Syarif & Ferry Astika
Hardware yang dianjurkan untuk transparent caching.
Processor: Intel P3 550MHz CPU Hard drive : Untuk performance dan stabilitas tinggi, disket SCSI dianjurkan atau UDMA 66 Drive sebagai alternatif disket IDE. Tipe disket 9 GB lebih disukai. Ethernet : Ethernet yang komplit dan bagus. RAM : Untuk setiap 1 GB cache, 10 MB dari RAM disyaratkan untuk kasus diatas minimum dari 300 MB diperlukan 512 MB RAM.
Reference •
http://squid.visolve.com/white_papers/trans_caching.htm
•
http://squid.visolve.com/white_papers/reverseproxy.htm
•
http://www.squid-cache.org/
•
http://www.tldp.org/LDP/solrhe/Securing-Optimizing- Linux- RH