Senin, 02 Juli 2012

::.:: materi proxy ::.::


MATERI
Proxy Server

TUJUAN PEMBELAJARAN
1.      Mahasiswa memahami prinsip PROXY.
2.      Mahasiswa memahami kegunaan/manfaat PROXY.
3.      Mahasiswa mampu melakukan installasi dan konfigurasi/setting PROXY.

Dasar Teori

Anda ingin membuat user-user anda dapat mengakses Internet. Sayangnya, anda hanya mempunyai 1 komputer saja yang terhubung dengan Internet menggunakan modem. Salah satu solusinya, anda harus membuat sebuah Server Proxy yang dapat mengatur koneksi Internet dari setiap komputer dalam jaringan anda. Dengan Squid, anda dapat mengatur user mana saja yang berhak menggunakan fasilitas internet sehingga jalur Internet tidak menjadi padat. Jika cara tersebut dianggap keras, cara tersebut juga dapat diperlonggar dengan pengaturan hari dan jam-jam tertentu untuk kelompok user yang berbeda.

Transparan cache dinamai demikian karena alat tersebut bekerjanya dengan menggunakan jalur jaringan secara transparan ke browser. Dalam model ini ,sirkit pendek cache, proses retrieval, apaka h file yang dikehendaki ada dalam cache. Transparan cache berguna khususnya untuk ISPs karena mereka tak memerlukan modifikasi browser set up. Trasparan cache juga merupakan cara yang termudah untuk menggunakan sebuah cache secara internal pada sebuah jar ingan , karena trasparan cache tak menggunakan koordinasi yang terperinci dengan cache lainnya.

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.

Keuntungan trasparan caching:
Keuntungan dan kerugian trasparan caching secara menyeluruh merupakan kebalikan dari semua yang telah disebutkan dalam contoh untuk proxy caching. Keuntungannya, administrasi yang dibuat mudah untuk dimengerti browser tak perlu dikonfigurasikan untuk bicara ke cache. Kontrol pusat, pemakai tak dapat mengubah browsernya untuk melengkapi cache.

Kerugian trasparan caching:
Tidak kuat,karena trasparan caching tergantung pada routed path yang stabil antara klient dengan serveryang asli,dalam hal menerobos cache path . Hal tersebut dalam internet mudah dipengaruhi bagi perubahan – perubahan routing. Dengan kata lain jika sebuah hubungan antara klient dengan cache ditetapkan dan perubahan routing terjadi yang mana menyebabkan klient mengambil path yang tak lagi mengalir melalui alat jaringan diverting,periodenya akan berhenti dan pemakai harus mengisi ulang halaman, jika rute- rute dalam internet tak menentu maka hasilnya akan lebih tak bisa diperkirakan.

Kontrol pemakai,
Trasparan caching membawa pergi kontrol dari pemakai. Beberapa pemakai mempunyai bias-bias yang sangat kuat tentang caching dan akan mengubah ISP suntuk menghindarinya.


Dependensi browser,
Untuk operasi yang sukses banyak trasparan cache tergantung pada browser yang menyediakan sejumlah nama server asli dalam header permintaan HTTP. Hal ini diperlukan sebab cache ini tak dapat mengakses tujuan IP address server yang asli dari IP address paket , karena alasan tersebut cache menghilang. Mereka tak dapat menentukan server address yang asli untuk mengirim permintaan.Beberapa browser awal/sebelumnya tak menyediakan informasi ini maka dari itu tak akan bekerja secara baik dengan trasparan cache, tapi 90% dari browser puas.Dalam kenyataannya ,banyak pelengkap jaringan telah mengobservasi bahwa jumlah signifikan permintaan HTTP adalah untuk mengisi non cachetable (35-45%). Angka kemunculan cache tersebut proporsional untuk jumlah isi non cachetable yang dikirim ke cache.

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.

Tugas Pendahuluan
1.Apa  arti dan fungsi proxy server ?
2.Sebutkan paket aplikasi proxy server !
3.Sebutkan masing-masing kelebihan dan kekurangan proxy server !
4.Fitur apa yang ditawarkan oleh squid?
5.Berikan beberapa contoh penerapan aturan menggunakan acl (access control list) !


