Sunday, October 19, 2008

PROXY SERVER PADA CIRCUIT LEVEL


In computer networks, a proxy server is a server (a computer system or an application program) which services the requests of its clients by forwarding requests to other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server provides the resource by connecting to the specified server and requesting the service on behalf of the client. A proxy server may optionally alter the client’s request or the server’s response, and sometimes it may serve the request without contacting the specified server. In this case, it would ‘cache’ the first request to the remote server, so it could save the information for later, and make everything as fast as possible.

A proxy server that passes all requests and replies unmodified is usually called a gateway or sometimes tunneling proxy.

A proxy server can be placed in the user’s local computer or at various points between the user and the destination servers or the Internet.

=======================================================

Proxy server yang bekerja pada level sirkuit dibuat untuk menyederhanakan keadaan. Proxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagai "sambungan" antara layer aplikasi dan layer transport, melakukan pemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layanan atau sebaliknya. Proxy ini juga masih bertindak sebagai perantara, namun juga membangun suatu sirkuit virtual diantara layer aplikasi dan layer transport.

Dengan proxy level sirkuit, aplikasi klien pada pengguna tidak perlu dikonfigurasi untuk setiap jenis aplikasi. Sebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali saja diperlukan untuk menginstall WinSock Proxy pada komputer pengguna, setelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atau telnet dapat langsung menggunakannya seperti bila terhubung langsung lke internet.

Kelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dari paket yang dikirimkan atau diterima oleh aplikasi-aplikasi yang menggunakannya. Kelemahan ini dicoba diatasi menggunakan teknologi yang disebut SOCKS. SOCKS adalah proxy level sirkuit yang dapat digunakan untuk semua aplikasi (generik proxy) yang berbasis TCP/IP, dikembangkan sekitar tahun 1990 oleh Internet Engineering Task Force (IETF) dan sudah mencapai versi 5 (RFC 1928). SOCKS menyediakan standar yang independen dari platform yang digunakan untuk mengakses proxy level sirkuit. Salah satu kemampuan penting SOCKS versi 5 adalah tambahan proses autentikasi dan password, serta memberikan layanan proxy terhadap layanan berbasis UDP, dengan pertama-tama melakukan koneksi TCP, den kemudian menggunakannya untuk relay bagi data UDP.

SOCKS terdiri dari dua komponen, yaitu SOCKS server dan SOCKS klien. SOCKS server diimplementasikan pada leyer aplikasi, sedangkan SOCKS klien diimplementasikan diantara layer aplikasi dan layer transport. Kegunaan pokoknya adalah untuk bisa menyelenggarakan koneksi dari satu host pada satu sisi dari SOCKS server dengan host lain pada sisi yang lain dari SOCKS server, tanpa kedua host harus terhubung langsung dalam konteks TCP/IP.

Diagram berikut menggambarkan posisi SOCKS:

Ketika satu aplikasi klien ingin terhubung dengan server aplikasi, pertama-tama dia menghubungi SOCKS proxy server. Proxy inilah yang akan melakukan relay data dan menghubungkan klien dengan server. Bagi si klien, SOCKS proxy server adalah server, dan bagi server, SOCKS proxy server adalah klien. SOCKS proxy melakukan 3 tahap proses yaitu membuat permintaan koneksi, membuat sirkuit proxy-nya, dan melakukan relay data. SOCKS versi 5 menambah satu prosedur yaitu proses autentikasi pada setiap langkah diatas.

Aplikasi yang menggunakan SOCKS versi 5 sejumlah mempunyai keunggulan yaitu :

  1. Proxy generik yang tidak tergantung pada aplikasinya (application-independent proxy). SOCKS membuat dan mengatur channel komunikasi yang digunakan untuk semua aplikasi jaringan. Adanya aplikasi baru tidak memerlukan pengembangan tambahan. Proxy layer aplikasi harus membuat software proxy baru untuk setiap aplikasi baru, dan proxy layer network dengan inspeksi penuh harus membuat cara inspeksi protokol baru.
  2. akses yang transparan pada jaringan dengan banyak server proxy.
  3. kemudahan autentikasi dan metode enkripsi. Hanya menggunakan satu protokol saja untuk pembangunan channel komunikasi semua pengguna dan aplikasi, dan proses autentikasinya. Kebanyakan protokol tuneling memisahkan proses autentikasi dan proses pembangunan channel komunikasi.
  4. kemudahan membangun aplikasi jaringan tanpa harus membuat proxy-nya.
  5. manajemen kebijakan yang sederhana atas keamanan jaringan.

