Search This Blog

Saturday, February 14, 2009

Proxy Server, Apakah itu ?

Proxy Server
Anda mungkin pernah mendengar tentang proxy server, tetapi apakah itu sebenarnya? Dan bagaimana cara kerjanya? Apakah ia hanya untuk mempercepat koneksi ke internet?
Proxy server mula-mula dikembangkan untuk menyimpan halaman web yang sering diakses. Pada masa awal internet, koneksi sangat lambat, Internet masih relatif kecil, dan halaman web masih statis. Keseluruhan internet hanya terdiri dari beberapa ribu situs yang sebagian besar untuk para ilmuan dan akademisi. Kapan pun ada berita penting pada suatu situs web, banyak ilmuan dari organisasi yang sama akan mengunjungi halaman tersebut.

Proxy dan web Caching
Penyimpanan halaman pada server lokal memungkinkan proxy untuk menghilangkan akses Internet yang berlebih agar bisa mengambil kembali halaman yang sama berulang-ulang. Jadi proxy mula-mula sangat efektif untuk web caching. Namun Internet sekarang sudah cepat, halaman web bersifat dinamis, dan kepentingan user di dalam suatu organisasi hanya terdiri dari ratusan halaman web. Faktor-faktor tersebut menyebabkan caching proxy menjadi tidak efektif, kecuali pada organisasi yang sangat besar atau ISP. Meskipun semua browser standar memiliki dukungan terhadap proxy server, tetapi sejak 1996 browser tersebut jarang digunakan.

Proxy=HTTP?
Terdapat banyak alternatif layanan proxy, mulai dari fungsi filter pada Application Layer untuk firewall seperti Checkpoint Firewall-1, sampai aplikasi umum yang murni "hanya proxy" seperti WinGate dan proxy satu layanan seperti Jigsaw untuk HTTP.
Proxy server sering kali dihubungkan dengan layanan HTTP karena proxy untuk pertama kalinya dikembangkan untuk layanan ini. Sejak saat itu, fungsi proxy telah diaplikasikan ke layanan Internet yang paling umum. Contoh pada artikel ini akan menggunakan layanan HTTP, tetapi fungsionalitas pada umumnya sama dengan layanan yang lain.

Bagaimana Cara Kerja Proxy?
Proxy bekerja dengan mendengarkan request dari client internal dan mengirim request tersebut ke jaringan eksternal seolah-olah proxy server itu sendiri yang menjadi client. Pada waktu proxy server menerima respons dan server publik, ia memberikan respons tersebut ke client yang asli seolah-olah ia public server.

Proxy dan Keamanan
Internet yang sekarang juga memiliki cirinya sendiri, demikian pula proxy server, menunjukkan efek samping yang sungguh tak terduga. Mereka dapat menyembunyikan semua user di belakang satu mesin, mereka dapat memfilter URL, dan mereka juga dapat membuang content yang mencurigakan atau ilegal. Jadi, meskipun mula-mula dibuat sebagai cache nonsekuriti, tujuan utama proxy server sekarang menjadi firewalling.

Proxy server memperbarui request layanan pada jaringan eksternal atas nama client mereka pada jaringan private. Hal itu secara otomatis menyembunyikan identitas dan jumlah client pada jaringan internal dari jaringan eksternal. Oleh karena posisi mereka berada di antara client internal dan server publik, proxy juga dapat menyimpan content yang sering diakses dari jaringan publik untuk mengurangi akses dari jaringan publik tersebut. Kebanyakan implementasi nyata proxy sekuriti meliputi pemfilteran paket dan Network Address Translation untuk membangun firewall yang utuh. Teknologi tersebut dapat digabungkan dengan proxy untuk menghilangkan serangan yang cukup rentan.

Menyembunyikan Client
Fitur keamanan utama proxy server adalah menyembunyikan client. Seperti Network Address Translation, proxy server dapat membuat seluruh jaringan internal muncul sebagai satu mesin dari Internet karena hanya satu mesin yang melewatkan request ke Internet.

