Translate

Sunday, July 17, 2016

Proxy Server & Web Server

TUJUAN
 “Proxy Server & Web Server” adalah agar mengerti konsep,cara kerja serta mengkonfigurasi Proxy server (Squid) maupun Web Server (Apache)

DASAR TEORI

Proxy server

Bagi instansi yang menggunakan internet, proxy server adalah server yang bertindak sebagai penengah antara pengguna workstation dan internet, sehingga instansi itu dapat memastikan keamanan, control adminisratif, dan layanan caching. Proxy server merupakan bagian dari server gateway yang memisahkan jaringan instansi dengan jaringan luar dan server firewall yang melindungi jaringan instansi dari gangguan luar.
Proxy server menerima request untuk layanan internet (misalnya layanan web) dari user. Bila ia melewati persyaratan-persyaratan penyaringan (filtering), proxy server berasumsi bahwa ia juga merupakan cache server, melihat ke cache local dari halaman web yang pernah didownload sebelumnya. Bila ia menemukan halaman tersebut, ia akan mengembalikan ke pengguna tanpa perlu melakukan forward request tersebut ke internet.
Apabila halaman tersebut tidak ada dalam cache, proxy server, bertindak sebagai klien atau separuh user, menggunakan salah satu dari IP Addressnya untuk merequest halaman tersebut dari server ke internet. Saat halaman web tersebut dikembalikan, proxy server menghubungkannya dengan request asal dan mem-forwardnya ke user. Keuntungan dari penggunaan proxy server adalah bahwa cache-nya dapat melayani semua user, dan bila salah satu atau lebih situs internet sering direquest, maka ia akan berada dalam proxy cache, yang akan mempersingkat waktu respon terhadap permintaan user.
Fungsi dari proxy, firewall, dan caching dapat terpisah dari program server atau digabungkan dalam paket tunggal. Program server yang berbeda dapat berada dalam komputer yang berbeda. Sebagai contoh, proxy server bisa berada dalam mesin yang sama dengan server frewall atau ada dalam server terpisah
 
 
Keuntungan Proxy Server
1.     Meningkatkan performa : Proxy server dapat meningkatkan performa grup atau user secara drastis. Hal ini dikarenakan proxy server menyimpan hasil dari seluruh request untuk sejumlah waktu tertentu. Berdasarkan kases dimana kedua user X dan user Y mengakses World Wide Web melalui proxy server. Pertama user X me-request web page tertentu, misalnya web 1. Beberapa waktu kemudian, user Y me-request halaman yang sama. Bukannya meneruskan request ke Web server di mana Page 1 berada, di mana dapat menjadi time-consuming operation, proxy server dengan sederhana mengembalikan Page 1 yang telah dipakai user X. Sejak proxy server terkadang berada dalam network yang sama dengan user, hal ini merupakan operasi yang jauh lebih cepat. Proxy server sebenarnya mendukung ratusan atau ribuan user. Online servis utama seperti Compuserve dan America Online, sebagai contoh, memperkerjakan array proxy server.
Tanpa Proxy
Dengan Proxy
Web browser/ftp client
|
Internet Server

web browser/ftp client
|
Proxy Server
|
Internet Server

1.     Proxy server dapat meningkatkan kecepatan koneksi ke internet.
2.     Cache proxy server mungkin telah mengandung informasi yang dibutuhkan ketika di-request, membuat proxy mampu membantu saat beberapa owner Internet resource menentukan beberapa batasan pada user dari negara-negara tertentu atau wilayah geografi.
3.     Filter request: Proxy server juga dapat digunakan untuk mem-filter request. Sebagai contoh, sebuah perusahaan mungkin menggunakan proxy server untuk mencegah pekerjanya mengakses Web site tertentu.
4.     Anonymous Proxy Server : menyembunyikan IP Address dan dengan demikian mencegah access tidak bertanggung jawab ke computer dari Internet. Anonymous Proxy Server tidak memberikan seorang pun IP Address user dan secara efektif menyembunyikan informasitentang seorang user dan kegemarannya. Disamping itu, Anonymous Proxy Server tidak membiarkan seorang pun mengetahui bahwa user tertentu sedang surfing dalam proxy server.
5.     Dapat membatasi waktu akses internet.