Diagram berikut menggambarkan aliran kendali model aliran kendali SOCKSv5:

TRANSPARENT PROXY

Posted: 18 Oct 2008 07:46 PM PDT

The term “transparent proxy” is most often used incorrectly to mean “intercepting proxy” (because the client does not need to configure a proxy and cannot directly detect that its requests are being proxied). Transparent proxies can be implemented using Cisco’s WCCP (Web Cache Control Protocol). This proprietary protocol resides on the router and is configured from the cache, allowing the cache to determine what ports and traffic is sent to it via transparent redirection from the router. This redirection can occur in one of two ways: GRE Tunneling (OSI Layer 3) or MAC rewrites (OSI Layer 2).

However, RFC 2616 (Hypertext Transfer Protocol — HTTP/1.1) offers different definitions:

“A ‘transparent proxy’ is a proxy that does not modify the request or response beyond what is required for proxy authentication and identification”.
“A ‘non-transparent proxy’ is a proxy that modifies the request or response in order to provide some added service to the user agent, such as group annotation services, media type transformation, protocol reduction, or anonymity filtering”.

======================================================

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.

Proxy – Untuk Sharing Internet

Posted: 18 Oct 2008 06:55 PM PDT

Internet Connection Sharing (ICS) is the name given by Microsoft to a feature of its Windows operating system (as of Windows 98 Second Edition and later) for sharing a single Internet connection on one computer between other computers on the same local area network. It makes use of DHCP and Network address translation (NAT).

ICS routes TCP/IP packets from a small LAN to the Internet. ICS maps individual IP addresses of local computers to unused port numbers in the TCP/IP stack. Due to the nature of the NAT, IP addresses on the local computer are not visible on the Internet. All packets leaving or entering the LAN are sent from or to the IP address of the external adapter on the ICS host computer.

On the host computer the shared connection is made available to other computers by enabling ICS in Network Connections, and other computers that will connect to and use the shared connection.

ICS offers configuration for other standard services and some configuration of NAT.

However, while ICS makes use of DHCP, there is no way to review DHCP leases using ICS. The service is also not customizable in terms of which addresses are used for the internal subnet, and contains no provisions for bandwidth limiting or other features common to more advanced systems, that can be also combined with Wi-Fi and dial-up mobile modems.

The server will always have the IP address 192.168.0.1 and will provide NAT services to the whole 192.168.0.x subnet, even if the address on the client was set manually, not by the DHCP server.

Besides making sure that the firewall settings are correct, for Windows XP host with more than one Ethernet interface cards and a wireless WAN connection, bridging the Ethernet interface cards may help eliminating some ICS malfunction problems. It is found from repeated testing that without bridging, ICS may not work correctly if only one of the several Ethernet cards is selected from the wireless connection’s Internet Connection Sharing option drop down box. This problem may have been solved in later versions of Microsoft Windows products.

=====================================================

Sumber : Onno W. Purbo

Teknik proxy adalah teknik yang standar untuk akses Internet secara bersama-sama oleh beberapa komputer sekaligus dalam sebuah Local Area Network (LAN) melalui sebuah modem atau sebuah saluran komunikasi. Istilah Proxy sendiri banyak dikenal / digunakan terutama di dunia / kalangan diplomatik. Secara sederhana proxy adalah seseorang / lembaga yang bertindak sebagai perantara atau atas nama dari orang lain / lembaga / negara lain.

Teknik ini dikenal dengan beberapa nama yang ada di pasaran, misalnya:

  • Internet Connection Sharing (ICS) – istilah ini digunakan oleh Microsoft pada Windows-nya.
  • Proxy Server – ini biasanya berupa software tambahan yang dipasang di komputer yang bertindak sebagai perantara.
  • Internet Sharing Server (ISS) – biasanya berupa hardware berdiri sendiri lengkap dengan modem, hub dan software proxy di dalamnya.
  • Network Address Translation (NAT) – istilah lain yang digunakan untuk software proxy server.
  • IP Masquerade – teknik yang digunakan di software NAT / Proxy server untuk melakukan proses proxy.