Seperti Network Address Translation, proxy server mencegah host eksternal untuk mengakses layanan pada mesin internal. Pada proxy server, tidak ada routing ke client karena domain alamat jaringan internal dan eksternal bisa saja tidak kompatibel dan karena transport layer routing tidak ada di antara kedua jaringan.
Proxy melakukan fitur tersebut dengan memperbaharui request, bukan mengganti dan menghitung ulang header alamat. Sebagai contoh, pada waktu client membuat request melalui proxy server, proxy server menerima request tersebut seolah-olah web server adalah tujuan pada jaringan internal. Ia kemudian memperbaharui request ke jaringan eksternal seolah-olah web browser biasa. Pada waktu proxy menerima respons dari web server yang sebenarnya, ia memberikan respons tersebut kepada client internalnya. Hanya HTTP yang dilewatkan melalui proxy, bukan TCP atau IP. TCP/IP (dan protokol low level lainnya) diperbarui oleh proxy; mereka tidak akan dilewatkan melalui proxy.

Aspek lain dari penyembunyian client adalah penyebaran koneksi; proxy server dapat digunakan untuk membagi satu koneksi Internet dan alamat IP ke seluruh jaringan. Oleh karena itu, proxy server seperti WinGate sangat populer di lingkungan rumahan dan kantor kecil di mana hanya tersedia satu koneksi dial-up atau dedicated.

Pemblokiran URL
Pemblokiran URL memungkinkan administrator untuk menolak situs tertentu berdasarkan URL mereka. Secara teori, penolakan tersebut akan menjauhkan orang-orang dari situs web yang tidak boleh mereka akses. Fungsi tersebut mudah diimplementasikan. Proxy mengcek setiap request dengan daftar halaman yang ditolak sebelum ia memperbaharui request tersebut. Jika URL diblokir, proxy tidak akan meminta atau memberikan halaman tersebut.

Namun, pemblokiran URL mudah diatasi karena situs web bisa ditulis menggunakan alamat IP atau bahkan keseluruhan nomor alamat. User dapat mengetik apa saja dalam web browser mereka untuk mengakses halaman yang sama, tetapi URL blocker Anda (mungkin) hanya akan mengecek alamat lengkap URL.

Masalah lain mengenai pemblokiran URL adalah memperbaharui situs yang diblokir. Situs seperti hacking, pornografi, dan situs game memiliki masa hidup yang singkat. Mereka dapat muncul dan hilang dengan cepat. Sulit rasanya untuk memblokir mereka dengan database pemblokiran URL anda. Kebanyakan orang akan menggunakan search engine atau berita Usenet untuk mengetahui keberadaan situs.

Pemilteran Content
Oleh karena proxy memperbaharui semua muatan protokol dan protokol spesifik, proxy dapat digunakan untuk mencari muatan content yang mencurigakan. Itu berarti anda dapat mengonfigurasi layanan proxy HTTP untuk mempreteli kontrol ActiveX, applet java, atau bahkan gambar berukuran besar jika anda rasa mereka bisa menyebabkan masalah keamanan. Anda juga bisa menggunakan proxy SMTP untuk mempreteli attachment berupa file executable dan file arsip zip jika anda rasa mereka adalah penyebab timbulnya masalah.

Pemfilteran content juga dapat digunakan untuk mengecek halaman web akan adanya kata atau kalimat tertentu, seperti merek dagang kompetitor anda atau sejumlah berita hangat. Anda harus memfilter control ActiveX, applet java, dan file executable dalam e-mail karena mereka dapat digunakan untuk menginstall Trojan horse.

Jika ada user yang perlu mentransfer file executable, minta mereka untuk mentransfernya dalam file zip atau gunakan BinHex atau encoder yang lain untuk mentransfernya dalam format teks. File akan perlu di-decode sehingga bisa mencegah pentransferan virus atau Troja horse.