Kerugian proxy server
1.     Management cache, membuat akses ke websites yang uptodate tidak bisa/sulit terpenuhi.
2.     Akses ke halaman web yang mengandung form login agak sulit dicapai.


Beberapa proxy yang ada dan sering digunakan di internet
1.     Web / HTTP proxy
2.     rlogin proxy
3.     ftp proxy
 
 
httpd-accelerator / reverse proxy server
Reverse proxy server yang juga dikenal sebagai Web Server Acceleration adalah sebuah metode untuk mereduksi load pada web server yang sibuk dengan menggunakan web cache antara server dan internet.
Keuntungan yang bisa didapatkan adalah meningkatkan security. Reverse proxy server adalah salah satu cara untuk meningkatkan scalabititas tanpa meningkatkan kompleksitas dari maintaining terlalu banyak. Penggunaan yang baik dari reverse proxy adalah untuk menurunkan beban web server yang disebabkan baik oleh content dinamik maupun statik. Content yang statik dapat ditangkap pada reverse proxy sementara web server akan dibebaskan untuk menangani content dinamik.
Dengan menerapkan reverse proxy server dalam web server, situs akan :
·         Menghindari biaya untuk membeli web server tambahan dengan meningkatkan kapasitas server yang sudah ada.
·         Melayani request yang lebih banyak untuk content statik dari web server
·         Melayani request yang lebih banyak untuk content dinamik dari web server
·         Meningkatkan keuntungan bisnis dengan mengurangi biaya operasi termasuk biaya bandwidth yang diperlukan untuk melayani content.
·         Mengakselerasi waktu respon dari web dan mengakselerasi waktu download halaman dari end user, pengiriman lebih cepat, akan melayani visitor lebih baik.

Saat merencanakan implementasi sebuah Reverse-Proxy, content server origin harus ditulis dengan proxy server, harus “Cache Friendly”. Jika content server origin tidak “cache aware”, server origin tidak akan mampu untuk mengambil keuntungan penuh dari reverse proxy.
 
 
Transparent Caching
Sebuah request web dapat ditangkap oleh proxy secara transparan. Oleh karena itu, sejauh yang client software ketahui, mereka berbicara pada origin server, padahal sebenarnya berbicara pada proxy server. (dengan catatan, transparansi hanya diaplikasikan pada client, server mengetahui bahwa proxy terlibat,dan akan melihat IP address proxy,bukan IP address user. Squid mungkin melewatkan header X-Forwarded-For header, sehingga server dapat menentukan IP address user yang asli jika melihat headernya).
Cisco router mendukung transparent proxying. Linux dapat bertindak sebagai router dan dapat memperformasikan transparent proxying dengan koneksi TCP secara tidak langsung ke port lokal. Selain koneksi tidak langsung ke port lokal, koneksi ke remote port juga secara tidak langsung.

Cara kerja transparent caching :
1.     Browser client merequest sebuah object http.
2.     Dilakukan redirect oleh transparent caching ke proxy, sehingga object http yang diminta client tetap di lihat dahulu di cache proxy. Apabila object yang diminta ada di dalam cache proxy, maka data di cache langsung diberikan ke client, sedangkan jika tidak ada , maka request tersebut di forward ke server original.
3.     Kesemua hal tersebut dilakukan secara transparant, sehingga Client tidak mengetahui bahwa dirinya di proxykan terlebih dahulu.      
 
Keuntungan :
o    Akses ke webpages yang sebelumnya sudah pernah dikunjungi menjadi lebih cepat.
o    Tidak perlu melakukan konfigurasi pada browser lagi.
o    Bersifat transparan dari Client.
 
Kerugian :
o    Kerugian pada penggunaan proxy, menjadi kerugian pada penggunaan transparent cache.
o    Kurang baik digunakan untuk akses webpages yang bersifat dinamis.
 
 
Squid
 
Squid adalah proxy caching berperforma tinggi untuk web client, support FTP, gopher, dan HTTP data object. Squid merupakan proxy server standar yang digunakan di Linux (di Windows namanya Wingate). Squid merupakan proxy server yang paling stabil dan paling umum digunakan untuk sistem operasi Linux. Apabila kita mengembangkannya, kita harus familiar dengan ipchains atau iptables dan CBQ. Tidak seperti software caching tradisional, Squid meng-handle semua request dalam satu, non-blocking, I/O-driven proses. Squid menjaga meta data dan khususnya objek panas di dalam RAM, cache DNS lookup, mendukung non-blocking DNS lookup, dan mengimplementasikan negative caching dari request yang gagal.
Squid mendukung :
·         proxying and caching of HTTP, FTP, and other URLs
·         proxying for SSL
·         cache hierarchies
·         ICP, HTCP, CARP, and Cache Digests
·         Transparent caching - WCCP
·         Extensive access controls
·         HTTP server acceleration
·         SNMP
·         caching of DNS lookups