Mengapa teknik proxy menjadi penting untuk share akses Internet dari sebuah LAN secara bersama-sama? Sebagai gambaran umum, dalam sebuah jaringan komputer – termasuk Internet, semua komponen jaringan di identifikasi dengan sebuah nomor (di Internet dikenal sebagai alamat Internet Protokol, alamat IP, IP address). Mengapa digunakan nomor? Karena penggunaan nomor IP akan memudahkan proses route & penyampaian data – dibandingkan kalau menggunakan nama yang tidak ada aturannya. Kira-kira secara konsep mirip dengan pola yang dipakai di nomor telepon.

Nah sialnya,

(1) nomor IP ini jumlah-nya terbatas dan

(2) seringkali kita tidak menginginkan orang untuk mengetahui dari komputer mana / jaringan mana kita mengakses Internet agar tidak terbuka untuk serangan para cracker dari jaringan Internet yang sifatnya publik.

Berdasarkan dua (2) alasan utama di atas, maka dikembangkan konsep private network, jaringan private atau kemudian dikenal dengan IntraNet (sebagai lawan dari Internet). Jaringan IntraNet ini yang kemudian menjadi basis bagi jaringan di kompleks perkantoran, pabrik, kampus, Warung Internet (WARNET) dsb. Secara teknologi tidak ada bedanya antara IntraNet & Internet, beda yang significant adalah alamat IP yang digunakan. Dalam kesepakatan Internet, sebuah Intanet (jaringan private) dapat menggunakan alamat IP dalam daerah 192.168.x.x atau 10.x.x.x. IP 192.168 & 10 sama sekali tidak digunakan oleh Internet karena memang dialokasikan untuk keperluan IntraNet saja.

Proses pengkaitan ke dua jenis jaringan yang berbeda ini dilakukan secara sederhana melalui sebuah komputer atau alat yang menjalankan software proxy di atas. Jadi pada komputer yang berfungsi sebagai perantara ini, selalu akan mempunyai dua (2) interface (antar muka), biasanya satu berupa modem untuk menyambung ke jaringan Internet, dan sebuah Ethernet card untuk menyambung ke jaringan IntraNet yang sifarnya private.

Untuk menghubungkan ke dua jaringan yang berbeda ini, yaitu Internet & IntraNet, perlu dilakukan translasi alamat / IP address. Teknik proxy / Network Address Translation sendiri sebetulnya sederhana dengan menggunakan tabel delapan (8) kolom, yang berisi informasi:

  • Alamat IP workstation yang meminta hubungan.
  • Port aplikasi workstation yang meminta hubungan.
  • Alamat IP proxy server yang menerima permintaan proxy.
  • Port aplikasi proxy server yang menerima permintaan proxy.
  • Alamat IP proxy server yang meneruskan permintaan proxy
  • Port aplikasi proxy server yang meneruskan permintaan proxy.
  • Alamat IP server tujuan.
  • Port aplikasi server tujuan.

Dengan cara ini, paket dengan informasi pasangan alamat IP:port dari workstation user yang meminta servis pasangan alamat IP:port server tujuan bisa diganti agar server tujuan menyangka permintaan servis tersebut datangnya dari pasangan alamat IP:port proxy server yang meneruskan permintaan proxy. Server tujuan akan mengirimkan semua data yang diminta ke pasangan alamat IP:port proxy server yang meneruskan permintaan proxy – yang kemudian meneruskannya lagi ke pasangan alamat IP:port workstation pengguna yang menggunakan alamat IP 192.168.x.x.

Jika kita lihat secara sepintas, sebetulnya teknik proxy ini merupakan teknik paling sederhana dari sebuah firewall. Kenapa? Dengan teknik proxy, server tujuan tidak mengetahui bahwa alamat komputer yang meminta data tersebut sebetulnya berada di balik proxy server & menggunakan alamat IP private 192.168.x.x.


No comments:

Twitter Delicious Facebook Digg Favorites More