Percobaan
1.      Persiapan Teknis
Skenario :
Langkah pertama, anda harus memeriksa keberadaan paket Squid, terutama bagi anda yang telah mempunyai komputer Linux sebelumnya dan melakukan setting awal agar semua klien dalam jaringan anda dapat mengakses Internet menggunakan komputer Proxy anda.
a.       Cek apakah paket squid sudah terinstal di komputer Linux anda.
# rpm –qa |grep squid
b.      Ubah beberapa konfigurasi dasar dari Squid di /etc/squid/squid.conf
# cd /etc/squid/
# gedit squid.conf
Perintah diatas mengasumsikan direktori aktif anda sebelum menjalankan perintah pertama adalah / (root) dan anda menggunakan gedit sebagai editor anda
c.       Sesuaikan beberapa baris konfigurasi berikut ini
...
http_port no_ip_server_proxy:8080
icp_port 3130
tcp_outgoing_address 0.0.0.0
udp_incoming_address 0.0.0.0
udp_outgoing_address 0.0.0.0
cache_peer proxy.eepis-its.edu parent 3128 3130 login=namamu@student.eepis-its.edu:passwordmu
cache_mem 32 MB
cache_dir ufs /cache 1000 16 256
           
Konfigurasi http_port menunjukkan bahwa port yang digunakan untuk proxy adalah 8080. Konfigurasi dns_nameservers digunakan untuk daftar server nama domain.

d.      Simpan konfigurasi tersebut dengan menekan tombol Save. Tutup jendela gedit untuk kembali ke layar terminal anda.
e.       Jalankan service Squid dengan konfigurasi yang baru
# service squid start
f.       Atur Squid supaya berjalan secara otomatis saat Linux dijalankan :
# chkconfig -–level 35 squid on
g.      Untuk memeriksa apakah Squid sudah dapat digunakan, buka web browser Mozilla anda.
h.      Buka menu Edit > Preferences...
i.        Klik tanda + pada pilihan kategori Advanced, kemudian pilih menu Proxies di dalamnya dan klik Manual proxy configuration.
j.        Masukkan alamat proxy server anda, asumsi 169.254.7.100 dengan port 8080, pada kotak isian yang tersedia. Jangan lupa mengosongkan kotak No proxy for
k.      Untuk Internet Explorer, pengaturan Proxy ada pada menu Tools > Internet Options > Connections. Klik tombol LAN Settings... kemudian tandai checkbox Use a proxy server dan isi Address dengan IP 10.252.102.110 dengan port 8080. Pastikan komputer klien mempunyai IP yang sekelas dengan komputer server.
l.        Buka sebuah website yang anda kenal untuk menguji Proxy server anda.
m.    Jika website belum bisa dibuka, anda harus memastikan setiap komputer dalam jaringan memang diijinkan untuk menggunakan koneksi Internet melalui Squid.
n.      Untuk melakukannya, ketikkan baris dibawah ini di bagian ACCESS CONTROL pada file /etc/squid/squid.conf

acl jaringanku src 10.252.102.0/24
http_access allow jaringanku

o.      Refresh browser anda. Sampai disini, proxy anda seharusnya sudah dapat berjalan dengan baik.
p.      Langkah berikutnya, anda akan memodifikasi hak akses Internet untuk pengguna melalui file konfigurasi Squid. Jika semula pengguna internet dapat menggunakan Internet tanpa batasan apapun, maka setelah adanya perubahan konfigurasi akan muncul beberapa kombinasi pengaturan

Catatan: Untuk langkah-langkah selanjutnya, Anda akan mengkonfigurasi jaringan yang memiliki IP address yang berbeda berbeda dengan jaringan sebelumnya.


2.      Hak Akses Internet untuk IP Tertentu
Skenario :
Tugas berikutnya, Anda diminta untuk men-setup 2 buah laboratorium pada Fakultas Kedokteran. Dekan menginginkan hanya lab-lab tertentu dan Tata Usaha saja yang dapat menggunakan internet. Memutuskan koneksi jaringan komputer pada komputer-komputer yang tidak berkepentingan dengan Internet sangat tidak mungkin karena setiap orang terhubung dengan server local (Intranet). Untuk itu diperlukan pengaturan yang hanya memungkinkan pemberian hak akses Internet untuk alamat-alamat IP berikut ini saja :
1. Lab A mempunyai nomor IP dari 192.168.1.11 sampai dengan 192.168.1.40.
2. Lab B mempunyai nomor IP dari 192.168.1.41 sampai 192.168.1.70.
3. Tata Usaha mempunyai nomor IP dari 192.168.1.1 sampai 192.168.1.10.
a.      Edit file /etc/squid/squid.conf dengan menambahkan baris-baris yang dicetak tebal dibawah ini pada bagian ACCESS CONTROL