Dengan menggunakan Internet Cache Protocol ringan, Squid cache dapat disusun dalam hirarki atau mesh untuk penyimpanan tambahan bandwidth. Squid terdiri dari program server utama squid, sebuah program Domain Name System lookup dnsserver, beberapa program opsional untuk menulis ulang request dan memberikan pengesahan, dan beberapa tool management dan client. Ketika squid mulai, squid menimbulkan nomor proses DNS-server terkonfigurasi, yang masing-masing dapat memberikan satu, blocking Domain Name System (DNS) lookup. Hal ini mengurangi jumlah waktu tunggu cache untuk DNS lookup.
Squid dapat membantu kita untuk menghemat bandwidth dengan dua cara:
1.     Dengan cara menyimpan halaman, gambar, dan objek lain yang telah didownload sebelumnya ke dalam memory atau disk. Sehingga jika seseorang melakukan request dengan halaman yang sama, proxy akan mengambil halaman yang telah disimpan tersebut.
2.     Terpisah dari penyimpanan cache yang umum dilakukan, Squid mempunyai fasilitas special yang disebut dengan delay pools. Dengan delay pools dimungkinkan untuk membatasi internet traffic dengan cara yang masuk akal, tergantung 'kata kunci' yang ada di URL, Kata kunci tersebut dapat berupa '.mp3', '.exe', atau '.avi', dan lain-lain.  semua kata-kata di URL (seperti .avi) dapat dijadikan sebagai kata kunci.


Keuntungan memakai squid

·         Name Server performance
Squid mempunyai performa yang lebih cepat daripada original web server, jadi lebih baik untuk menempatkan squid pada front end server dan menempatkan yang original sesudahnya.

·         Network performance
Server original dapat menjadi lambat dalam jaringan, misalnya jika melintasi link internasional. Sebuah accelerator web atau mirror yang lebih dekat pada Net, secara fisik misalnya berlokasi di US, akan membuat web site lebih cepat untuk lokasi pada bagian dunia yang lain. Squid lebih mudah untuk dimaintain daripada httpd biasa selama kita hanya perlu menambahkan halaman pada server origin dan mirrornya yang akan mengangkapnya. Kita mungkin juga ingin menambahkan Expire header pada HTTP respons untuk meyakinkan bahwa mirror tidak memberikan data yang kadaluarsa. Segala sesuatu yang mengandung real intelligence sebagai bagian dari web server, seperti CGI script, akan diforward ke origin server.




·         Security
Squid dapat digunakan dibalik sebuah accelerator untuk menyembunyikan sebuah internal server, atau server yang mudah untuk diserang, user web mengunjungi site tidak akan pernah dapat untuk melihat internal server. Jika web server rentan terhadap serangan data-driven, seperti invalid URLs, squid akan mengkomplainkannya, atau dapat juga di set ACLs untuk membloknya. Salah satu ketidakuntungannya adalah origin server tidak akan tahu original IP address dari client, kecuali melalui X-Forwarded-For HTTP header. Hal ini akan mempengaruhi logging dan analisis visitor, sebagaimana list control proteksi akses dokumen. System (DNS) lookup. Hal ini mengurangi jumlah waktu tunggu cache untuk DNS lookup.