Pengecekan Konsistensi
Pengecekan konsistensi merupakan pengecekan content protokol untuk memastikan bahwa content itu dapat di mengerti oleh protokol. Pengecekan konsistensi memastikan bahwa jenis content tertentu tidak dapat digunakan untuk mengeksploitasi kelemahan sistem keamanan dalam jaringan internal anda.

Sebagai contoh, daemon SMTP Sendmail Unix dulunya terkenal peka terhadap masalah buffer overflow. Hal itu terjadi pada waktu e-mail dikirim dan membutuhkan waktu yang lebih lama dari yang ditentukan. Sendmail akan mengalokasikan bagian memory sebesar yang diminta oleh e-mail tersebut, tetapi kemudian memeriksa e-mail sampai akhirnya tiba di bagian akhir. Jika diantara bagian yang diminta dan bagian akhir berisi kode executable, hacker bisa mendapatkan akses root ke e-mail server anda.

Anda tentu pernah mendengar tentang banyaknya jumlah eksploitasi buffer overflow yang dilakukan oleh hacker untuk melawan IIS. Penggunaan URL yang lebih panjang dari yang bisa ditangani IIS dan eksploitasi terhadap DLL pendukung memungkinkan hacker dapat membuat serangan otomatis terhadap IIS yang bekerja sebagai worm pada Internet dan menyebabkan kerusakan secara luas. Microsoft telah meluncurkan perbaikan keamanan untuk mengatasi masalah tersebut.

Pengecekan konsistensi dengan proxy dapat memastikan bahwa masalah semacam itu bisa dihilangkan pada proxy sehingga mereka tidak akan memengaruhi mesin internal. Sayangnya, masalah yang harus di cek biasanya tidak diketahui sampai hacker mengeksploitasi mereka. Jadi, kebanyakan pengecekan konsistensi hanya dilakukan setelah ditemukan adanya eksploitasi.

Pemblokiran Routing
Paket Transport layer perlu diarahkan karena semua request diperbarui. Hal tersebut menghilangkan eksploitasi Transport layer, seperti routing, fragmentasi, dan beragam serangan denial-of-service. Penghilangan routing memungkinkan anda untuk juga dapat memastikan bahwa semua protokol yang belum anda tentukan tidak akan dilewatkan ke jaringan publik. Pemblokiran routing mungkin merupakan keuntungan proxy server yang paling penting. Oleh karena paket TCP/IP sebenarnya lewat antara jaringan internal dan eksternal, banyak serangan denial-of-service dan eksploitasi yang dapat dicegah.

Sayangnya, pemblokiran routing tidak begitu sering digunakan karena banyaknya protokol yang ada. Sedapat mungkin, jangan perbolehkan paket low-level melewati proxy server kita. Kebanyakan proxy server memperbolehkan anda untuk membuat proxy TCP generik untuk semua port yang menggunakan proxy SOCKS generik atau utiliti redir Unix.
Meskipun tidak dapat melakukan pemfilteran content, tetapi proxy generik tersebut memungkinkan anda untuk mencegah paket TCP/IP berlalu-lalang antar jaringan anda.

Logging dan Alerting
Manfaat keamanan terakhir dari proxy adalah fasilitas logging dan alerting yang mereka sediakan. Proxy memastikan bahwa semua content mengalir melalui satu poin, yang bisa menjadi tempat pemeriksaan data jaringan. Kebanyakan proxy server akan mencatat penggunaan proxy oleh user dan dapat dikonfigurasi untuk mencatat situs yang mereka kunjungi. Hal itu akan memungkinkan anda untuk mengatur ulang cara browsing user jika anda curiga akan adanya aktivitas yang ilegal atau tidak semestinya.

Fasilitas alert disediakan oleh beberapa proxy untuk memperingatkan anda atas serangan yang terjadi meskipun pada umumnya proxy bukanlah sasaran penyerangan. Walaupun demikian, fasilitas tersebut bisa digunakan untuk meningkatkan kewaspadaan anda pada interface eksternal, yang sering kali dicoba untuk dieksploitasi oleh hacker.