...
# ACCESS CONTROL
...
acl lab-a src 192.168.1.11-192.168.1.40/255.255.255.255
acl lab-b src 192.168.1.41-192.168.1.70/255.255.255.255
acl kantor src 192.168.1.1-192.168.1.10/255.255.255.255
...
# TAG : http_access
...
http_access allow lab-a
http_access allow lab-b
http_access allow kantor
http_access deny all
...
b.      Restart service squid
# service squid restart
c.       Periksa hasil konfigurasi  diatas dengan membuka sebuah website yang anda kenal melalui komputer yang mempunyai IP sesuai dengan konfigurasi file Squid anda.

3.      Hak Akses Internet pada Jam Tertentu
Skenario :
Anda juga diminta membatasi jam koneksi internet untuk keperluan praktikum pada jam yang berbeda. Untuk Lab-A, koneksi akan dimulai pada jam 13:00 sampai dengan 21:00 pada setiap hari. Sedangkan Lab-B hanya mempunyai jadwal dari jam 17:00 sampai dengan 19:00.
a.      Edit file /etc/squid/squid.conf dengan menambahkan atau mengubah baris-baris yang dicetak tebal dibawah ini pada bagian ACCESS CONTROL
...
# ACCESS CONTROL
...
acl lab-a src 192.168.1.11-192.168.1.40/255.255.255.255
acl lab-b src 192.168.1.41-192.168.1.70/255.255.255.255
acl kantor src 192.168.1.1-192.168.1.10/255.255.255.255
acl jam-lab-a time 13:00-21:00
acl jam-lab-b time 17:00-19:00
...
# TAG : http_access
...
http_access allow jam-lab-a lab-a
http_access allow jam-lab-b lab-b
http_access allow kantor
http_access deny all
...
b.      Restart service squid
# service squid restart
c.       Periksa hasil konfigurasi  diatas dengan membuka sebuah website yang anda kenal melalui komputer yang mempunyai IP sesuai dengan konfigurasi file Squid anda.
4.      Hak Akses Internet pada Hari Tertentu
Skenario :
Hak akses juga dapat diatur penggunaannya berdasarkan hari tertentu. Hal ini akan diterapkan pada contoh kasus sebelumnya. Apabila Lab-A hanya dipakai untuk hari Senin, Rabu dan Jumat sedangkan Lab-B digunakan hanya pada hari Selasa dan Kamis, maka konfigurasi Squid harus disesuaikan.

Berikut ini tabel Singkatan Nama Hari yang dikenal oleh Squid.

Singkatan
Arti
S
Sunday
M
Monday
T
Tuesday
W
Wednesday
H
Thursday
F
Friday
A
Saturday

a.      Edit file /etc/squid/squid.conf dengan menambahkan baris-baris yang dicetak tebal dibawah ini pada bagian ACCESS CONTROL
...
# ACCESS CONTROL
...
acl lab-a src 192.168.1.11-192.168.1.40/255.255.255.255
acl lab-b src 192.168.1.41-192.168.1.70/255.255.255.255
acl kantor src 192.168.1.1-192.168.1.10/255.255.255.255
acl hari-lab-a time MWF
acl hari-lab-b time TH
...
# TAG : http_access
...
http_access allow hari-lab-a lab-a
http_access allow hari-lab-b lab-b
http_access allow kantor
http_access deny all
...
b.      Restart service squid
# service squid restart
c.       Periksa hasil konfigurasi diatas dengan membuka sebuah website yang anda kenal melalui komputer yang mempunyai IP sesuai dengan konfigurasi file Squid anda.
5.      Hak Akses Internet pada Hari dan jam Tertentu
Skenario :
Dengan kombinasi access control untuk hari dan jam, hak akses Internet dapat dibatasi dengan lebih spesifik. Oleh karena pada konfigurasi sebelumnya Lab-A hanya dipakai untuk hari Senin, Rabu dan jumat namun dibatasi pada jam 13:00 sampai dengan jam 21:00, sedangkan Lab-B pada hari Selasa dan Kamis dengan jam akses pukul 15:00 sampai dengan jam 17:00, maka konfigurasi Squid dapat diatur seperti pada bagian ini.
a.      Edit file /etc/squid/squid.conf dengan menambahkan baris-baris yang dicetak tebal dibawah ini pada bagian ACCESS CONTROL
...
# ACCESS CONTROL
...
acl lab-a src 192.168.1.11-192.168.1.40/255.255.255.255
acl lab-b src 192.168.1.41-192.168.1.70/255.255.255.255
acl kantor src 192.168.1.1-192.168.1.10/255.255.255.255
acl waktu-lab-a time MWF 13:00-21:00
acl waktu-lab-b time TH 17:00-19:00
...
# TAG : http_access
...
http_access allow waktu-lab-a lab-a
http_access allow waktu-lab-b lab-b
http_access allow kantor
http access deny all
...
b.      Restart service squid
# service squid restart