Cara kerja Squid
Squid adalah software yang menangkap data internet. Hal ini dilakukan dengan menerima request untuk object yang ingin didownload seseorang dan menangani request mereka pada lokasi mereka berada. Dengan kata lain, jika sesorang ingin mendownload sebuah halaman web, meraka bertanya pada squid untuk mendapatkan halaman tersebut untuk mereka. Squid kemudian menghubungi remote server ( contoh : http://www.alphacentauri.demon.nl/ ) dan merequest halaman yang diminta. Kemudian secara transparan mengalirkan data ke mesin client, tapi pada saat yang sama menyimpan copy atas halaman tersebut. Pada lain waktu, jika ada seseorang ingin mendownload halaman yang sama, squid akan membacanya dari disk, kemudian langsung mentransfer datanya pada mesin client. Squid saat ini dapat menangani protocol HTTP, FTP, GOPHER, SSL and WAIS. Squid tidak menangani sesuatu seperti POP, NNTP, RealAudio dan semacamnya.


Protokol ICP
Protocol ICP adalah protocol yang digunakan untuk komunikasi antar cache pada suatu squid. ICP terutama digunakan di dalam hirarchy cache untuk menentukan lokasi sebuah object yang berada di dalam cache lainnya.
Misalnya ada dua cache yaitu cache A, dan cache B, apabila ada permintaan sebuah document pada cache A, namun document tersebut tidak dimiliki oleh cache A, maka cache A akan mengirim ICP query ke cache siblingnya, yaitu cache B, yang kemudian akan direspon oleh cache B tersebut dengan indikasi / nilai balik “MISS” atau “HIT”.  Nilai balik oleh cache B ini akan digunakan oleh cache A untuk meresolve document tersebut ada di cache mana.
 
 
 
 
 
Access Control List ( ACL )
Access list merupakan daftar pemblokkan dan pengijinan ( deny dan allow ) aksi tertentu, yang kemudian akan diikuti oleh sejumlah element ACL.
Beberapa contoh access list :
o    http_access : mengijinkan clients HTTP ( browser ) untuk mengakses port http.
o    icp_access : mengijinkan sebuah cache untuk di query ICP oleh cache lainnya.
 
 
Delay Pool
Delay pools memungkinkan untuk membatasi internet traffic dengan cara logika, 
tergantung 'kata kunci' yang ada di URL, Kata kunci tersebut dapat berupa '.mp3', '.exe', atau '.avi', 
dan lain-lain. semua kata-kata di URL (seperti .avi) dapat dijadikan sebagai kata kunci.
Delay pool menspesifikkan jumlah delay pool yang akan didefinisikan dengan delay_class dan delay_parameter. Delay pool memberitahukan squid ukuran dari array tertentu yang digunakan pada implementasi delay pool, dan harus muncul sebelum instruksi delay pool lainnya.


Authentifikasi yang ada pada Squid
Authentifikasi adalah metode validasi yang dilakukan oleh squid dalam penggunaan cache squid. 
Apabila sebuah client mangakses object pada cache untuk pertama kalinya, maka client tersebut akan 
diauthentifikasi dengan cara dimintai username dan password.
Dalam squid, authentifikasi di handel oleh proses eksternal, sehingga diperlukan program authentifikasi eksternal. 
Oleh karena itu sebelum proses authentifikasi ini bisa dilakukan, maka program tersebut harus diinstall terlebih dahulu. 
Setelah hal tersebut dilakukan, maka diikuti dengan konfigurasi pada file squid.conf.


Server Web

Server Web atau biasa disebut dengan Web Server adalah sebuah server layanan ke dua terbesar setelah, mail yang biasa di akses oleh penggunan internet. Dengan adanya layanan web ini memungkinkan organisasi pemilik situs dapat mempublikasikan informasi kepada semua orang, sehingga dapat diakses oleh pengguna baik di jaringan Intranet maupun Internet.
Web server  adalah mesin atau komputer yang berfungsi sebagai server dari website. Webserver berfungsi untuk mentranslate URL menjadi nama file, kemudian mengirim kembali file tersebut melalui internet, atau menjadi nama program, kemudian menjalankan program dan mengirim outputnya kembali.

Beberapa Web server
·         Apache web server
·         Tomcat web server
·         IIS web server 
·         Xitami web server
·         PWS (Personal Web Server)
·         Netscape  web server
 
 
Virtual Host pada Apache 
Virtual host yaitu jika ada dua jenis versi apache yang berbeda dijalankan 
bersama-sama, masing-masing melayani host yang berbeda yang bertujuan untuk
 mengoptimasi dua versi dengan cara yang berbeda.
Beberapa jenis virtual host :
1.     named-based virtual host
2.     IP-Based Virtual Hosts 
3.     Mixed Name/IP-Based Virtual Hosts
4.     Port-Based Virtual Hosting

No comments:

Post a Comment

silahkan membaca dan berkomentar