Proxy dan Kinerja

Selain aspek keamanan, proxy server juga dapat memberikan peningkatan kinerja yang penting. Pertama, proxy dapat menyimpan data yang sering di request untuk meningkatkan kinerja dengan menghilangkan akses berlebih ke jaringan eksternal (yang kecepatannya lebih lambat). Kedua, proxy dapat menyeimbangkan beban service ke sejumlah server internal.

Caching

Sepreti telah disebutkan di bagian awal artikel ini, proxy mula-mula dikembangkan sebagai peningkat kinerja, bukan sebagai perangkat pengaman. Pada awal Internet, hanya ada ribuan situs web. Kebanyakan dari mereka bersifat ilmiah dan tidak sering berubah. Oleh karena lambatnya koneksi ke Internet, proxy dapat digunakan untuk menyimpan sebagian besar Internet secara lokal sehingga pengguna internal cukup browsing ke proxy lokal. Content tidak berubah dengan sangat cepat. Jadi, hal tersebut masih masuk akal.

Kini, caching hanya masuk akal jika ada user dalam jumlah besar yang mengakses halaman web yang sama secara berulang-ulang. Pola penggunaan seperti itu sekarang sudah jarang sehingga segi caching proxy server sudah mulai usang.

E-commerce yang semakin umum memungkinkan caching untuk kembali memiliki fungsi yang penting karena banyak orang akan melakukan pekerjaan mereka dengan menghadapi beberapa situs yang sering diakses. Sebagai contoh, agen perjalanan menggunakan http://www.wilsonweb.com dan e-comm.webopedia.com untuk melakukan pekerjaan mereka. Banyak agen akan mengakses dua situs yang sama berulang-ulang sehingga penyimpanan elemen situs utama, gambar, dan applet adalah tindakan yang masuk akal.

Reverse Proxy Load Balancing
Proxy server sekarang ini dapat digunakan untuk melakukan "reverse proxy", atau menyediakan layanan proxy ke client eksternal untuk server internal. Fungsi itu digunakan untuk menyeimbangkan beban client ke sejumlah web server. Banyak situs web yang fungsionalitasnya tinggi menggunakan aplikasi kompleks seperti ISAPI, Active Server Pages, atau CGI. Aplikasi itu dijalankan pada server sehingga mereka sangat mengurangi banyaknya client yang mampu ditangani oleh satu server. Sebagai contoh, Windows 2000 server yang menjalankan IIS yang bisa menangani sampai 100.000 browser untuk halaman HTML standar hanya bisa menangani 5000 browser halaman ASP.

Hal itu berarti bahwa kebanyakan fungsi e-commerce sebenarnya tidak bisa ditangani oleh satu server sehingga situs tersebut harus dijalankan secara pararel ke sejumlah mesin. Sebagai contoh, http://www.microsoft.com/ dijalankan pada 30 server DNS yang identik. DNS menyediakan skema dasar load-sharing di mana akses ke nama DNS akan mendapatkan salah satu alamat IP, tetapi proses itu belum benar-benar menyeimbangkan beban.

Proxy server dapat digunakan untuk merespons ke satu alamat IP dan kemudian mengarahkan koneksi client ke salah satu server dibelakangnya. Proxy server dapat menggunakan beberapa tolak ukur yang disediakan oleh senua web server untuk mengetahui server mana yang memiliki sisa kapasitas paling banyak. Setiap client yangterhubung kemudian dapat diarahkan ke web server mana pun yang memiliki kapasitas yang cukup untuk menanganinya.

Beberapa alasan mengapa kita harus menyembunyikan IP Address asli antara lain:
~ Mengakses ke website yang melakukan restriction -- hanya memperbolehkan akses dari IP Address tertentu saja.
~ Privasi
~ Menghindari pelacakan jika kita melakukan tindakan yang 'tidak seharusnya dilakukan' (baca: hacking).

