PROXY SERVER
Nama : ANDIKA HENDRAWAN(3)
KELAS : 12 TKJ 2
TTKPROXY SERVER
Pengertian
Proxy Server yaitu suatu server atau program komputer yang mempunyai peran sebagai penghubung antara suatu komputer dengan internet.
Jenis Proxy
• Proxy VPN
1. Transparent Proxy
2. High Anoymith Proxy
3. Distorting Proxy
4. Reverse Proxy
• Proxy Server
• Web Proxy
Kelebihan :
• Suatu jaringan keamanannya terjaga, karena proxy sebagai pembatas antara jaringan lokal dan jaringan luar (internet).
• Situs atau website yang telah diakses sebelumnya dapat dibuka kembali dan menjadi lebih cepat, karena akses tidak membutuhkan ke jaringan internet luar melainkan sudah ada pada direktori cache proxy.
• Adanya fasilitas filtering (penyaring), baik filter untuk pengguna, content atu isi dan waktu akses.
Kekurangan :
• Jika sebuah website belum pernah dibuka sebelumnya maka akses terhadap website tersebut akan lebih lambat , karena client harus meminta terlebih dahulu ke pada proxy, setelah itu baru proxy yang akan meminta atau merequest dari client tersebut kepada penyedia layanan internet.
• Apabila sebuah proxy terlambat melakukan update cache, maka client akan mendapatkan content yang belum update ketika melakukan request content.
Aplikasi Proxy Server
• SQUID
• SAFESQUID
• PRIVOXY
• OOPS
• TINYPROXY
• MIDDLEMAN
Cara Kerja
• Proxy server memotong hubungan langsung antara pengguna dan layanan yang diakases
• Dilakukan pertama-tama dengan mengubah alamat IP, membuat pemetaan dari alamat IP jaringan lokal ke suatu alamat IP proxy, yang digunakan untuk jaringan luar atau internet.
• Pada prinsipnya hanya alamat IP proxy tersebut yang akan diketahui secara umum di internet, Berfungsi sebagai network address translator
Diagram Proxy
3 Fungsi Proxy
• Connection Sharing
• Filtering
• Caching
Connection Sharing
• Konsep dasar, pengguna tidak langsung berhubungan dengan jaringan luar atau internet, tetapi harus melewati suatu gateway, yang bertindak sebagai batas antara jaringan lokal dan jaringan luar.
• Gateway ini sangat penting, karena jaringan lokal harus dapat dilindungi dengan baik dari bahaya yang mungkin berasal dari internet, dan hal tersebut akan sulit dilakukan bila tidak ada garis batas yang jelas jaringan lokal dan internet.
• Gateway juga bertindak sebagai titik dimana sejumlah koneksi dari pengguna lokal akan terhubung kepadanya, dan suatu koneksi ke jaringan luar juga terhubung kepadanya.
• Dengan demikian, koneksi dari jaringan lokal ke internet akan menggunakan sambungan yang dimiliki oleh gateway secara bersama-sama (connection sharing).
• Dalam hal ini, gateway adalah juga sebagai proxy server, karena menyediakan layanan sebagai perantara antara jaringan lokal dan jaringan luar atau internet
Filtering
• Bekerja pada layer aplikasi shg berfungsi sebagai firewall packet filtering yang digunakan untuk melindungi jaringan lokal dari serangan atau gangguan yang berasal dari jaringan internet
• Berfungsi melakukan filtering atas paket yang lewat dari dan ke jaringan-jaringan yang dihubungkan
• Dapat dikonfigurasi untuk menolak akses ke situs web tertentu pada waktu-waktu tertentu.
• Dapat dikonfigurasi untuk hanya memperbolehkan download FTP dan tidak memperbolehkan upload FTP, hanya memperbolehkan pengguna tertentu yang bisa memainkan file-file RealAudio, mencegah akses ke email server sebelum tanggal tertentu, dll
Chacing
• Proxy server memiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dari server-server di internet
• Proxy server yang melakukan proses diatas biasa disebut cache server
• Mekanisme caching akan menyimpan obyek-obyek yang merupakan hasil permintaan dari dari para pengguna, yang didapat dari internet.
• Disimpan dalam ruang disk yang disediakan (cache).
Proses penghapusan Cache
• Pada kondisi tertentu, kapasitas penyimpanan akan terkuras habis oleh object.
• Ada beberapa metode penghapusan untuk menjaga kapasitas tetap terjaga, sesuai dengan konfigurasi yang telah ditetapkan.
• Penghapusan didasarkan pada umur dan kepopuleran, semakin tua umur object akan tinggi prioritasnya untuk dihapus. Dan juga untuk object yang tidak popular akan lebih cepat dihapus juga.
Mekanisme Chacing
Design Cache
Parent
• cache server yang wajib mencarikan content yang diminta oleh klien
Sibling
• cache server yang wajib memberikan content yang diminta jika memang tersedia. Jika tidak, sibling tidak wajib untuk mencarikannya
Design Cache
• Bersifat ketergantungan penuh
• Cache child (cache server) mau tidak mau harus meminta kepada parent, dan parent pun berkewajiban untuk memenuhi permintaan child tanpa kecuali, pada kondisi ada atau tidaknya object yang diminta di dalam hardsiknya.
• Bila parent tidak bias memenuhi permintaan, maka cache child akan memberikan pesan error pada browser klien bahwa URL maupun content yang diminta tidak dapat diambil
Beberapa penggunaan proxy server, terdiri atas :
• Untuk menjaga mesin di balik anonim (terutama untuk security).
• meningkatkan akses ke sumber (menggunakan caching). Web proxy biasanya digunakan untuk cache halaman internet dari server web.
• menerapkan aturan akses terhadap internet atau isinya, e.g. to block undesired sites.
• Untuk penggunaan log / audit, yaitu untuk menyediakan karyawan perusahaan pelaporan penggunaan Internet.
• Untuk melewati kontrol keamanan/ parental. memindai perpindahan konten bila terdapat malware sebelumya.
• Untuk memindai konten outbound, misalnya untuk perlindungan data dari kebocoran.
• Untuk menghindari pembatasan regional.
Hal-Hal Yang Dapat Dilakukan
• Dapat menyembunyikan alamat IP address.
• Dapat diipakai untuk mengakses suatu website yang telah diblok oleh ISP “Internet Service Provider” atau oleh suatu organisasi.
• Dapat digunakan untuk men-blok beberapa atau sebuah websiste yang nantinya tidak dapat diakses.
• Dapat men-filter cookies yang tidak di inginkan dan seluruh cookies yang tersimpan di encrypt.
• Dan dapat meningkatkan keamanan privacy pengguna.
Transparent Proxy
• Salah satu kompleksitas dari proxy pada level aplikasi adalah bahwa pada sisi pengguna harus dilakukan konfigurasi yang spesifik untuk suatu proxy tertentu agar bisa menggunakan layanan dari suatu proxy server
• Agar pengguna tidak harus melakukan konfigurasi khusus, kita bisa mengkonfigurasi proxy/cache server agar berjalan secara benar-benar transparan terhadap pengguna (transparent proxy).
• Transparent Proxy memerlukan bantuan dan konfigurasi aplikasi firewall (yang bekerja pada layer network) untuk bisa membuat transparent proxy yang bekerja pada layer aplikasi
Cara Kerja Transparent Proxy
• Pengguna benar-benar tidak mengetahui tentang keberadaan proxy ini, dan apapun konfigurasi pada sisi pengguna, selama proxy server ini berada pada jalur jaringan yang pasti dilalui oleh pengguna untuk menuju ke internet, maka pengguna pasti dengan sendirinya akan “menggunakan” proxy/cache ini.
• Cara membuat transparent proxy adalah dengan membelokkan arah (redirecting) dari paket-paket untuk suatu aplikasi tertentu, dengan menggunakan satu atau lebih aturan pada firewall/router.
• Prinsipnya setiap aplikasi berbasis TCP akan menggunakan salah satu port yang tersedia, dan firewall membelokkan paket yang menuju ke port layanan tertentu, ke arah port dari proxy yang bersesuaian
Squit Proxy
• Squid merupakan Salah satu software terbaik yang ada di GNU/Linux adalah Squid.
• Merupakan software proxy server open source dengan banyak fitur.
• Program squid mempunyai kemampuan untuk berlaku sebagai server cache maupun sebagai filter.
• Objek data yang dapat disimpan oleh squid meliputi objek permintaan data dari permintaan klien HTTP, FTP maupun Gopher.
• Sebagian besar para sistem administrator menggunakan squid sebagai server Proxy.
Konfigurasi Dasar
Edit file : /etc/squid/squid.conf
http_port menentukan squid akan berjalan di port berapa atau akan berjalan di Ip berapa dan port berapa
Contoh :
http_port 10.252.105.21:8080 (jalan di IP 10.252.105.21 di port 8080)
http_port 8080 (jalan di sembarang IP di port 8080)
Cache peer
• Cache_peer adalah metode squid dalam melakukan hirarki akses, squid memungkinkan dirinya untuk bekerjasama dengan mesin proxy yang lain
• Cache_peer sangat berguna bagi mesin yang tidak punya koneksi langsung ke internet tapi bisa mengakses ke suatu proxy yang konek ke internet (mesin yang punya akses ke internet disebut dengan parent)
• Cache_peer
cache_peer parent.foo.net parent 3128 3130 Parent.foo.net adalah mesin parent yang membuka port pada 3128
Membuat Cache
• Menggunakan Directory
• Harus dibangun dulu sebelum digunakan
• Ditentukan dalam konfigurasi cache_dir:
• Tipe Cache storage file system secara default adalah ufs
• Nama directory harus writable oleh squid
• Ukuran ukuran maks dari Cache ini
• Jumlah subdirektori Level1
• Jumlah subdirektori level 2
• Ukuran Cache tidak bisa dirubah-rubah secara fleksibel tanpa harus membangun, sehingga cache_dir bisa kita berikan lebih dari satu baris
• Contoh cache_dir :
cache_dir ufs /var/spool/squid 100 16 256
Membangun Cache
• Tentukan dulu cache_dir nya, ukuran dan lokasinya
• Jalankan squid dengan options –z
• Contoh : /usr/sbin/squid –z
• Proses ini berjalan agak lama karena squid akan membuat direktori yang kosong
• Setiap kali kita akan menambah cache_dir kita harus membangun cache_dir tersebut dulu menggunakan option -z
File System
• Ufs: file system default untuk cache storage
• Aufs : menggunakan Thread untuk menghindari blocking I/O
• DISKD: menggunakan process yang berbeda untuk menghindarkan blocking I/O (harus menentukan dan menghidupkan program diskd)
• Jumlah Subdirektori akan menentukan kecepatan akses squid terhadap cache-nya
Logging
• Sangat diperlukan untuk menganalisa dan memonitor kejadian pada squid
• cache_access_log : melihat URL akses ke proxy
• cache_access_log /var/log/squid/access.log
• cache_log : melihat kejadian pada squid tergantung dari nilai debug_options
• cache_log /var/log/squid/cache.log
• Harus dipastikan bahwa file tersebut adalah writable oleh squid
Access Filtering menggunakan ACL
• ACL : access control list
• Format umum :
• acl aclname acltype string1 ...
• acl aclname acltype "file" ...
• Acl bisa menggunakan string yang ada pada file konfigurasi dan juga bisa menggunakan file eksternal
• Aclname adalah nama yang diberikan untuk acl tersebut
• Squid akan membatasi akses berdasarkan nama aclnya
ACL TYPE
• acl aclname src ip-address/netmask ... (clients IP address)
• acl aclname src addr1-addr2/netmask ... (range of addresses)
• acl aclname dst ip-address/netmask ... (URL host's IP address)
• acl aclname myip ip-address/netmask ... (local socket IP address)
• acl aclname srcdomain .foo.com ... # reverse lookup, client IP
• acl aclname dstdomain .foo.com ... # Destination server from URL
• acl aclname srcdom_regex [-i] xxx ... # regex matching client name
• acl aclname dstdom_regex [-i] xxx ... # regex matching server
ACL Type Waktu
acl aclname time [day-abbrevs] [h1:m1-h2:m2]
S - Sunday
M - Monday
T - Tuesday
W - Wednesday
H - Thursday
F - Friday
A – Saturday
h1:m1 dan h2:m2 adalah jam dan menit, h1:m1 adalah start waktu dan h2:m2 adalah waktu selesai
Contoh : acl yang melambangkan hari senin sampai jumat jam 9 pagi sampai jam 10 pagi adalah :
acl waktuku MTWHF 09:00-10:00
ACL Proxy_auth
Acl untuk menggunakan authentikasi, waktu user berusaha mengakses internet
• acl aclname proxy_auth username ...
Sebagai contoh :
* acl userku proxy_auth unyil usrok melan
Untuk menggunakan external authentication username diganti dengan “REQUIRED”
* acl userku proxy_auth REQUIRED
Membatasi Akses
• Menggunakan http_access
• Format
http_access ( allow | deny ) (!) aclname aclname …
http_access akan match jika acl acl yang tergabung mempunyai nilai yang memenuhi
• Squid akan menganggap semua akses akan di deny (menggunakan http_access deny all) di baris-baris akhir setelah acl
• Agar kita bisa memperbolehkan user yang sesuai dengan acl mengakses ke proxy, maka tempatkanlah http_access yang berkaitan dengan acl kita di tempat sebelum http_access deny all
Contoh Membatasi Akses
acl lab_A src 10.126.10.1/255.255.255.255
acl lab_B src 10.126.11.1/255.255.255.255
acl lab_C src 10.126.13.0/255.255.255.0
Di bagian http_access :
http_access allow lab_A
http_access allow lab_B waktuku
http_access deny all (sudah ada)
Dengan demikian acl yang boleh mengakses adalah Lab_A dan lab_B, lab_C tidak karena tidak disebutkan pada http_access
Web Filtering
• Menggunakan acl dstdom_regex
• Gunakan options –i untuk menjadikannya CASE-INSENSITIVE (huruf besar huruf kecil sama saja)
• Untuk memfilter website www.detik.com
• acl web_terlarang url_regex –i www.detik.com
• acl web_terlarang url_regex –i www.jerapah.com
Implementasi Web Filtering
• acl web_terlarang dstdom_regex –i www.detik.com
• Acl web_terlarang dstdom_regex –i www.jerapah.com
• acl urlbanner url_regex –i images.slashdot.org/banner
• http_access deny web_terlarang
• http_access allow LabA LabB
• http_access deny all http_access deny urlbanner
Authentikasi
Menggunakan acl proxy_auth Menggunakan option auth_param
• auth_param skema parameter [setting] Skema authentikasi antara lain adalah: Skema terdapat di /usr/lib/squid, contoh basic schema :
• auth_param basic children 5
• auth_param basic realm Squid proxy-caching web server
• auth_param basic program /usr/lib/squid/ncsa_auth /etc/shadow
Filter dari File
• acl sex url_regex "/etc/squid/sex"
• acl notsex url_regex "/etc/squid/notsex"
• http_access allow notsex
• http_access deny sex
Proxy Server Layer Network
• Salah satu contoh proxy yang bekerja pada layer jaringan adalah aplikasi firewall yang menjalankan Network Address Translation (NAT).
• NAT selalu digunakan pada router atau gateway yang menjalankan aplikasi firewall. NAT digunakan untuk mengubah alamat IP paket TCP/IP, biasanya dari alamat IP jaringan lokal ke alamat IP publik, yang dapat dikenali di internet.
• System NAT :
• Pada suatu jaringan lokal (local Area Network), setiap komputer didalamnya menggunakan alamat IP lokal.
• Ketika komputer pada LAN mengakses layanan di internet, paket-paket IP yang berasal dari jaringan lokal harus diganti alamat sumbernya dengan satu alamat IP publik yang bisa diterima di internet.
• Disinilah proses NAT dilakukan oleh aplikasi firewall di Gateway, sehingga suatu server di internet yang menerima permintaan dari jaringan lokal akan mengenali paket datang menggunakan alamat IP gateway, yang biasanya mempunyai satu atau lebih alamat IP publik.
• Pada proses NAT ini, aplikasi firewall di gateway menyimpan satu daftar atau tabel translasi alamat berikut catatan sesi koneksi TCP/IP dari komputer-komputer lokal yang menggunakannya, sehingga proses pembaliknya bisa dilakukan, yaitu ketika paket jawaban dari internet datang, gateway dapat mengetahui tujuan sebenarnya dari paket ini, melakukan proses pembaliknya (de-NAT) dan kemudian menyampaikan paket tersebut ke komputer lokal tujuan yang sebenarnya.
Proxy Server Level Circuit
• Proxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagai “sambungan” antara layer aplikasi dan layer transport, melakukan pemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layanan atau sebaliknya.
• Proxy ini bertindak sebagai perantara, namun juga membangun suatu sirkuit virtual diantara layer aplikasi dan layer transport.
• Dengan proxy level sirkuit, aplikasi klien pada pengguna tidak perlu dikonfigurasi untuk setiap jenis aplikasi.
• Sebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali saja diperlukan untuk menginstall WinSock Proxy pada komputer pengguna, setelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atau telnet dapat langsung menggunakannya seperti bila terhubung langsung ke internet.
• Kelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dari paket yang dikirimkan atau diterima oleh aplikasi-aplikasi yang menggunakannya.
Komentar
Posting Komentar