LAPORAN
RESMI
PROXY SERVER
Dasar Teori
Proxy adalah perangkat atau suatu aplikasi yang berfungsi untuk menyaring permintaan pada suatu server . Jika proxy mampu memberikan data yang diminta maka proxy akan melayani permintaan data tersebut. Jika data tersebut tidak dimiliki oleh proxy maka proxy akan meneruskan permintaan tersebut pada server yang sesungguhnya.Tujuan utama penggunaan proxy adalah untuk meningkatkan kinerja dari suatu jaringan . Dengan proxy dalam suatu jaringan , jika ada seseorang yang telah mengakses suatu halaman web maka proxy akan menyimpannya. Jika ada orang lain pada jaringan tersebut yang ingin mengakses halaman web tersebut maka ia tidak perlu mengakses halaman web pada server yang sesungguhnya , cukup halaman yang tersimpan di proxy. Metode ini akan mengurangi penggunaan bandwidth untuk permintaan data yang sama dan memberikan data yang diminta lebih cepat karena terletak dalam jaringan yang sama dengan orang yang mengakses. Selain itu, proxy juga berguna untuk menyaring akses internet ketujuan tertentu. Sebagai contoh , Suatu instansi perkantoran menggunakan proxy untuk mencegah akses internet pada website website bermuatan pornografi.
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 proxy yang 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. Hal yang bisa memecahkan masalah
terbesar dengan menggunakan caching : menganjurkan para pemakai untuk menggunakan
cache server.
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 keoutentikan penampilan , dan
beberapa menegemen dan alat-alat klient. 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.
TUGAS PENDAHULUAN
·
Buatlah laporan
untuk sistem authentikasi pada proxy dengan menggunakan metode basic, digest
dan ntlm
Autentikasi proxy adalah sebuah proxy yang membutuhkan
hak akses apabila klien inginmengaksesnya. Hak akses ini berupa username dan
password yang telah terdaftar pada serverproxy.
Sistem autentikasi di squid :
·
Basic
·
Digest
·
NTLM
-
Basic Autentikasi
Ini adalah skema autentikasi yang didukung oleh semua
peramban (browser) utama.Dan lebih dari itu, bisa berfungsi dengan baik di
semua platform OS. Jadi kalau inginmenggunakan skema autentikasi yang yakin
berfungsi dengan baik di semua browser, pakailahskema autentikasi basic.
Sayangnya skema autentikasi basic ini memiliki satu kelemahan utama,yaitu
proses pengiriman data user dan password dikirim dalam format plain text. Jadi
sangatrentan terhadap proses snip atau penyadapan saat proses autentikasi
berlangsung.Skema ini tidak disarankan ketika layanan yang diberikan akan
diakses melalui jaringaninternet. Tapi masih bisa ditolerir jika layanan itu
dibuat untuk kalangan terbatas, misalnya LANkantor. Dan karena squid pada
umumnya digunakan di jaringan terbatas, skema autentikasi inimasih bisa
digunakan. Helper atau program bantu untuk autentikasi ke backend Squid
menyediakan beberapa program bantu untuk skema autentikasi basic. Anda bisa
memilih manayang cocok dengan keperluan Anda.
1. LDAP: Autentikasi ke LDAP.2.
2. NCSA:
Menggunakan format penulisan username dan password format NCSA.3.
3. MSNT:
Autentikasi ke domain Windows NT.4.
4. PAM:
Menggunakan skema autentikasi PAM yang umum digunakan di sistem
operasiUnix/Linux.5.
5. SMB:
Menggunakan server SMB seperti Windows NT atau Samba.6.
6. getpwam:
Menggunakan cara kuno, berkas password di Unix/Linux.7.
7. SASL: Mengggunakan pustaka SASL.8.
8. mswin_sspi:
Windows native authenticator.9.
9. YP: Menggunakan
database NIS.
-
Digest Authentication
Skema autentikasi digest diperkenalkan untuk mengatasi
kelemahan yang ada di skemaautentikasi basic. Skema ini lebih aman, karena pada
saat autentikasi, data username danpassword tidak dikirim dalam format plain
text. Secara umum, kelebihan skema autentikasidigest dibandingkan skema
autentikasi basic, yaitu lebih aman. Tapi sayangnya tidak didukungoleh semua
browser. Internet Explorer 5 & 6 adalah salah satu browser yang tidak
mendukungskema autentikasi digest.
-
NTLM Authentication
Ini adalah
skema autentikasi yang diperkenalkan oleh Microsoft. Dengan menggunakanskema
autentikasi NTLM, semua user yang sudah login ke domain, ketika mengakses squid
tidakakan diminta lagi username dan password. Ini yang kita kenal sebagai
proses Single Sign On. Jikasudah sukses autentikasi di satu layanan, ketika
ingin menggunakan layanan lain tidak perlumemasukkan login dan password lagi,
proses autentikasi berlangsung secara transparan.Sayangnya, seperti yang
mungkin Anda sudah bisa tebak, ini hanya berfungsi dengan baik disistem operasi
Windows. Dan tidak semua browser mendukung skema autentikasi NTLM.Internet
Explorer dan Firefox adalah salah satu browser yang mendukung skema
autentikasiNTLM. Chrome, Safari dan Opera adalah contoh browser yang belum
mendukung skemaautentikasi NTLM.Biasanya, untuk browser atau OS yang tidak
mendukung skema autentikasi NTLM, adapilihan fallback ke skema autentikasi
basic. Helper atau program bantu untuk autentikasi kebackend Paket samba menyertakan
winbind ntlm helper untuk membantu squid bisamemberikan layanan skema
autentikasi NTLM.Sedikit catatan di Debian atau Ubuntu, yang Anda gunakan
adalah
/usr/bin/ntlm_auth dan BUKAN ke /usr/lib/squid/ntlm_auth
Percobaan
1. Instalasi proxy squid
Keterangan :
Sebelum melakukan percobaan lakukan pengecekan terhadap sistem operasi yang
anda gunakan
2. Konfigurasi dan uji coba proxy(ACL-accesss control
list)
Edit konfigurasi squid
Keterangan : ip 10.252.108.129 sebagai user yang yang
diperbolehkan mengakses melalui proxy. Selain IP tersebut tidak dapat melalui
proxy.
3. Simpan kemudian restart daemon squid
·
Melakukan setting proxy pada web browser
Ket: IP
10.252.108.169 adalah IP proxy server yang berada di virtual box
·
Melakukan cek IP pada client (OS Windows)
Ket: karena
IP nya adalah 10.252.108.129 seharusnya bisa melewati proxy
·
Mencoba membuka zimbra
·
Mengganti IP ke 10.252.108.134/24 untuk mengecek
apakah IP lain bisa melewati proxy
Ket: telah
terlihat di CMD bahwa IP OS Windows sudah berganti. Seharusnya tidak bisa
melewati proxy.
·
Mencoba membuka zimbra
4. Konfigurasi
dan uji coba proxy(auth-htpasswd)
Keterangan : Memberikan file password karena pertama
kali di buat maka di berikan opsi –c.
5. Edit file squid.conf
Keterangan : Mengaktifkan kan password untuk user
dengan durasi waktu 2 jam setelah login. Walaupun IP yang melewati proxy bukan 10.252.108.129,
tetapi username dan password yang dimasukkan ke autentikasi di proxy benar,
maka bisa melewati proxy tersebut.
6. Uji coba pada browser
·
Komputer
Client
Ket: Karena
kelompok kami mencoba lagi di lab yang berbeda (bukan di lab.jaringan)
menyebabkan IP proxy server (yang ada di VB) berubah menjadi 10.252.103.161.
·
Mengecek IP komputer client
·
Mencoba membuka zimbra (mail.student.pens.ac.id)
·
Tampilan setelah login
Ket: karena password dan username yang dimasukkan benar saat authentikasi,
maka IP 10.252.103.108 bisa melewati proxy.
Tugas Tambahan 1 : Menelusuri Struktur Cache Pada Squid
1.
Buka squid.conf
2.
Melihat direktori cache pada squid
3.
Melihat direktori yang dibuat menyimpan obyek-obyek web
page.
Ket: terlihat
bahwa terdapat 16 direktori
4.
Melihat salah satu direktori.
Ket: jumlah
direktori yang ada pada direktori 00 adalah 256 direktori.
5.
Mencoba melihat direktori lebih dalam lagi
Ket: terdapat
16 file (Object)
6.
Mencoba membuka salah satu object
7.
Hasil salah satu object yang dibuka
Ket: terlihat
terdapat beberapa informasi penting. Misal dengan melihat Date, squid bisa
mengetahui object yang disimpannya sudah kadaluwarsa atau belum. Kita bisa
lihat pada bagian Connection : Keep-Alive
menunjukkan bahwa koneksi antara browser dengan web server masih terjalin,
sehingga saat ingin mengakses web tidak perlu mengambil data dari web server
yang dituju tersebut. Cache ini akan melakukan refresh apabila masa waktu
keep-alive suatu halaman sudah habis dan kita ingin mengakses halaman tersebut.
Jadi cache akan mendownload lagi data yang diminta oleh pengguna apabila waktu
keep-alive nya habis / timeout.
Tugas Tambahan 2 : Cache Refresh
Ada dua jenis metode caching, yaitu pasif dan aktif. Seperti
telah kita ketahui, object yang disimpan bisa saja mencapai expired, untuk memeriksanya
dilakukan validasi. Jika validasi ini dilakukan setelah ada permintaan dari
klien
dan kondisi keep-alive sudah timeout, metode ini disebut pasif. Pada caching aktif, cache server
mengamati object dan pola perubahannya. Misalkan pada sebuah object didapati
setiap harinya berubah setiap jam 12 siang dan pengguna biasanya membacanya jam
14, maka cache server tanpa diminta klien akan memperbaharui object tersebut
antara jam 12 dan 14 siang, dengan cara update otomatis ini waktu yang
dibutuhkan pengguna untuk mendapatkan object yang fresh akan semakin sedikit. Selian itu didalam konfigurasi squid.conf terdapat tag refresh_pattern yang dapat
digunakan untuk mengatur usia object ataupun memanipulasi validitas object yang
ada didalam cache. Pada tag refresh_pattern ini akan diberi aturan kapan file
didalam cache harus di refresh.
Contoh :
·
refresh_pattern -i ^http://contoh.com/test.jpg$ 0 60%
1440
Kondisi
: Klien merequest gambar http://contoh.com/test.jpg 1 jam yang lalu (object
berumur 1 jam didalam cache).
Gambar
tersebut dibuat atau dimodifikasi oleh webserver 6 jam yang lalu, namun tidak
terdapat informasi EXPIRE pada headernya. Maka
:
-
Usia object adalah 6 – 1 = 5 Jam
-
Response age adalah 1 jam (selisih object berada
didalam cache dikurangi waktu pembuatan à 5– 6 = -1)
-
lm-factor 1/5 = 0,2 (20%)
Perhitungan
berikutnya :
-
Response age 60 menit, berada dibawah max 1440 menit,
tidak dapat menjadi acuan karenanilainya terlalu jauh.
-
lm-factor 20%, berada dibawah 60%,
kesimpulannya object masih FRESH
Untuk
menghitung kapan object akan expire :
Usia
object 5 jam dan persentasi 60%, maka (5x60)/100 = 3 Jam dari request terakhir.
Sehinggaobject dinyatakan expire 2 jam yang akan datang. STALE jika melewati
1440 menit.
Maka
setelah melewati 1440 menit, cache akan butuh refresh apabila mengakses http://contoh.com/test.jpg lagi,
sehingga butuh melakukan koneksi dengan web server lagi.
Tugas Tambahan 3 : Objek-objek yang disimpan di Cache.
Proxy server memiliki mekanisme penyimpanan obyek-obyek yang merupakan hasil permintaan dari para
pengguna, yang didapat dari internet. Karena proxy server bertindak sebagai perantara, maka proxy server mendapatkan obyek-obyek tersebut lebih dahulu dari sumbernya
untuk kemudian diteruskan kepada peminta yang sesungguhnya. Dalam proses
tersebut, proxy server juga sekaligus menyimpan obyek-obyek tersebut untuk dirinya
sendiri dalam ruang disk yang disediakan (cache).
Ketika
kita membuka browser dan mengetikkan URL,
maka content yang diminta URL tersebut dinamakan “Internet Object”. Pertama dia
akan bertanya terlebih dahulu ke sebuah DNS (Domain Name Server). DNS akan mencari IP Address dari URL tersebut dalam databasenya dan memberi
jawaban kepada browser tersebut kembali. Setelah browser mendapatkan IP Address, maka ia akan membuka hubungan ke
port http web server tujuan. Web server akan
mendengarkan adanya permintaan dari browser lalu memberikan content yang
diminta tersebut. Seteleh browser menerima content maka hubungan dengan web server bisa
diputus. Content lalu ditampilkan
dan disimpan didalam hardisk.
Content yang
disimpan didalam hardisk biasanya disebut cache object yang natinya akan digunakan jika
pengguna kembali mengunjungi site yang sama,
misalnya dengan mengklik tombol back atau melihat history. Dalam kunjungan berikutnya,browser akan memeriksa validasi content yang disimpannya,
validasi ini dilakukan dengan membandingkan header content yang ada pada cache object dengan
yang ada pada web server, jika contect belum
expired (kadaluwarsa) maka contect tadi akan ditampilkan kembali ke browser.
Cache object yang
disimpan dalam hardisk local ini hanya bias dipakai oleh
pengguna sendirian, tidak bisa dibagi dengan pengguna yang lainnya, lain hal
jika content tersebut disimpan pada sebuah server,
dimana semua computer terhubung dengan server tersebut, maka cache object tersebut
bias dipakai bersama-sama,server tersebutlah yang nantinya akan
dinamakan cache server atau proxy server.
Cache server diletakkan
pada titik diantara klien dan web server . Pada contoh diatas klien akan
meminta content dari suatu web server ke cache server, tidak langsung ke web server
tujuan. Cache server inilah yang bertanggung jawab untuk mendownload content
yang diminta dan memberikannya pada klien. Content tadi disimpan pada hardsik
local cache server. Lain waktu, ada klien yang meminta content yang sama, maka
cache server tidak perlu mengambil langsung dari server tujuan tapi tinggal
memberikan content yang sudah ada. Disinilah letak optimasi cache server
tersebut.
Pengaturan object sebuah cache server merupakan salah satu hal yang perlu diperhatikan. Diketahui
bahwa object disimpan
pada dua level cache_dir yang besar levelnya didefinisikan pada konfigurasi
utama squid. Object itu
sendiri berisikan content URL yang diminta klien
dan disimpan dalam bentuk file binary, masing-masing object mempunyai metadata
yang sebagian dari isinya disimpan didalam memori untuk memudahkan melacak
dimana letak object dan apa isi dari object tersebut
Kesimpulan
Dengan menggunakan proxy kita bisa membatasi pengguna yang akan
menggunakan internet atau membatasi permmintaan ke server. Proxy ini juga dapat
diumpamakan seperti gerbang menuju web yang ingin dituju. Hanya PC yang sudah
terdaftar yang dapat melewati gerbang proxy ini. Seperti contoh percobaan yang
dilakukan , hanya IP 10.252.108.129
sebagai client yang dapat menggunakan proxy VB dengan IP 10.252.108.169
karena sudah didaftarkan. Selain itu dengan menggunakan proxy server kita bisa
memberikan autentifikasi dengan username dan password saat mengakses web
tujuan.
Proxy
server memiliki cache yang dapat menyimpan objek berupa url tujuan yang pernah
diminta/dituju oleh pengguna. Jadi apabila kita pernah mengakses sebuah halaman
web maka didalam proxy server ini ada sebuah cache yang menyimpan objek url
tersebut sehingga saat kita akan mengakses halaman tersebut proxy server bisa
langsung memberikan datanya. Contoh saat kita mengakses
mail.student.pens.ac.id.
0 comments