Menggunakan Proxy
Saat melangsungkan sebuah proses attack, seorang attacker sebaiknya melakukan beberapa pengamanan. Pada umumnya, pengamanan yang dilakukan adalah:

~ Menghapus log files pada victim
~ Menyembunyikan IP Address komputer yang digunakan untuk melangsungkan attack.
~ Melakukan modifikasi minimum agar tidak menarik perhatian pemilik sistem, seperti tidak menambah user atau membuat direktori yang terlalu 'vulgar'

Pengguna proxy disesuaikan dengan program yang kita gunakan untuk melakukan browsing seperti Internet Explorer, Mozilla, Opera, mIRC, dan lain-lain.

Contoh: Internet Explorer

1. Jalankan IE
2. Klik Tools
3. Klik Internet Option
4. Klik Connections
5. Klik LAN Settings
6. Aktifkan option 'Use a proxy server'

Contoh: wget
1. Edit file /etc/wgetrc/ atau ~/.wgetrc
2. Ubah atau tambahkan baris
http_proxy=http://ip_address_proxy:port/

Contoh: libwww-perl (LWP)

Pada source code program yang menggunakan bahasa pemprograman Perl dapat ditambahkan:
$ua->proxy(['http', 'ftp'], 'http://ip_address_proxy:port/');

Cara yang lain adalah dengan me-load proxy setting dari *_proxy environtment variables.
$ua->env_proxy

Pengubah environtment variables dapat dilakukan via command line:

$ export http_proxy=http://ip_address_proxy:port/(sh/bash/ksh)

% setenv http_proxy 'http://127.0.0.1:8080/' (csh/tcsh)

Proxy Testing

Jika semuanya berjalan lancar, kita dapat melakukan browsing secara anonymous. Lihat bagian appendix untuk mendapatkan contoh anonymous proxy.

Free Proxy HTTP
Bagi anda yang baru memulai/belajar attacking, ada baiknya anda menggunakan proxy HTTP agar aktivitas anda dalam menjelajah web target tidak meninggalkan jejak yang bisa membahayakan diri anda sendiri. Selanjutnya, supaya anda bisa mendapatkan free proxy HTTP, silahkan kunjungi website penyedia free proxy http.

Berikut akan saya berikan contoh website yang menyediakan free proxy:

~ http://www.checker.freeproxy.ru/checker/last%20checked%20proxies.php
~ http://www.aliveproxy.com
~ http://www.stayinvisible.com
~ http://www.proxy4free.net
~ Dan lain-lain

Untuk mengetahui apakah IP Address asli yang kita gunakan sudah tersembunyi dan digantikan oleh IP Address milik anonymous web proxy, kita dapat melakukan pengecekan dengan melakukan browsing ke website yang memiliki fitur browser checker seperti

~ http://www.checker.freeproxy.ru/checker/
~ [url]noc.cbn.net.id[/url]
~ http://www.aliveproxy.com/proxy-checker
~ Dan lain-lain

Anonymity
Beberapa istilah yang berkaitan dengan anonymous proxy:

~ Anonymous - HTTP proxy server tidak mengirimkan variable HTTP_X_FORWARDED_FOR kepada remote host. Hal tersebut dilakukan untuk menyembunyikan IP Address asli kita.

~ High anonymity (elite proxy) - HTTP proxy server jenis ini tidak mengirimkan variable HTTP_X_FORWARDED_FOR, HTTP_VIA dan HTTP_PROXY_CONNECTION.

Apa yang membedakan anonymous proxy dan elite proxy adalah pengiriman variable HTTP_* oleh proxy server. Pada anonymous proxy, sangat dimungkinkan bagi remote host untuk mengetahui IP Address asli yang kita miliki dengan melihat variable HTTP_VIA dan HTTP_PROXY_CONNECTION.

Maaf Jika Kurang Membantu )-l

No comments:

Post a Comment

LinkWithin

Related Posts Plugin for WordPress, Blogger...