Tugas Praktikum 6 Admin Jaringan (Proxy Server ) di PENS(Politeknik Elektronika Negeri Surabaya)

Kukuh Adi Prasetyo // Jumat, 18 Desember 2015

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