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