6.      Hak Akses dengan Pembatasan Tujuan ke Alamat Internet Tertentu
Skenario :
Salah satu cara untuk mengelola hak akses Internet secara optimal adalah dengan membatasi akses ke alamat Internet tertentu. Beberapa situs yang dianggap porno, menampilkan kekerasan, atau berisi material yang tidak layak akan diblokir. Alamat-alamat tersebut akan ditolak untuk ditampilkan meskipun pengguna memintanya.
a.      Edit file /etc/squid/squid.conf dengan menambahkan baris-baris yang dicetak tebal dibawah ini pada bagian ACCESS CONTROL
...
# ACCESS CONTROL
...
acl lab-a src 192.168.1.11-192.168.1.40/255.255.255.255
acl lab-b src 192.168.1.41-192.168.1.70/255.255.255.255
acl kantor src 192.168.1.1-192.168.1.10/255.255.255.255
acl waktu-lab-a time MWF 13:00-21:00
acl waktu-lab-b time TH 17:00-19:00
acl daftarhitam url_regex –i “/etc/squid/blacklist.txt”
...
# TAG : http_access
...
http_access deny daftarhitam
http_access allow waktu-lab-a lab-a
http_access allow waktu-lab-b lab-b
http_access allow kantor
http access deny all
...
b.      Anda juga harus membuat file blacklist.txt yang disimpan di /etc/squid. File ini berisi alamat-alamat internet (domain) yang tidak dapat diakses karena alasan-alasan tertentu. Contoh isi file  blacklist.txt :
.playboy.com
.sex.com
.vivid.com
.friendster.com
c.       Anda dapat menambahkan daftar tersebut sesuai dengan kondisi lingkungan Anda. Semakin banyak alamat Internet yang anda masukkan, semakin banyak pula pengurangan kuota pemakaian untuk alamat-alamat yang tidak perlu.
d.      Restart service squid
# service squid restart
e.       Cobalah untuk membuka salah satu situs yang telah anda masukkan ke dalam file blacklist.txt. Jika konfigurasi anda benar, seharusnya anda mendapat pesan Error dari browser anda.
f.       Namun demikian, terdapat beberapa pengguna yang tidak menginginkan alamat tertentu dibatasi karena bidang ilmu atau pekerjaannya. Untuk itu, konfigurasi Squid dapat dibuat lebih spesifik untuk menjaring komputer tertentu saja yang dapat mengakses isi web yang dianggap tidak layak tonton.
g.      Sebagai contoh, fakultas psikologi[abe1] , sebagai salah satu pengguna Lab-A, meminta 10 PC untuk tidak dibatasi hak aksesnya ke alamat manapun karena pertimbangan materi kuliahnya.

# ACCESS CONTROL
...
acl psiko src 192.168.1.11-192.168.1.20/255.255.255.255
acl lab-a src 192.168.1.11-192.168.1.40/255.255.255.255
acl lab-b src 192.168.1.41-192.168.1.70/255.255.255.255
acl kantor src 192.168.1.1-192.168.1.10/255.255.255.255
acl fak-lain src 192.168.1.71-192.168.1.99/255.255.255.255
acl waktu-lab-a time MWF 13:00-21:00
acl waktu-lab-b time TH 17:00-19:00
acl daftarhitam url_regex –i “/etc/squid/blacklist.txt”
...
# TAG : http_access
...
http_access allow psiko
http_access deny daftarhitam
http_access deny !daftarhitam fak-lain
http_access allow waktu-lab-a lab-a
http_access allow waktu-lab-b lab-b
http_access allow kantor
http access deny all
...
Hak akses pada fakultas selain kedokteran dan psikologi (fak-lain) akan dibatasi untuk alamat-alamat yang bukan termasuk dalam daftar hitam. Fakultas psikologi sengaja tidak dibatasi. Semua alamat Internet akan dapat diakses tanpa filter sedikitpun oleh fakultas tersebut.

1 komentar: