SlideShare a Scribd company logo
1 of 65
Proxy ServerProxy Server
KONSEP DASARKONSEP DASAR
 Proxy merupakan pihak ketiga yang berdiriProxy merupakan pihak ketiga yang berdiri
ditengah-tengah antara kedua pihak yang salingditengah-tengah antara kedua pihak yang saling
berhubungan dan berfungsi sebagai perantaraberhubungan dan berfungsi sebagai perantara
 Secara prinsip pihak pertama dan pihak keduaSecara prinsip pihak pertama dan pihak kedua
tidak secara langsung berhubungan, akan tetapitidak secara langsung berhubungan, akan tetapi
masing-masing berhubungan dengan perantara,masing-masing berhubungan dengan perantara,
yaitu proxyyaitu proxy
IlustrasiIlustrasi
• Pada gambar di atas client1, client2, client3Pada gambar di atas client1, client2, client3
disebut sebagai pihak pertamadisebut sebagai pihak pertama
• Sedangkan yang menjadi pihak kedua adalahSedangkan yang menjadi pihak kedua adalah
jaringan internetjaringan internet
• Sebelum keduanya saling berhubungan,Sebelum keduanya saling berhubungan,
mereka harus melewati proxy servermereka harus melewati proxy server
Fungsi ProxyFungsi Proxy
• Connection Sharing,Connection Sharing,
• Filtering,Filtering,
• Filter Situs-Situs Terlarang,Filter Situs-Situs Terlarang,
• Filter Pengguna Internet,Filter Pengguna Internet,
• Caching,Caching,
• Management User’s Authentication,Management User’s Authentication,
• Management Waktu Akses Internet,Management Waktu Akses Internet,
• Management Bandwidth,Management Bandwidth,
• dstdst
Connection SharingConnection Sharing
• Konsep dasar, pengguna tidak langsungKonsep dasar, pengguna tidak langsung
berhubungan dengan jaringan luar atau internet,berhubungan dengan jaringan luar atau internet,
tetapi harus melewati suatu gateway, yangtetapi harus melewati suatu gateway, yang
bertindak sebagai batas antara jaringan lokal danbertindak sebagai batas antara jaringan lokal dan
jaringan luar.jaringan luar.
• Gateway ini sangat penting, karena jaringan lokalGateway ini sangat penting, karena jaringan lokal
harus dapat dilindungi dengan baik dari bahayaharus dapat dilindungi dengan baik dari bahaya
yang mungkin berasal dari internet, dan halyang mungkin berasal dari internet, dan hal
tersebut akan sulit dilakukan bila tidak ada garistersebut akan sulit dilakukan bila tidak ada garis
batas yang jelas jaringan lokal dan internet.batas yang jelas jaringan lokal dan internet.
• Gateway juga bertindak sebagai titik dimanaGateway juga bertindak sebagai titik dimana
sejumlah koneksi dari pengguna lokal akansejumlah koneksi dari pengguna lokal akan
terhubung kepadanya, dan suatu koneksi keterhubung kepadanya, dan suatu koneksi ke
jaringan luar juga terhubung kepadanya.jaringan luar juga terhubung kepadanya.
• Dengan demikian, koneksi dari jaringan lokal keDengan demikian, koneksi dari jaringan lokal ke
internet akan menggunakan sambungan yang
FilteringFiltering
 Filter Situs-Situs TerlarangFilter Situs-Situs Terlarang
 Konsepnya adalah jika ada client yang inginKonsepnya adalah jika ada client yang ingin
mengakses situs-situs yang sudah difilter oleh proxymengakses situs-situs yang sudah difilter oleh proxy
server maka akses akan gagal.server maka akses akan gagal.
 Filter Pengguna InternetFilter Pengguna Internet
 Pengguna Internet sudah didefinisikan diPengguna Internet sudah didefinisikan di
konfigurasi proxykonfigurasi proxy
 Pendefinisan yang digunakan adalah denganPendefinisan yang digunakan adalah dengan
menggunakan IP Address yang digunakan clientmenggunakan IP Address yang digunakan client
 Proxy juga bisa mendefinisikan beberapa IP yangProxy juga bisa mendefinisikan beberapa IP yang
tidak bisa akses internettidak bisa akses internet
CachingCaching
 Proxy server memiliki mekanisme penyimpananProxy server memiliki mekanisme penyimpanan
obyek-obyek yang sudah pernah diminta dariobyek-obyek yang sudah pernah diminta dari
server-server di internetserver-server di internet
 Proxy server yang melakukan proses diatas biasaProxy server yang melakukan proses diatas biasa
disebut cache serverdisebut cache server
 Mekanisme caching akan menyimpan obyek-obyekMekanisme caching akan menyimpan obyek-obyek
yang merupakan hasil permintaan dari dari parayang merupakan hasil permintaan dari dari para
pengguna, yang didapat dari internet.pengguna, yang didapat dari internet.
 Disimpan dalam ruang disk yang disediakanDisimpan dalam ruang disk yang disediakan
(cache).(cache).
Mekanisme CachingMekanisme Caching
A B C D E F G H
SELECTED
ON-LINE
internet
Firewall/router
Web Proxy/cache
server
switch
Pengguna jaringan lokal
Data dari internet, ketika
diminta, akan disimpan
dalam cache
Permintaan dari
proxy/cache server,
terurut dan teratur
Permintaan dari
pengguna web
browser, random dan
tidak teratur
Data yang diberikan
oleh cache server
ke web browser
Caching …Caching …
 Dengan demikian, bila suatu saat ada penggunaDengan demikian, bila suatu saat ada pengguna
yang meminta suatu layanan ke internet yangyang meminta suatu layanan ke internet yang
mengandung obyek-obyek yang sama dengan yangmengandung obyek-obyek yang sama dengan yang
sudah pernah diminta sebelumnya, yaitu yang sudahsudah pernah diminta sebelumnya, yaitu yang sudah
ada dalam cache, maka proxy server akan dapatada dalam cache, maka proxy server akan dapat
langsung memberikan obyek dari cache yanglangsung memberikan obyek dari cache yang
diminta kepada pengguna, tanpa harus memintadiminta kepada pengguna, tanpa harus meminta
ulang ke server aslinya di internet.ulang ke server aslinya di internet.
 Bila permintaan tersebut tidak dapat ditemukanBila permintaan tersebut tidak dapat ditemukan
dalam cache di proxy server, baru kemudian proxydalam cache di proxy server, baru kemudian proxy
server meneruskan atau memintakannya ke serverserver meneruskan atau memintakannya ke server
aslinya di internetaslinya di internet
Transparent ProxyTransparent Proxy
 Salah satu kompleksitas dari proxy pada level aplikasi adalahSalah satu kompleksitas dari proxy pada level aplikasi adalah
bahwa pada sisi pengguna harus dilakukan konfigurasi yangbahwa pada sisi pengguna harus dilakukan konfigurasi yang
spesifik untuk suatu proxy tertentu agar bisa menggunakanspesifik untuk suatu proxy tertentu agar bisa menggunakan
layanan dari suatu proxy serverlayanan dari suatu proxy server
 Agar pengguna tidak harus melakukan konfigurasi khusus,Agar pengguna tidak harus melakukan konfigurasi khusus,
kita bisa mengkonfigurasi proxy/cache server agar berjalankita bisa mengkonfigurasi proxy/cache server agar berjalan
secara benar-benar transparan terhadap pengguna (transparentsecara benar-benar transparan terhadap pengguna (transparent
proxy).proxy).
 Transparent Proxy memerlukan bantuan dan konfigurasiTransparent Proxy memerlukan bantuan dan konfigurasi
aplikasi firewall (yang bekerja pada layer network) untuk bisaaplikasi firewall (yang bekerja pada layer network) untuk bisa
membuat transparent proxy yang bekerja pada layer aplikasimembuat transparent proxy yang bekerja pada layer aplikasi
Cara Kerja Transparent ProxyCara Kerja Transparent Proxy
 Pengguna benar-benar tidak mengetahui tentang keberadaanPengguna benar-benar tidak mengetahui tentang keberadaan
proxy ini, dan apapun konfigurasi pada sisi pengguna, selamaproxy ini, dan apapun konfigurasi pada sisi pengguna, selama
proxy server ini berada pada jalur jaringan yang pasti dilaluiproxy server ini berada pada jalur jaringan yang pasti dilalui
oleh pengguna untuk menuju ke internet, maka pengguna pastioleh pengguna untuk menuju ke internet, maka pengguna pasti
dengan sendirinya akan “menggunakan” proxy/cache ini.dengan sendirinya akan “menggunakan” proxy/cache ini.
 Cara membuat transparent proxy adalah dengan membelokkanCara membuat transparent proxy adalah dengan membelokkan
arah (redirecting) dari paket-paket untuk suatu aplikasiarah (redirecting) dari paket-paket untuk suatu aplikasi
tertentu, dengan menggunakan satu atau lebih aturan padatertentu, dengan menggunakan satu atau lebih aturan pada
firewall/router.firewall/router.
 Prinsipnya setiap aplikasi berbasis TCP akan menggunakanPrinsipnya setiap aplikasi berbasis TCP akan menggunakan
salah satu port yang tersedia, dan firewall membelokkan paketsalah satu port yang tersedia, dan firewall membelokkan paket
yang menuju ke port layanan tertentu, ke arah port dari proxyyang menuju ke port layanan tertentu, ke arah port dari proxy
yang bersesuaianyang bersesuaian
Cara Kerja Transparent Proxy …Cara Kerja Transparent Proxy …
 Sebagai Contoh : Pada saat klient membuka hubungan HTTPSebagai Contoh : Pada saat klient membuka hubungan HTTP
(port 80) dengan suatu web server, firewall pada router yang(port 80) dengan suatu web server, firewall pada router yang
menerima segera mengenali bahwa ada paket data yangmenerima segera mengenali bahwa ada paket data yang
berasal dari klien dengan nomor port 80.berasal dari klien dengan nomor port 80.
 Misal kita juga mempunyai satu HTTP proxy server yangMisal kita juga mempunyai satu HTTP proxy server yang
berjalan pada port 3130.berjalan pada port 3130.
 Pada Firewall router kita buat satu aturan yang menyatakanPada Firewall router kita buat satu aturan yang menyatakan
bahwa setiap paket yang datang dari jaringan lokal menuju kebahwa setiap paket yang datang dari jaringan lokal menuju ke
port 80 harus dibelokkan ke arah alamat HTTP proxy serverport 80 harus dibelokkan ke arah alamat HTTP proxy server
port 3130. Akibatnya, semua permintaan web dari penggunaport 3130. Akibatnya, semua permintaan web dari pengguna
akan masuk dan diwakili oleh HTTP proxy server diatas.akan masuk dan diwakili oleh HTTP proxy server diatas.
Cara Kerja Transparent Proxy …Cara Kerja Transparent Proxy …
/sbin/iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80/sbin/iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80
-j REDIRECT --to-port 8080-j REDIRECT --to-port 8080
Management User’sManagement User’s
AuthenticationAuthentication
KonsepKonsep
 Membatasi akses internet menggunakan usernameMembatasi akses internet menggunakan username
dan password setiap kali ingin mengakses internet,dan password setiap kali ingin mengakses internet,
 Jika username dan password yang dimasukkanJika username dan password yang dimasukkan
benar, maka client tersebut bisa mengaksesbenar, maka client tersebut bisa mengakses
internet,internet,
 Jika username dan password yang dimasukkanJika username dan password yang dimasukkan
salah, maka client tersebut tidak bisa mengaksessalah, maka client tersebut tidak bisa mengakses
internet.internet.
Management Waktu AksesManagement Waktu Akses
InternetInternet
 Akses internet hanya bisa dilakukan pada waktu-Akses internet hanya bisa dilakukan pada waktu-
waktu tertentuwaktu tertentu
 Waktu akses internet berdasarkan hari-hari danWaktu akses internet berdasarkan hari-hari dan
jam-jam tertentujam-jam tertentu
 Keuntungan: mengoptimalkan penggunaanKeuntungan: mengoptimalkan penggunaan
bandwidthbandwidth
Management BandwidthManagement Bandwidth
 BandwithBandwith adalah kecepatan transmisi dalam sistemadalah kecepatan transmisi dalam sistem
komunikasi data, dihitung dalam satuan bit / detikkomunikasi data, dihitung dalam satuan bit / detik
(bps - bit per second).(bps - bit per second).
 Management bandwidth pada proxy dapatManagement bandwidth pada proxy dapat
dilakukan pada penggunaan bandwidth padadilakukan pada penggunaan bandwidth pada
network atau masing-masing client.network atau masing-masing client.
 Management bandwidth yang baik akanManagement bandwidth yang baik akan
mengoptimalkan client untuk akses ke jaringanmengoptimalkan client untuk akses ke jaringan
internetinternet
Squid Proxy-ServerSquid Proxy-Server
 Squid merupakan software proxy yang sekarangSquid merupakan software proxy yang sekarang
ini banyak digunakanini banyak digunakan
 Squid sudah termasuk di dalam distro DebianSquid sudah termasuk di dalam distro Debian
DNU/LinuxDNU/Linux
 Instalasi pada Debian digunakan perintah berikut:Instalasi pada Debian digunakan perintah berikut:
 $ apt-get install squid$ apt-get install squid
Installasi dan KonfigurasiInstallasi dan Konfigurasi
Squid Proxy ServerSquid Proxy Server
Installasi Squid ProxyInstallasi Squid Proxy
 Apt-get install squidApt-get install squid
Konfigurasi DasarKonfigurasi Dasar
 Edit file : /etc/squid/squid.confEdit file : /etc/squid/squid.conf
 Konfigurasi DasarKonfigurasi Dasar
 http_porthttp_port
 Cache_peerCache_peer
 cache_dircache_dir
 cache_access_logcache_access_log
 cache_logcache_log
 Konfigurasi TambahanKonfigurasi Tambahan
 DNS SettingDNS Setting
 Access ListAccess List
 FilteringFiltering
http_porthttp_port
 http_porthttp_port  menentukan squid akan berjalanmenentukan squid akan berjalan
di port berapa atau akan berjalan di Ip berapadi port berapa atau akan berjalan di Ip berapa
dan port berapadan port berapa
 Contoh :Contoh :
 http_port 10.252.105.21:8080 (jalan di IPhttp_port 10.252.105.21:8080 (jalan di IP
10.252.105.21 di port 8080)10.252.105.21 di port 8080)
 http_port 8080 (jalan di sembarang IP di porthttp_port 8080 (jalan di sembarang IP di port
8080)8080)
Cache_peerCache_peer
 Cache_peer adalah metode squid dalam melakukanCache_peer adalah metode squid dalam melakukan
hirarki akses, squid memungkinkan dirinya untukhirarki akses, squid memungkinkan dirinya untuk
bekerjasama dengan mesin proxy yang lainbekerjasama dengan mesin proxy yang lain
 Cache_peer sangat berguna bagi mesin yang tidakCache_peer sangat berguna bagi mesin yang tidak
punya koneksi langsung ke internet tapi bisapunya koneksi langsung ke internet tapi bisa
mengakses ke suatu proxy yang konek ke internetmengakses ke suatu proxy yang konek ke internet
(mesin yang punya akses ke internet disebut dengan(mesin yang punya akses ke internet disebut dengan
parent)parent)
 Cache_peerCache_peer
 cache_peercache_peer parent.foo.netparent.foo.net parentparent 31283128 31303130
 Parent.foo.net adalah mesin parent yang membuka portParent.foo.net adalah mesin parent yang membuka port
pada 3128pada 3128
Membuat CacheMembuat Cache
 Menggunakan DirectoryMenggunakan Directory
 Harus dibangun dulu sebelum digunakanHarus dibangun dulu sebelum digunakan
 Ditentukan dalam konfigurasiDitentukan dalam konfigurasi cache_dircache_dir::
 Tipe Cache storage file systemTipe Cache storage file system  secara default adalah ufssecara default adalah ufs
 Nama directoryNama directory  harus writable oleh squidharus writable oleh squid
 UkuranUkuran  ukuran maks dari Cache iniukuran maks dari Cache ini
 Jumlah subdirektori Level1Jumlah subdirektori Level1
 Jumlah subdirektori level 2Jumlah subdirektori level 2
 Ukuran Cache tidak bisa dirubah-rubah secaraUkuran Cache tidak bisa dirubah-rubah secara
fleksibel tanpa harus membangun, sehingga cache_dirfleksibel tanpa harus membangun, sehingga cache_dir
bisa kita berikan lebih dari satu barisbisa kita berikan lebih dari satu baris
 Contoh cache_dir :Contoh cache_dir :
 cache_dir ufs /var/spool/squid 100 16 256cache_dir ufs /var/spool/squid 100 16 256
Membangun CacheMembangun Cache
 Tentukan dulu cache_dir nya, ukuran danTentukan dulu cache_dir nya, ukuran dan
lokasinyalokasinya
 Jalankan squid dengan options –zJalankan squid dengan options –z
 Contoh : /usr/sbin/squid –zContoh : /usr/sbin/squid –z
 Proses ini berjalan agak lama karena squid akanProses ini berjalan agak lama karena squid akan
membuat direktori yang kosongmembuat direktori yang kosong
 Setiap kali kita akan menambah cache_dir kitaSetiap kali kita akan menambah cache_dir kita
harus membangun cache_dir tersebut duluharus membangun cache_dir tersebut dulu
menggunakan option -zmenggunakan option -z
File systemFile system
 Ufs: file system default untuk cache storageUfs: file system default untuk cache storage
 Aufs : menggunakan Thread untuk menghindariAufs : menggunakan Thread untuk menghindari
blocking I/Oblocking I/O
 DISKD: menggunakan process yang berbeda untukDISKD: menggunakan process yang berbeda untuk
menghindarkan blocking I/O (harus menentukan danmenghindarkan blocking I/O (harus menentukan dan
menghidupkan program diskd)menghidupkan program diskd)
 Jumlah Subdirektori akan menentukan kecepatanJumlah Subdirektori akan menentukan kecepatan
akses squid terhadap cache-nyaakses squid terhadap cache-nya
LoggingLogging
 Sangat diperlukan untuk menganalisa danSangat diperlukan untuk menganalisa dan
memonitor kejadian pada squidmemonitor kejadian pada squid
 cache_access_log : melihat URL akses kecache_access_log : melihat URL akses ke
proxyproxy
 cache_access_log /var/log/squid/access.logcache_access_log /var/log/squid/access.log
 cache_log : melihat kejadian pada squidcache_log : melihat kejadian pada squid
tergantung dari nilai debug_optionstergantung dari nilai debug_options
 cache_log /var/log/squid/cache.logcache_log /var/log/squid/cache.log
 Harus dipastikan bahwa file tersebut adalahHarus dipastikan bahwa file tersebut adalah
writable oleh squidwritable oleh squid
Option LainOption Lain
 Setting dns menggunakan optionSetting dns menggunakan option
dns_nameservers [IP] [IP]dns_nameservers [IP] [IP]
 Contoh: dns_nameservers 10.0.0.1 192.172.0.4Contoh: dns_nameservers 10.0.0.1 192.172.0.4
Access Filtering menggunakanAccess Filtering menggunakan
ACLACL
 ACL : access control listACL : access control list
 Format umum :Format umum :
 acl aclname acltype string1 ...acl aclname acltype string1 ...
 acl aclname acltype "file" ...acl aclname acltype "file" ...
 Acl bisa menggunakan string yang ada pada fileAcl bisa menggunakan string yang ada pada file
konfigurasi dan juga bisa menggunakan filekonfigurasi dan juga bisa menggunakan file
eksternaleksternal
 Aclname adalah nama yang diberikan untuk aclAclname adalah nama yang diberikan untuk acl
tersebuttersebut
 Squid akan membatasi akses berdasarkan namaSquid akan membatasi akses berdasarkan nama
aclnyaaclnya
ACL TypeACL Type
 acl aclname src ip-address/netmask ... (clients IP address)acl aclname src ip-address/netmask ... (clients IP address)
 acl aclname src addr1-addr2/netmask ... (range ofacl aclname src addr1-addr2/netmask ... (range of
addresses)addresses)
 acl aclname dst ip-address/netmask ... (URL host's IPacl aclname dst ip-address/netmask ... (URL host's IP
address)address)
 acl aclname myip ip-address/netmask ... (local socket IPacl aclname myip ip-address/netmask ... (local socket IP
address)address)
 acl aclname srcdomain .foo.com ... # reverse lookup, clientacl aclname srcdomain .foo.com ... # reverse lookup, client
IPIP
 acl aclname dstdomain .foo.com ... # Destination serveracl aclname dstdomain .foo.com ... # Destination server
from URLfrom URL
 acl aclname srcdom_regex [-i] xxx ... # regex matching clientacl aclname srcdom_regex [-i] xxx ... # regex matching client
namename
 acl aclname dstdom_regex [-i] xxx ... # regex matchingacl aclname dstdom_regex [-i] xxx ... # regex matching
serverserver
ACL Type untuk waktuACL Type untuk waktu
 acl aclname time [day-abbrevs] [h1:m1-h2:m2]acl aclname time [day-abbrevs] [h1:m1-h2:m2]
 S - SundayS - Sunday
 M - MondayM - Monday
 T - TuesdayT - Tuesday
 W - WednesdayW - Wednesday
 H - ThursdayH - Thursday
 F - FridayF - Friday
 A – SaturdayA – Saturday
 h1:m1 dan h2:m2 adalah jam dan menit, h1:m1 adalah starth1:m1 dan h2:m2 adalah jam dan menit, h1:m1 adalah start
waktu dan h2:m2 adalah waktu selesaiwaktu dan h2:m2 adalah waktu selesai
 Contoh : acl yang melambangkan hari senin sampai jumat jamContoh : acl yang melambangkan hari senin sampai jumat jam
9 pagi sampai jam 10 pagi adalah :9 pagi sampai jam 10 pagi adalah :
 acl waktuku MTWHF 09:00-10:00acl waktuku MTWHF 09:00-10:00
ACL Proxy_authACL Proxy_auth
Acl untuk menggunakan authentikasi, waktuAcl untuk menggunakan authentikasi, waktu
user berusaha mengakses internetuser berusaha mengakses internet
 acl aclname proxy_auth username ...acl aclname proxy_auth username ...
Sebagai contoh :Sebagai contoh :
* acl userku proxy_auth unyil usrok melan* acl userku proxy_auth unyil usrok melan
Untuk menggunakan external authenticationUntuk menggunakan external authentication
username diganti dengan “REQUIRED”username diganti dengan “REQUIRED”
* acl userku proxy_auth REQUIRED* acl userku proxy_auth REQUIRED
Membatasi aksesMembatasi akses
 MenggunakanMenggunakan http_accesshttp_access
 FormatFormat
 http_access ( allow | deny ) (!) aclname aclname …http_access ( allow | deny ) (!) aclname aclname …
 http_access akan match jika acl acl yang tergabunghttp_access akan match jika acl acl yang tergabung
mempunyai nilai yang memenuhimempunyai nilai yang memenuhi
 Squid akan menganggap semua akses akan di denySquid akan menganggap semua akses akan di deny
(menggunakan http_access deny all) di baris-baris(menggunakan http_access deny all) di baris-baris
akhir setelah aclakhir setelah acl
 Agar kita bisa memperbolehkan user yang sesuaiAgar kita bisa memperbolehkan user yang sesuai
dengan acl mengakses ke proxy, maka tempatkanlahdengan acl mengakses ke proxy, maka tempatkanlah
http_access yang berkaitan dengan acl kita di tempathttp_access yang berkaitan dengan acl kita di tempat
sebelum http_access deny allsebelum http_access deny all
Contoh membatasi AksesContoh membatasi Akses
 acl lab_A src 10.126.10.1/255.255.255.255acl lab_A src 10.126.10.1/255.255.255.255
 acl lab_B src 10.126.11.1/255.255.255.255acl lab_B src 10.126.11.1/255.255.255.255
 acl lab_C src 10.126.13.0/255.255.255.0acl lab_C src 10.126.13.0/255.255.255.0
Di bagian http_access :Di bagian http_access :
http_access allow lab_Ahttp_access allow lab_A
http_access allow lab_B waktukuhttp_access allow lab_B waktuku
http_access deny all (sudah ada)http_access deny all (sudah ada)
Dengan demikian acl yang boleh mengakses adalah Lab_ADengan demikian acl yang boleh mengakses adalah Lab_A
dan lab_B, lab_C tidak karena tidak disebutkan padadan lab_B, lab_C tidak karena tidak disebutkan pada
http_accesshttp_access
Web FilteringWeb Filtering
 Menggunakan acl dstdom_regexMenggunakan acl dstdom_regex
 Gunakan options –i untuk menjadikannyaGunakan options –i untuk menjadikannya
CASE-INSENSITIVE (huruf besar huruf kecilCASE-INSENSITIVE (huruf besar huruf kecil
sama saja)sama saja)
 Untuk memfilter websiteUntuk memfilter website www.detik.comwww.detik.com
 acl web_terlarang url_regex –iacl web_terlarang url_regex –i www.detik.comwww.detik.com
 Acl web_terlarang url_regex –iAcl web_terlarang url_regex –i www.jerapah.comwww.jerapah.com
Implementasi Web FilteringImplementasi Web Filtering
 acl web_terlarang dstdom_regex –iacl web_terlarang dstdom_regex –i www.detik.comwww.detik.com
 Acl web_terlarang dstdom_regex –iAcl web_terlarang dstdom_regex –i www.jerapah.comwww.jerapah.com
 acl urlbanner url_regex –i images.slashdot.org/banneracl urlbanner url_regex –i images.slashdot.org/banner
 http_access deny web_terlaranghttp_access deny web_terlarang
 http_access allow LabA LabBhttp_access allow LabA LabB
 http_access deny allhttp_access deny all
 http_access deny urlbannerhttp_access deny urlbanner
AuthentikasiAuthentikasi
 Menggunakan acl proxy_authMenggunakan acl proxy_auth
 Menggunakan option auth_paramMenggunakan option auth_param
 auth_param skema parameter [setting]auth_param skema parameter [setting]
 Skema authentikasi antara lain adalah:Skema authentikasi antara lain adalah:
 Skema terdapat di /usr/lib/squid, contoh basic schemaSkema terdapat di /usr/lib/squid, contoh basic schema
::
 auth_param basic children 5auth_param basic children 5
 auth_param basic realm Squid proxy-caching web serverauth_param basic realm Squid proxy-caching web server
 auth_param basic program /usr/lib/squid/ncsa_authauth_param basic program /usr/lib/squid/ncsa_auth
/etc/shadow/etc/shadow
Filter dari FileFilter dari File
 acl sex url_regex "/etc/squid/sex"acl sex url_regex "/etc/squid/sex"
 acl notsex url_regex "/etc/squid/notsex"acl notsex url_regex "/etc/squid/notsex"
 http_access allow notsexhttp_access allow notsex
 http_access deny sexhttp_access deny sex
Filter dari File…Filter dari File…
 buatlah filebuatlah file
 /etc/squid/sex/etc/squid/sex
 /etc/squid/notsex/etc/squid/notsex
contoh isi /etc/squid/notsex:contoh isi /etc/squid/notsex:
.*.msexchange.*.*.msexchange.*
.*.msexcel.*.*.msexcel.*
*freetown.**freetown.*
*geek-girls.**geek-girls.*
*scsext.**scsext.*
contoh isi /etc/squid/sex:contoh isi /etc/squid/sex:
www.indonona.comwww.indonona.com
www.extrajos.comwww.extrajos.com
www.bopekindo.comwww.bopekindo.com
Management BandwidthManagement Bandwidth
Opsi-Opsi yang digunakan adalahOpsi-Opsi yang digunakan adalah
 menentukan jumlah aturan yang dipakaimenentukan jumlah aturan yang dipakai
 delay_pool pooldelay_pool pool
 Menentukan kelas masing-masing poolMenentukan kelas masing-masing pool
 delay_class pool kelasdelay_class pool kelas
 Menentukan parameter masing-masing poolMenentukan parameter masing-masing pool
sesuai kelas yang digunakansesuai kelas yang digunakan
 delay_parameters pool parameterdelay_parameters pool parameter
 Menentukan hak akses penggunaan bandwidthMenentukan hak akses penggunaan bandwidth
 delay_access pool allow | deny [!]nama_acldelay_access pool allow | deny [!]nama_acl
Konfigurasi Transparant ProxyKonfigurasi Transparant Proxy
 /etc/squid/squid.conf/etc/squid/squid.conf
http_port 127.0.0.1:3128 http_port 10.0.0.1:3128http_port 127.0.0.1:3128 http_port 10.0.0.1:3128
visible_hostname hostname cache_mgr admin@emailvisible_hostname hostname cache_mgr admin@email
httpd_accel_host virtual httpd_accel_port 80httpd_accel_host virtual httpd_accel_port 80
httpd_accel_with_proxy onhttpd_accel_with_proxy on
httpd_accel_uses_host_header on acl lan srchttpd_accel_uses_host_header on acl lan src
10.0.0.0/8 acl localhost src 127.0.0.1 acl all src10.0.0.0/8 acl localhost src 127.0.0.1 acl all src
0.0.0.0 http_access allow lan http_access allow0.0.0.0 http_access allow lan http_access allow
localhost http_access deny all redirect_programlocalhost http_access deny all redirect_program
/usr/lib/squid/bannerfilter/redirector.pl/usr/lib/squid/bannerfilter/redirector.pl
 Redirect All outgoingRedirect All outgoing
iptables -t nat -A PREROUTING -i ${LAN_INT} -p tcpiptables -t nat -A PREROUTING -i ${LAN_INT} -p tcp
--dport 80  -j REDIRECT --to-port 3128--dport 80  -j REDIRECT --to-port 3128
Proxy Server Layer NetworkProxy Server Layer Network
 Salah satu contoh proxy yang bekerja pada layer jaringan adalah aplikasi firewallSalah satu contoh proxy yang bekerja pada layer jaringan adalah aplikasi firewall
yang menjalankan Network Address Translation (NAT).yang menjalankan Network Address Translation (NAT).
 NAT selalu digunakan pada router atau gateway yang menjalankan aplikasiNAT selalu digunakan pada router atau gateway yang menjalankan aplikasi
firewall. NAT digunakan untuk mengubah alamat IP paket TCP/IP, biasanya darifirewall. NAT digunakan untuk mengubah alamat IP paket TCP/IP, biasanya dari
alamat IP jaringan lokal ke alamat IP publik, yang dapat dikenali di internet.alamat IP jaringan lokal ke alamat IP publik, yang dapat dikenali di internet.
 System NAT :System NAT :
 Pada suatu jaringan lokal (local Area Network), setiap komputer didalamnyaPada suatu jaringan lokal (local Area Network), setiap komputer didalamnya
menggunakan alamat IP lokal.menggunakan alamat IP lokal.
 Ketika komputer pada LAN mengakses layanan di internet, paket-paket IP yang berasalKetika komputer pada LAN mengakses layanan di internet, paket-paket IP yang berasal
dari jaringan lokal harus diganti alamat sumbernya dengan satu alamat IP publik yangdari jaringan lokal harus diganti alamat sumbernya dengan satu alamat IP publik yang
bisa diterima di internet.bisa diterima di internet.
 Disinilah proses NAT dilakukan oleh aplikasi firewall di Gateway, sehingga suatu serverDisinilah proses NAT dilakukan oleh aplikasi firewall di Gateway, sehingga suatu server
di internet yang menerima permintaan dari jaringan lokal akan mengenali paket datangdi internet yang menerima permintaan dari jaringan lokal akan mengenali paket datang
menggunakan alamat IP gateway, yang biasanya mempunyai satu atau lebih alamat IPmenggunakan alamat IP gateway, yang biasanya mempunyai satu atau lebih alamat IP
publik.publik.
 Pada proses NAT ini, aplikasi firewall di gateway menyimpan satu daftar atau tabelPada proses NAT ini, aplikasi firewall di gateway menyimpan satu daftar atau tabel
translasi alamat berikut catatan sesi koneksi TCP/IP dari komputer-komputer lokaltranslasi alamat berikut catatan sesi koneksi TCP/IP dari komputer-komputer lokal
yang menggunakannya, sehingga proses pembaliknya bisa dilakukan, yaitu ketikayang menggunakannya, sehingga proses pembaliknya bisa dilakukan, yaitu ketika
paket jawaban dari internet datang, gateway dapat mengetahui tujuan sebenarnyapaket jawaban dari internet datang, gateway dapat mengetahui tujuan sebenarnya
dari paket ini, melakukan proses pembaliknya (de-NAT) dan kemudiandari paket ini, melakukan proses pembaliknya (de-NAT) dan kemudian
menyampaikan paket tersebut ke komputer lokal tujuan yang sebenarnya.menyampaikan paket tersebut ke komputer lokal tujuan yang sebenarnya.
Proxy Server Level CircuitProxy Server Level Circuit
 Proxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagaiProxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagai
“sambungan” antara layer aplikasi dan layer transport, melakukan“sambungan” antara layer aplikasi dan layer transport, melakukan
pemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layananpemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layanan
atau sebaliknya.atau sebaliknya.
 Proxy ini bertindak sebagai perantara, namun juga membangun suatuProxy ini bertindak sebagai perantara, namun juga membangun suatu
sirkuit virtual diantara layer aplikasi dan layer transport.sirkuit virtual diantara layer aplikasi dan layer transport.
 Dengan proxy level sirkuit, aplikasi klien pada pengguna tidak perluDengan proxy level sirkuit, aplikasi klien pada pengguna tidak perlu
dikonfigurasi untuk setiap jenis aplikasi.dikonfigurasi untuk setiap jenis aplikasi.
 Sebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali sajaSebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali saja
diperlukan untuk menginstall WinSock Proxy pada komputer pengguna,diperlukan untuk menginstall WinSock Proxy pada komputer pengguna,
setelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atausetelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atau
telnet dapat langsung menggunakannya seperti bila terhubung langsung ketelnet dapat langsung menggunakannya seperti bila terhubung langsung ke
internet.internet.
 Kelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dariKelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dari
paket yang dikirimkan atau diterima oleh aplikasi-aplikasi yangpaket yang dikirimkan atau diterima oleh aplikasi-aplikasi yang
menggunakannya.menggunakannya.
Workshop Proxy ServerWorkshop Proxy Server
Studi KasusStudi Kasus
 Port yang digunakan 8080 yang melewati IP 192.168.0.1Port yang digunakan 8080 yang melewati IP 192.168.0.1
 Cache_peer proxy.eepis-its.eduCache_peer proxy.eepis-its.edu
 Client1 akses pada hari Senin – Jum’at 24 jamClient1 akses pada hari Senin – Jum’at 24 jam
 Client 2 akses pada jam kerje Senin – Jum’at 08:00-18:00Client 2 akses pada jam kerje Senin – Jum’at 08:00-18:00
 Client 3 akses pada hari sabtu dan minggu 24 jamClient 3 akses pada hari sabtu dan minggu 24 jam
 User Authentication menggunakan mysql_authUser Authentication menggunakan mysql_auth
 Beberapa situs-situs terlarang diblokBeberapa situs-situs terlarang diblok
 Banwidth overall yang digunakan adalah 256 kbps, per-Banwidth overall yang digunakan adalah 256 kbps, per-
network 64 kbps, sedangkan per-user 2 kbps jika digunakannetwork 64 kbps, sedangkan per-user 2 kbps jika digunakan
untuk mendownload file seperti .exe, .mp3, .avi, .iso, dll,untuk mendownload file seperti .exe, .mp3, .avi, .iso, dll,
jika tidah maka batasan yang dipakai adalah mengikutijika tidah maka batasan yang dipakai adalah mengikuti
aturan per-networkaturan per-network
Konfigurasi PortKonfigurasi Port
 Squid berjalan pada IP 192.168.0.1 dan port 8080Squid berjalan pada IP 192.168.0.1 dan port 8080
 http_port 192.168.0.1:8080http_port 192.168.0.1:8080
 icp_port 3130icp_port 3130
 Cache_peerCache_peer
 cache_peer proxy.eepis-its.edu parent 3128 3130cache_peer proxy.eepis-its.edu parent 3128 3130
 Karena untuk mengakses proxy.eepis-its.edu harus menggunakanKarena untuk mengakses proxy.eepis-its.edu harus menggunakan
authentikasi maka saya perlu menambahkan :authentikasi maka saya perlu menambahkan :
 login=share@student.eepis-its.edu:sharelogin=share@student.eepis-its.edu:share
 share@student.eepis-its.edu=usernameshare@student.eepis-its.edu=username
 share = passwordshare = password
Membuat CacheMembuat Cache
 Uncoment pada baris-baris opsi berikut:Uncoment pada baris-baris opsi berikut:
 cache_dir ufs /var/spool/squid 1000 16 256cache_dir ufs /var/spool/squid 1000 16 256
 access_log /var/log/squid/access.log squidaccess_log /var/log/squid/access.log squid
 cache_log /var/log/squid/cache.logcache_log /var/log/squid/cache.log
 cache_store_log /var/log/squid/store.logcache_store_log /var/log/squid/store.log
 pid_filename /var/run/squid.pidpid_filename /var/run/squid.pid
Baris Authentikasi UserBaris Authentikasi User
Masukkan opsi-opsi berikut untuk authentikasi userMasukkan opsi-opsi berikut untuk authentikasi user
 auth_param basic program /usr/bin/mysql_authauth_param basic program /usr/bin/mysql_auth
 auth_param basic realm Squid proxy-caching webauth_param basic realm Squid proxy-caching web
serverserver
 auth_param basic children 5auth_param basic children 5
 auth_param basic credentialsttl 2 hoursauth_param basic credentialsttl 2 hours
 auth_param basic casesensitive offauth_param basic casesensitive off
 authenticate_ip_ttl 2 hoursauthenticate_ip_ttl 2 hours
Konfigurasi ACLKonfigurasi ACL
 AuthentikasiAuthentikasi
 acl butuhpasswd proxy_auth REQUIREDacl butuhpasswd proxy_auth REQUIRED
 Filter situs secara eksternalFilter situs secara eksternal
 acl domainterlarang dstdomain “/etc/squid/domain-terlarang.txt”acl domainterlarang dstdomain “/etc/squid/domain-terlarang.txt”
 acl kataterlarang url_regex -i "/etc/squid/kata-terlarang.txt"acl kataterlarang url_regex -i "/etc/squid/kata-terlarang.txt"
 acl ipterlarang dst "/etc/squid/ip-terlarang.txt“acl ipterlarang dst "/etc/squid/ip-terlarang.txt“
 acl nonterlarang url_regex -i "/etc/squid/non-terlarang.txt“acl nonterlarang url_regex -i "/etc/squid/non-terlarang.txt“
 Filter Ip yang boleh akses internetFilter Ip yang boleh akses internet
 acl lan src 192.168.0.2-192.168.0.254/255.255.255.255acl lan src 192.168.0.2-192.168.0.254/255.255.255.255
 acl client1 src 192.168.0.20/255.255.255.255acl client1 src 192.168.0.20/255.255.255.255
 acl client2 src 192.168.0.61/255.255.255.255acl client2 src 192.168.0.61/255.255.255.255
 acl client3 src 192.168.0.101/255.255.255.255acl client3 src 192.168.0.101/255.255.255.255
Konfigurasi Acl ….Konfigurasi Acl ….
 Filter file yang di downloadFilter file yang di download
 acl download url_regex -i ftp .exe$ .mp3$ .mp4$ .tar.gz$ .gz$ .tar.bz2$ .rpm$ .zip$acl download url_regex -i ftp .exe$ .mp3$ .mp4$ .tar.gz$ .gz$ .tar.bz2$ .rpm$ .zip$
.rar$.rar$
 acl download url_regex -i .avi$ .mpg$ .mpeg$ .rm$ .iso$ .wav$ .mov$ .dat$acl download url_regex -i .avi$ .mpg$ .mpeg$ .rm$ .iso$ .wav$ .mov$ .dat$
.mpe$ .mid$.mpe$ .mid$
 acl download url_regex -i .midi$ .rmi$ .wma$ .wmv$ .ogg$ .ogm$ .m1v$ .mp2$acl download url_regex -i .midi$ .rmi$ .wma$ .wmv$ .ogg$ .ogm$ .m1v$ .mp2$
.wax$.wax$
 acl download url_regex -i .m3u$ .asx$ .wpl$ .wmx$ .dvr-ms$ .snd$ .au$ .aif$acl download url_regex -i .m3u$ .asx$ .wpl$ .wmx$ .dvr-ms$ .snd$ .au$ .aif$
.asf$ .m2v$.asf$ .m2v$
 acl download url_regex -i .m2p$ .ts$ .tp$ .trp$ .div$ .divx$ .mod$ .vob$ .aob$ .dts$acl download url_regex -i .m2p$ .ts$ .tp$ .trp$ .div$ .divx$ .mod$ .vob$ .aob$ .dts$
 acl download url_regex -i .ac3$ .cda$ .vro$ .deb$acl download url_regex -i .ac3$ .cda$ .vro$ .deb$
 Filter waktu akses internetFilter waktu akses internet
 acl hari time M T W H Facl hari time M T W H F
 acl jam_kerja time M T W H F 08:00-18:00acl jam_kerja time M T W H F 08:00-18:00
 acl sabtuminggu time A Sacl sabtuminggu time A S
Konfigurasi http_accessKonfigurasi http_access
 Aturan akses situs-situs terlarangAturan akses situs-situs terlarang
 http_access deny domainterlaranghttp_access deny domainterlarang
 http_access deny kataterlaranghttp_access deny kataterlarang
 http_access deny ipterlaranghttp_access deny ipterlarang
 http_access allow nonterlaranghttp_access allow nonterlarang
 Aturan user yang bisa akses internetAturan user yang bisa akses internet
 http_access deny lanhttp_access deny lan
 http_access deny client1 !harihttp_access deny client1 !hari
 http_access deny client2 !jam_kerjahttp_access deny client2 !jam_kerja
 http_access deny client3 !sabtumingguhttp_access deny client3 !sabtuminggu
 http_access allow managerhttp_access allow manager
 http_access allow localhosthttp_access allow localhost
 http_access deny !Safe_portshttp_access deny !Safe_ports
 http_access deny CONNECT !SSL_portshttp_access deny CONNECT !SSL_ports
 Aturan penggunaan autentikasi userAturan penggunaan autentikasi user
 http_access allow butuhpasswdhttp_access allow butuhpasswd
 Aturan yang terakhir ini adalah untuk membatasiAturan yang terakhir ini adalah untuk membatasi
selain user yang telah didefinisikan di atas tidakselain user yang telah didefinisikan di atas tidak
bisa mengakses dan diaksesbisa mengakses dan diakses
 http_access deny allhttp_access deny all
 http_reply_access allow allhttp_reply_access allow all
 icp_access allow allicp_access allow all
Konfigurasi AdministratifKonfigurasi Administratif
 cache_mgr anwar.zainuddin@gmail.comcache_mgr anwar.zainuddin@gmail.com
 cache_effective_user proxycache_effective_user proxy
 cache_effective_group proxycache_effective_group proxy
 visible_hostname proxy.qotrun-nada.eduvisible_hostname proxy.qotrun-nada.edu
Konfigurasi bandwidthKonfigurasi bandwidth
 delay_pools 2delay_pools 2
 delay_class 1 3delay_class 1 3
 delay_parameters 1 32000/32000 8000/8000 100/100delay_parameters 1 32000/32000 8000/8000 100/100
 delay_access 1 allow client1 downloaddelay_access 1 allow client1 download
 delay_access 1 allow client2 downloaddelay_access 1 allow client2 download
 delay_access 1 allow client3 downloaddelay_access 1 allow client3 download
 delay_access 1 deny alldelay_access 1 deny all
 delay_class 2 2delay_class 2 2
 delay_parameters 2 32000/32000 8000/8000delay_parameters 2 32000/32000 8000/8000
 delay_access 2 allow client1delay_access 2 allow client1
 delay_access 2 allow client2delay_access 2 allow client2
 delay_access 2 allow client3delay_access 2 allow client3
 delay_access 2 deny alldelay_access 2 deny all
Konfigurasi mysql_authKonfigurasi mysql_auth
Konfigurasi file MakefileKonfigurasi file Makefile
CC = gccCC = gcc
CFLAGS = -I/usr/include/mysql -L/usr/lib/mysqlCFLAGS = -I/usr/include/mysql -L/usr/lib/mysql
LDFLAGS = -lmysqlclientLDFLAGS = -lmysqlclient
SRC = srcSRC = src
OBJS = $(SRC)/mysql_auth.o $(SRC)/confparser.o $(SRC)/mypasswd.oOBJS = $(SRC)/mysql_auth.o $(SRC)/confparser.o $(SRC)/mypasswd.o
INSTALL = /usr/bin/installINSTALL = /usr/bin/install
CONF = $(SRC)/mysql_auth.confCONF = $(SRC)/mysql_auth.conf
all : mysql_auth mypasswdall : mysql_auth mypasswd
clean:clean:
rm -rf src/*.o *.o mysql_auth mypasswdrm -rf src/*.o *.o mysql_auth mypasswd
mysql_auth: $(OBJS)mysql_auth: $(OBJS)
$(CC) -o $@ $(SRC)/mysql_auth.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)$(CC) -o $@ $(SRC)/mysql_auth.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)
mypasswd: $(OBJS)mypasswd: $(OBJS)
$(CC) -o $@ $(SRC)/mypasswd.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)$(CC) -o $@ $(SRC)/mypasswd.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)
install:install:
$(INSTALL) -o proxy -g proxy -m 755 mysql_auth /usr/bin/mysql_auth$(INSTALL) -o proxy -g proxy -m 755 mysql_auth /usr/bin/mysql_auth
$(INSTALL) -o proxy -g proxy -m 700 mypasswd /usr/bin/mypasswd$(INSTALL) -o proxy -g proxy -m 700 mypasswd /usr/bin/mypasswd
$(INSTALL) -o proxy -g proxy -m 600 $(CONF) /etc/mysql_auth.conf$(INSTALL) -o proxy -g proxy -m 600 $(CONF) /etc/mysql_auth.conf
#$(INSTALL) -o nobody -g nogroup -m 600 $(CONF)#$(INSTALL) -o nobody -g nogroup -m 600 $(CONF)
/usr/local/squid/etc/mysql_auth.conf.default/usr/local/squid/etc/mysql_auth.conf.default
 Konfigurasi define.hKonfigurasi define.h
 # Edit pada bagian berikut:# Edit pada bagian berikut:
 #define CONFIG_FILE#define CONFIG_FILE
"/usr/local/squid/etc/mysql_auth.conf" menjadi"/usr/local/squid/etc/mysql_auth.conf" menjadi
 #define CONFIG_FILE "/etc/mysql_auth.conf“#define CONFIG_FILE "/etc/mysql_auth.conf“
 Konfigurasi file mysql_auth.confKonfigurasi file mysql_auth.conf
 #Edit pada bagian berikut:#Edit pada bagian berikut:
 mysqld_socketmysqld_socket /tmp/mysqld.sock/tmp/mysqld.sock menjadimenjadi
 mysqld_socketmysqld_socket /var/run/mysqld/mysqld.sock/var/run/mysqld/mysqld.sock
 Compile lalu installCompile lalu install
 Pindah ke direktori mysql_authPindah ke direktori mysql_auth
 $ make$ make
 $ su -c “make install”$ su -c “make install”
 Pindah ke subdirektori sripts untuk menambahPindah ke subdirektori sripts untuk menambah
databasedatabase
 $ cd scripts/$ cd scripts/
 $ mysql -u root -p < create_script$ mysql -u root -p < create_script
 masukkan password mysqlmasukkan password mysql
 Tambahkan username dan passwordTambahkan username dan password
Konfigurasi AkhirKonfigurasi Akhir
 Setelah konfigurasi selesai, simpan fileSetelah konfigurasi selesai, simpan file
konfigurasikonfigurasi
 Stop squid lalu jalankan perintah /usr/bin/squid –zStop squid lalu jalankan perintah /usr/bin/squid –z
untuk membuat direktori cacheuntuk membuat direktori cache
 Buat file domain-terlarang.txt, kata-terlarang.txt, ip-Buat file domain-terlarang.txt, kata-terlarang.txt, ip-
terlarang.txt, non-terlarang.txt pada direktoriterlarang.txt, non-terlarang.txt pada direktori
/etc/squid/etc/squid
 cd /etc/squidcd /etc/squid
 touch domain-terlarang.txt kata-terlarang.txt ip-touch domain-terlarang.txt kata-terlarang.txt ip-
terlarang.txt non-terlarang.txtterlarang.txt non-terlarang.txt
 Masukkan nama domain, kata-kata serta ip yangMasukkan nama domain, kata-kata serta ip yang
akan diblok pada masing-masing file.akan diblok pada masing-masing file.
DAFTAR PUSTAKADAFTAR PUSTAKA
 Wagito, 2005, Jaringan Komputer Teori danWagito, 2005, Jaringan Komputer Teori dan
Implementasi Berbasis Linux, Penerbit Gava Media,Implementasi Berbasis Linux, Penerbit Gava Media,
JogjakartaJogjakarta
 Wahana Komputer, 2006, Pengelolaan JaringanWahana Komputer, 2006, Pengelolaan Jaringan
Komputer di Linux, Penerbit Salemba Infotek, JakartaKomputer di Linux, Penerbit Salemba Infotek, Jakarta
 http://lecturer.eepis-its.edu/http://lecturer.eepis-its.edu/
 http://ilmukomputer.com/http://ilmukomputer.com/
 http://people.arxnet.hu/airwain/mysql_auth/mysql_auth-0.8.http://people.arxnet.hu/airwain/mysql_auth/mysql_auth-0.8.
 Ahmad Aulia, Pembuatan Web Management UntukAhmad Aulia, Pembuatan Web Management Untuk
Konfigurasi Proxy Berbasis Squid, PENS-ITSKonfigurasi Proxy Berbasis Squid, PENS-ITS
 Dian Ardiyansyah, Teknologi Jaringan Komputer,Dian Ardiyansyah, Teknologi Jaringan Komputer,
http://ilmukomputer.com/http://ilmukomputer.com/
 http://www.debian-administration.org/http://www.debian-administration.org/
Workshop : Membuat Proxy ServerWorkshop : Membuat Proxy Server
Sederhana (Semua akses diperbolehkan)Sederhana (Semua akses diperbolehkan)
 Edit file /etc/squid/squid.confEdit file /etc/squid/squid.conf
 Isilah http_port dengan 8080Isilah http_port dengan 8080
 Gunakan parent yang ada pada saat iniGunakan parent yang ada pada saat ini
 cache_peercache_peer ip_parentip_parent parentparent port_parentport_parent
port_parent_ICPport_parent_ICP
 Isilah cache_dir 500 megabytesIsilah cache_dir 500 megabytes
 cache_dir ufs /var/spool/squid 500 16 256cache_dir ufs /var/spool/squid 500 16 256
 Isikan cache_access_log dan cache_log untukIsikan cache_access_log dan cache_log untuk
memonitor URLmemonitor URL
 cache_access_log /var/log/squid/access.logcache_access_log /var/log/squid/access.log
 cache_log /var/log/squid/cache.logcache_log /var/log/squid/cache.log
 Isikan dns_server yang akan digunakanIsikan dns_server yang akan digunakan
 dns_nameservers ip_addressdns_nameservers ip_address
Workshop 1: Membuat Proxy ServerWorkshop 1: Membuat Proxy Server
Sederhana (Semua akses diperbolehkanSederhana (Semua akses diperbolehkan
 Karena semua akses diperbolehkan, maka acl tidak diperlukanKarena semua akses diperbolehkan, maka acl tidak diperlukan
disinidisini
 Tambahkan barisTambahkan baris
 http_access allow all di bagian paling bawah dari sekumpulan tulisanhttp_access allow all di bagian paling bawah dari sekumpulan tulisan
http_accesshttp_access
 Rubahlah visible_hostname dengan nama dari mesin andaRubahlah visible_hostname dengan nama dari mesin anda
 Keluar dari squid.confKeluar dari squid.conf
 Jika cache_dir belum ada, buatlah dulu direktorinyaJika cache_dir belum ada, buatlah dulu direktorinya
 mkdir /var/spool/squidmkdir /var/spool/squid
 Chmod a+rw /var/spool/squidChmod a+rw /var/spool/squid
 JIka cache_dir belum ada, buatlah dulu denganJIka cache_dir belum ada, buatlah dulu dengan
 /usr/sbin/squid -z/usr/sbin/squid -z
 Untuk memulai squid denganUntuk memulai squid dengan
 /usr/sbin/squid –sYD/usr/sbin/squid –sYD
UjicobaUjicoba
 Bukalah browser arahkan proxy ke proxy yangBukalah browser arahkan proxy ke proxy yang
barusan anda konfigurasi, dan coba bukabarusan anda konfigurasi, dan coba buka
internetinternet
Workshop 2Workshop 2
 Buatlah proxy yang hanya boleh diakses oleh user-Buatlah proxy yang hanya boleh diakses oleh user-
user yang terdaftar dalam system sajauser yang terdaftar dalam system saja
 Ujilah proxy andaUjilah proxy anda
 Buatlah proxy yang hanya boleh diakses pada hariBuatlah proxy yang hanya boleh diakses pada hari
senin, selasa, dan rabu antara jam 07 pagi hingga jamsenin, selasa, dan rabu antara jam 07 pagi hingga jam
5 sore,lengkapi dengan authentikasi5 sore,lengkapi dengan authentikasi
 Ujilah proxy andaUjilah proxy anda
 Berikan tambahan kemampuan memfilter webBerikan tambahan kemampuan memfilter web
www.detik.comwww.detik.com dandan www.jawapos.comwww.jawapos.com
 Ujilah proxy andaUjilah proxy anda
ReferensiReferensi
 http://www.te.ugm.ac.id/~risanuri/jarkom/proxy.dohttp://www.te.ugm.ac.id/~risanuri/jarkom/proxy.do
 onno.vlsm.org/v10/onno-ind-2/network/onno.vlsm.org/v10/onno-ind-2/network/
teknik-menangkal-situs-porno-di-kantor-teknik-menangkal-situs-porno-di-kantor-
warnet-3-2002.rtfwarnet-3-2002.rtf
 mojora.wordpress.com/2006/ 08/04/memfilter-mojora.wordpress.com/2006/ 08/04/memfilter-
web-regex-lagi-men/web-regex-lagi-men/
 Materi Training Network Administration , IT -Materi Training Network Administration , IT -
PENS – ITS 2006PENS – ITS 2006

More Related Content

Viewers also liked (18)

Wireless basics j d jan 2013-2
Wireless basics  j d jan 2013-2Wireless basics  j d jan 2013-2
Wireless basics j d jan 2013-2
 
Last vacations
Last vacationsLast vacations
Last vacations
 
Stb 1000 96_pr
Stb 1000 96_prStb 1000 96_pr
Stb 1000 96_pr
 
Taller investigación en Google trends:
Taller investigación en Google trends: Taller investigación en Google trends:
Taller investigación en Google trends:
 
Báo cáo gđ 9 11-2015
Báo cáo gđ 9 11-2015Báo cáo gđ 9 11-2015
Báo cáo gđ 9 11-2015
 
Cáncer
CáncerCáncer
Cáncer
 
Perbandingan Angka kematian kasar di Indonesia dengan Negara Tetangga
Perbandingan Angka kematian kasar di Indonesia dengan Negara TetanggaPerbandingan Angka kematian kasar di Indonesia dengan Negara Tetangga
Perbandingan Angka kematian kasar di Indonesia dengan Negara Tetangga
 
Pert. 8 sejarah televisi
Pert. 8 sejarah televisiPert. 8 sejarah televisi
Pert. 8 sejarah televisi
 
Tugas pembuatan makalah studi al qur’an
Tugas pembuatan makalah studi al qur’anTugas pembuatan makalah studi al qur’an
Tugas pembuatan makalah studi al qur’an
 
Komunikasi dan strategi periklanan
Komunikasi dan strategi periklananKomunikasi dan strategi periklanan
Komunikasi dan strategi periklanan
 
Iman malik lahir pada tahun 93
Iman malik lahir pada tahun 93Iman malik lahir pada tahun 93
Iman malik lahir pada tahun 93
 
Pert. 5 frekwensi dan digitalisai radio
Pert. 5 frekwensi dan digitalisai radioPert. 5 frekwensi dan digitalisai radio
Pert. 5 frekwensi dan digitalisai radio
 
Jurnalistik radio
Jurnalistik radioJurnalistik radio
Jurnalistik radio
 
pembahasan
pembahasanpembahasan
pembahasan
 
Pemikiran hukum
Pemikiran hukum Pemikiran hukum
Pemikiran hukum
 
Bab i
Bab iBab i
Bab i
 
Jurnalistik dalam lintasan_sejarah
Jurnalistik dalam lintasan_sejarahJurnalistik dalam lintasan_sejarah
Jurnalistik dalam lintasan_sejarah
 
Konsep audience
Konsep audienceKonsep audience
Konsep audience
 

Similar to Proxy server

Materi Proxy Server Lengkap
Materi Proxy Server LengkapMateri Proxy Server Lengkap
Materi Proxy Server LengkapAli Must Can
 
Slide-IST104-IST104-Slide-10-11.pptx
Slide-IST104-IST104-Slide-10-11.pptxSlide-IST104-IST104-Slide-10-11.pptx
Slide-IST104-IST104-Slide-10-11.pptxuntuk1
 
Adm server ( 6 )
Adm server ( 6 )Adm server ( 6 )
Adm server ( 6 )teguhsmk
 
proxyserver-141204084040-conversion-gate02.pdf
proxyserver-141204084040-conversion-gate02.pdfproxyserver-141204084040-conversion-gate02.pdf
proxyserver-141204084040-conversion-gate02.pdfstoreachnew
 
Pengertian NAT, Proxy Server dan Firewall
Pengertian NAT, Proxy Server dan FirewallPengertian NAT, Proxy Server dan Firewall
Pengertian NAT, Proxy Server dan Firewallmochyusufaizal
 
14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]Krisman Tarigan
 
dokumen.tips_presentasi-web-server.ppt
dokumen.tips_presentasi-web-server.pptdokumen.tips_presentasi-web-server.ppt
dokumen.tips_presentasi-web-server.pptrico63562
 
Configuring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web ApplicationConfiguring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web ApplicationJagoan Neon
 
Firewall , Network Address Translation (NAT) Proxy Server
Firewall , Network Address Translation (NAT) Proxy ServerFirewall , Network Address Translation (NAT) Proxy Server
Firewall , Network Address Translation (NAT) Proxy ServerAgus Setiawan
 
Laporan resmi proxy radius
Laporan resmi proxy radiusLaporan resmi proxy radius
Laporan resmi proxy radiusiintanamalia
 
Tugas Ads.Server
Tugas Ads.Server Tugas Ads.Server
Tugas Ads.Server Fauzan A. N
 
Jaringan Komputer2
Jaringan Komputer2Jaringan Komputer2
Jaringan Komputer2moech riefah
 
Konfigurasi open-proxy
Konfigurasi open-proxyKonfigurasi open-proxy
Konfigurasi open-proxyFajar Rohmawan
 
Filtering dan-transparent-proxy
Filtering dan-transparent-proxyFiltering dan-transparent-proxy
Filtering dan-transparent-proxyFajar Rohmawan
 
Materi UAS MJKC.pdf
Materi UAS MJKC.pdfMateri UAS MJKC.pdf
Materi UAS MJKC.pdfConanBrazia1
 
Tugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasiTugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasiFebriy Y
 

Similar to Proxy server (20)

Materi Proxy Server Lengkap
Materi Proxy Server LengkapMateri Proxy Server Lengkap
Materi Proxy Server Lengkap
 
Slide-IST104-IST104-Slide-10-11.pptx
Slide-IST104-IST104-Slide-10-11.pptxSlide-IST104-IST104-Slide-10-11.pptx
Slide-IST104-IST104-Slide-10-11.pptx
 
Adm server ( 6 )
Adm server ( 6 )Adm server ( 6 )
Adm server ( 6 )
 
proxyserver-141204084040-conversion-gate02.pdf
proxyserver-141204084040-conversion-gate02.pdfproxyserver-141204084040-conversion-gate02.pdf
proxyserver-141204084040-conversion-gate02.pdf
 
Ppt proxy
Ppt proxyPpt proxy
Ppt proxy
 
Kamdat proxy radius
Kamdat proxy radiusKamdat proxy radius
Kamdat proxy radius
 
Pengertian NAT, Proxy Server dan Firewall
Pengertian NAT, Proxy Server dan FirewallPengertian NAT, Proxy Server dan Firewall
Pengertian NAT, Proxy Server dan Firewall
 
14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]
 
dokumen.tips_presentasi-web-server.ppt
dokumen.tips_presentasi-web-server.pptdokumen.tips_presentasi-web-server.ppt
dokumen.tips_presentasi-web-server.ppt
 
Squid apache
Squid apacheSquid apache
Squid apache
 
Configuring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web ApplicationConfiguring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web Application
 
Firewall , Network Address Translation (NAT) Proxy Server
Firewall , Network Address Translation (NAT) Proxy ServerFirewall , Network Address Translation (NAT) Proxy Server
Firewall , Network Address Translation (NAT) Proxy Server
 
Laporan resmi proxy radius
Laporan resmi proxy radiusLaporan resmi proxy radius
Laporan resmi proxy radius
 
Tugas Ads.Server
Tugas Ads.Server Tugas Ads.Server
Tugas Ads.Server
 
Jaringan Komputer2
Jaringan Komputer2Jaringan Komputer2
Jaringan Komputer2
 
Konfigurasi open-proxy
Konfigurasi open-proxyKonfigurasi open-proxy
Konfigurasi open-proxy
 
Filtering dan-transparent-proxy
Filtering dan-transparent-proxyFiltering dan-transparent-proxy
Filtering dan-transparent-proxy
 
Materi UAS MJKC.pdf
Materi UAS MJKC.pdfMateri UAS MJKC.pdf
Materi UAS MJKC.pdf
 
Tugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasiTugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasi
 
Squid proxy
Squid proxySquid proxy
Squid proxy
 

Proxy server

  • 2. KONSEP DASARKONSEP DASAR  Proxy merupakan pihak ketiga yang berdiriProxy merupakan pihak ketiga yang berdiri ditengah-tengah antara kedua pihak yang salingditengah-tengah antara kedua pihak yang saling berhubungan dan berfungsi sebagai perantaraberhubungan dan berfungsi sebagai perantara  Secara prinsip pihak pertama dan pihak keduaSecara prinsip pihak pertama dan pihak kedua tidak secara langsung berhubungan, akan tetapitidak secara langsung berhubungan, akan tetapi masing-masing berhubungan dengan perantara,masing-masing berhubungan dengan perantara, yaitu proxyyaitu proxy
  • 4. • Pada gambar di atas client1, client2, client3Pada gambar di atas client1, client2, client3 disebut sebagai pihak pertamadisebut sebagai pihak pertama • Sedangkan yang menjadi pihak kedua adalahSedangkan yang menjadi pihak kedua adalah jaringan internetjaringan internet • Sebelum keduanya saling berhubungan,Sebelum keduanya saling berhubungan, mereka harus melewati proxy servermereka harus melewati proxy server
  • 5. Fungsi ProxyFungsi Proxy • Connection Sharing,Connection Sharing, • Filtering,Filtering, • Filter Situs-Situs Terlarang,Filter Situs-Situs Terlarang, • Filter Pengguna Internet,Filter Pengguna Internet, • Caching,Caching, • Management User’s Authentication,Management User’s Authentication, • Management Waktu Akses Internet,Management Waktu Akses Internet, • Management Bandwidth,Management Bandwidth, • dstdst
  • 6. Connection SharingConnection Sharing • Konsep dasar, pengguna tidak langsungKonsep dasar, pengguna tidak langsung berhubungan dengan jaringan luar atau internet,berhubungan dengan jaringan luar atau internet, tetapi harus melewati suatu gateway, yangtetapi harus melewati suatu gateway, yang bertindak sebagai batas antara jaringan lokal danbertindak sebagai batas antara jaringan lokal dan jaringan luar.jaringan luar. • Gateway ini sangat penting, karena jaringan lokalGateway ini sangat penting, karena jaringan lokal harus dapat dilindungi dengan baik dari bahayaharus dapat dilindungi dengan baik dari bahaya yang mungkin berasal dari internet, dan halyang mungkin berasal dari internet, dan hal tersebut akan sulit dilakukan bila tidak ada garistersebut akan sulit dilakukan bila tidak ada garis batas yang jelas jaringan lokal dan internet.batas yang jelas jaringan lokal dan internet. • Gateway juga bertindak sebagai titik dimanaGateway juga bertindak sebagai titik dimana sejumlah koneksi dari pengguna lokal akansejumlah koneksi dari pengguna lokal akan terhubung kepadanya, dan suatu koneksi keterhubung kepadanya, dan suatu koneksi ke jaringan luar juga terhubung kepadanya.jaringan luar juga terhubung kepadanya. • Dengan demikian, koneksi dari jaringan lokal keDengan demikian, koneksi dari jaringan lokal ke internet akan menggunakan sambungan yang
  • 7. FilteringFiltering  Filter Situs-Situs TerlarangFilter Situs-Situs Terlarang  Konsepnya adalah jika ada client yang inginKonsepnya adalah jika ada client yang ingin mengakses situs-situs yang sudah difilter oleh proxymengakses situs-situs yang sudah difilter oleh proxy server maka akses akan gagal.server maka akses akan gagal.  Filter Pengguna InternetFilter Pengguna Internet  Pengguna Internet sudah didefinisikan diPengguna Internet sudah didefinisikan di konfigurasi proxykonfigurasi proxy  Pendefinisan yang digunakan adalah denganPendefinisan yang digunakan adalah dengan menggunakan IP Address yang digunakan clientmenggunakan IP Address yang digunakan client  Proxy juga bisa mendefinisikan beberapa IP yangProxy juga bisa mendefinisikan beberapa IP yang tidak bisa akses internettidak bisa akses internet
  • 8. CachingCaching  Proxy server memiliki mekanisme penyimpananProxy server memiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dariobyek-obyek yang sudah pernah diminta dari server-server di internetserver-server di internet  Proxy server yang melakukan proses diatas biasaProxy server yang melakukan proses diatas biasa disebut cache serverdisebut cache server  Mekanisme caching akan menyimpan obyek-obyekMekanisme caching akan menyimpan obyek-obyek yang merupakan hasil permintaan dari dari parayang merupakan hasil permintaan dari dari para pengguna, yang didapat dari internet.pengguna, yang didapat dari internet.  Disimpan dalam ruang disk yang disediakanDisimpan dalam ruang disk yang disediakan (cache).(cache).
  • 9. Mekanisme CachingMekanisme Caching A B C D E F G H SELECTED ON-LINE internet Firewall/router Web Proxy/cache server switch Pengguna jaringan lokal Data dari internet, ketika diminta, akan disimpan dalam cache Permintaan dari proxy/cache server, terurut dan teratur Permintaan dari pengguna web browser, random dan tidak teratur Data yang diberikan oleh cache server ke web browser
  • 10. Caching …Caching …  Dengan demikian, bila suatu saat ada penggunaDengan demikian, bila suatu saat ada pengguna yang meminta suatu layanan ke internet yangyang meminta suatu layanan ke internet yang mengandung obyek-obyek yang sama dengan yangmengandung obyek-obyek yang sama dengan yang sudah pernah diminta sebelumnya, yaitu yang sudahsudah pernah diminta sebelumnya, yaitu yang sudah ada dalam cache, maka proxy server akan dapatada dalam cache, maka proxy server akan dapat langsung memberikan obyek dari cache yanglangsung memberikan obyek dari cache yang diminta kepada pengguna, tanpa harus memintadiminta kepada pengguna, tanpa harus meminta ulang ke server aslinya di internet.ulang ke server aslinya di internet.  Bila permintaan tersebut tidak dapat ditemukanBila permintaan tersebut tidak dapat ditemukan dalam cache di proxy server, baru kemudian proxydalam cache di proxy server, baru kemudian proxy server meneruskan atau memintakannya ke serverserver meneruskan atau memintakannya ke server aslinya di internetaslinya di internet
  • 11. Transparent ProxyTransparent Proxy  Salah satu kompleksitas dari proxy pada level aplikasi adalahSalah satu kompleksitas dari proxy pada level aplikasi adalah bahwa pada sisi pengguna harus dilakukan konfigurasi yangbahwa pada sisi pengguna harus dilakukan konfigurasi yang spesifik untuk suatu proxy tertentu agar bisa menggunakanspesifik untuk suatu proxy tertentu agar bisa menggunakan layanan dari suatu proxy serverlayanan dari suatu proxy server  Agar pengguna tidak harus melakukan konfigurasi khusus,Agar pengguna tidak harus melakukan konfigurasi khusus, kita bisa mengkonfigurasi proxy/cache server agar berjalankita bisa mengkonfigurasi proxy/cache server agar berjalan secara benar-benar transparan terhadap pengguna (transparentsecara benar-benar transparan terhadap pengguna (transparent proxy).proxy).  Transparent Proxy memerlukan bantuan dan konfigurasiTransparent Proxy memerlukan bantuan dan konfigurasi aplikasi firewall (yang bekerja pada layer network) untuk bisaaplikasi firewall (yang bekerja pada layer network) untuk bisa membuat transparent proxy yang bekerja pada layer aplikasimembuat transparent proxy yang bekerja pada layer aplikasi
  • 12. Cara Kerja Transparent ProxyCara Kerja Transparent Proxy  Pengguna benar-benar tidak mengetahui tentang keberadaanPengguna benar-benar tidak mengetahui tentang keberadaan proxy ini, dan apapun konfigurasi pada sisi pengguna, selamaproxy ini, dan apapun konfigurasi pada sisi pengguna, selama proxy server ini berada pada jalur jaringan yang pasti dilaluiproxy server ini berada pada jalur jaringan yang pasti dilalui oleh pengguna untuk menuju ke internet, maka pengguna pastioleh pengguna untuk menuju ke internet, maka pengguna pasti dengan sendirinya akan “menggunakan” proxy/cache ini.dengan sendirinya akan “menggunakan” proxy/cache ini.  Cara membuat transparent proxy adalah dengan membelokkanCara membuat transparent proxy adalah dengan membelokkan arah (redirecting) dari paket-paket untuk suatu aplikasiarah (redirecting) dari paket-paket untuk suatu aplikasi tertentu, dengan menggunakan satu atau lebih aturan padatertentu, dengan menggunakan satu atau lebih aturan pada firewall/router.firewall/router.  Prinsipnya setiap aplikasi berbasis TCP akan menggunakanPrinsipnya setiap aplikasi berbasis TCP akan menggunakan salah satu port yang tersedia, dan firewall membelokkan paketsalah satu port yang tersedia, dan firewall membelokkan paket yang menuju ke port layanan tertentu, ke arah port dari proxyyang menuju ke port layanan tertentu, ke arah port dari proxy yang bersesuaianyang bersesuaian
  • 13. Cara Kerja Transparent Proxy …Cara Kerja Transparent Proxy …  Sebagai Contoh : Pada saat klient membuka hubungan HTTPSebagai Contoh : Pada saat klient membuka hubungan HTTP (port 80) dengan suatu web server, firewall pada router yang(port 80) dengan suatu web server, firewall pada router yang menerima segera mengenali bahwa ada paket data yangmenerima segera mengenali bahwa ada paket data yang berasal dari klien dengan nomor port 80.berasal dari klien dengan nomor port 80.  Misal kita juga mempunyai satu HTTP proxy server yangMisal kita juga mempunyai satu HTTP proxy server yang berjalan pada port 3130.berjalan pada port 3130.  Pada Firewall router kita buat satu aturan yang menyatakanPada Firewall router kita buat satu aturan yang menyatakan bahwa setiap paket yang datang dari jaringan lokal menuju kebahwa setiap paket yang datang dari jaringan lokal menuju ke port 80 harus dibelokkan ke arah alamat HTTP proxy serverport 80 harus dibelokkan ke arah alamat HTTP proxy server port 3130. Akibatnya, semua permintaan web dari penggunaport 3130. Akibatnya, semua permintaan web dari pengguna akan masuk dan diwakili oleh HTTP proxy server diatas.akan masuk dan diwakili oleh HTTP proxy server diatas.
  • 14. Cara Kerja Transparent Proxy …Cara Kerja Transparent Proxy … /sbin/iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80/sbin/iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80 -j REDIRECT --to-port 8080-j REDIRECT --to-port 8080
  • 15. Management User’sManagement User’s AuthenticationAuthentication KonsepKonsep  Membatasi akses internet menggunakan usernameMembatasi akses internet menggunakan username dan password setiap kali ingin mengakses internet,dan password setiap kali ingin mengakses internet,  Jika username dan password yang dimasukkanJika username dan password yang dimasukkan benar, maka client tersebut bisa mengaksesbenar, maka client tersebut bisa mengakses internet,internet,  Jika username dan password yang dimasukkanJika username dan password yang dimasukkan salah, maka client tersebut tidak bisa mengaksessalah, maka client tersebut tidak bisa mengakses internet.internet.
  • 16. Management Waktu AksesManagement Waktu Akses InternetInternet  Akses internet hanya bisa dilakukan pada waktu-Akses internet hanya bisa dilakukan pada waktu- waktu tertentuwaktu tertentu  Waktu akses internet berdasarkan hari-hari danWaktu akses internet berdasarkan hari-hari dan jam-jam tertentujam-jam tertentu  Keuntungan: mengoptimalkan penggunaanKeuntungan: mengoptimalkan penggunaan bandwidthbandwidth
  • 17. Management BandwidthManagement Bandwidth  BandwithBandwith adalah kecepatan transmisi dalam sistemadalah kecepatan transmisi dalam sistem komunikasi data, dihitung dalam satuan bit / detikkomunikasi data, dihitung dalam satuan bit / detik (bps - bit per second).(bps - bit per second).  Management bandwidth pada proxy dapatManagement bandwidth pada proxy dapat dilakukan pada penggunaan bandwidth padadilakukan pada penggunaan bandwidth pada network atau masing-masing client.network atau masing-masing client.  Management bandwidth yang baik akanManagement bandwidth yang baik akan mengoptimalkan client untuk akses ke jaringanmengoptimalkan client untuk akses ke jaringan internetinternet
  • 18. Squid Proxy-ServerSquid Proxy-Server  Squid merupakan software proxy yang sekarangSquid merupakan software proxy yang sekarang ini banyak digunakanini banyak digunakan  Squid sudah termasuk di dalam distro DebianSquid sudah termasuk di dalam distro Debian DNU/LinuxDNU/Linux  Instalasi pada Debian digunakan perintah berikut:Instalasi pada Debian digunakan perintah berikut:  $ apt-get install squid$ apt-get install squid
  • 19. Installasi dan KonfigurasiInstallasi dan Konfigurasi Squid Proxy ServerSquid Proxy Server
  • 20. Installasi Squid ProxyInstallasi Squid Proxy  Apt-get install squidApt-get install squid
  • 21. Konfigurasi DasarKonfigurasi Dasar  Edit file : /etc/squid/squid.confEdit file : /etc/squid/squid.conf  Konfigurasi DasarKonfigurasi Dasar  http_porthttp_port  Cache_peerCache_peer  cache_dircache_dir  cache_access_logcache_access_log  cache_logcache_log  Konfigurasi TambahanKonfigurasi Tambahan  DNS SettingDNS Setting  Access ListAccess List  FilteringFiltering
  • 22. http_porthttp_port  http_porthttp_port  menentukan squid akan berjalanmenentukan squid akan berjalan di port berapa atau akan berjalan di Ip berapadi port berapa atau akan berjalan di Ip berapa dan port berapadan port berapa  Contoh :Contoh :  http_port 10.252.105.21:8080 (jalan di IPhttp_port 10.252.105.21:8080 (jalan di IP 10.252.105.21 di port 8080)10.252.105.21 di port 8080)  http_port 8080 (jalan di sembarang IP di porthttp_port 8080 (jalan di sembarang IP di port 8080)8080)
  • 23. Cache_peerCache_peer  Cache_peer adalah metode squid dalam melakukanCache_peer adalah metode squid dalam melakukan hirarki akses, squid memungkinkan dirinya untukhirarki akses, squid memungkinkan dirinya untuk bekerjasama dengan mesin proxy yang lainbekerjasama dengan mesin proxy yang lain  Cache_peer sangat berguna bagi mesin yang tidakCache_peer sangat berguna bagi mesin yang tidak punya koneksi langsung ke internet tapi bisapunya koneksi langsung ke internet tapi bisa mengakses ke suatu proxy yang konek ke internetmengakses ke suatu proxy yang konek ke internet (mesin yang punya akses ke internet disebut dengan(mesin yang punya akses ke internet disebut dengan parent)parent)  Cache_peerCache_peer  cache_peercache_peer parent.foo.netparent.foo.net parentparent 31283128 31303130  Parent.foo.net adalah mesin parent yang membuka portParent.foo.net adalah mesin parent yang membuka port pada 3128pada 3128
  • 24. Membuat CacheMembuat Cache  Menggunakan DirectoryMenggunakan Directory  Harus dibangun dulu sebelum digunakanHarus dibangun dulu sebelum digunakan  Ditentukan dalam konfigurasiDitentukan dalam konfigurasi cache_dircache_dir::  Tipe Cache storage file systemTipe Cache storage file system  secara default adalah ufssecara default adalah ufs  Nama directoryNama directory  harus writable oleh squidharus writable oleh squid  UkuranUkuran  ukuran maks dari Cache iniukuran maks dari Cache ini  Jumlah subdirektori Level1Jumlah subdirektori Level1  Jumlah subdirektori level 2Jumlah subdirektori level 2  Ukuran Cache tidak bisa dirubah-rubah secaraUkuran Cache tidak bisa dirubah-rubah secara fleksibel tanpa harus membangun, sehingga cache_dirfleksibel tanpa harus membangun, sehingga cache_dir bisa kita berikan lebih dari satu barisbisa kita berikan lebih dari satu baris  Contoh cache_dir :Contoh cache_dir :  cache_dir ufs /var/spool/squid 100 16 256cache_dir ufs /var/spool/squid 100 16 256
  • 25. Membangun CacheMembangun Cache  Tentukan dulu cache_dir nya, ukuran danTentukan dulu cache_dir nya, ukuran dan lokasinyalokasinya  Jalankan squid dengan options –zJalankan squid dengan options –z  Contoh : /usr/sbin/squid –zContoh : /usr/sbin/squid –z  Proses ini berjalan agak lama karena squid akanProses ini berjalan agak lama karena squid akan membuat direktori yang kosongmembuat direktori yang kosong  Setiap kali kita akan menambah cache_dir kitaSetiap kali kita akan menambah cache_dir kita harus membangun cache_dir tersebut duluharus membangun cache_dir tersebut dulu menggunakan option -zmenggunakan option -z
  • 26. File systemFile system  Ufs: file system default untuk cache storageUfs: file system default untuk cache storage  Aufs : menggunakan Thread untuk menghindariAufs : menggunakan Thread untuk menghindari blocking I/Oblocking I/O  DISKD: menggunakan process yang berbeda untukDISKD: menggunakan process yang berbeda untuk menghindarkan blocking I/O (harus menentukan danmenghindarkan blocking I/O (harus menentukan dan menghidupkan program diskd)menghidupkan program diskd)  Jumlah Subdirektori akan menentukan kecepatanJumlah Subdirektori akan menentukan kecepatan akses squid terhadap cache-nyaakses squid terhadap cache-nya
  • 27. LoggingLogging  Sangat diperlukan untuk menganalisa danSangat diperlukan untuk menganalisa dan memonitor kejadian pada squidmemonitor kejadian pada squid  cache_access_log : melihat URL akses kecache_access_log : melihat URL akses ke proxyproxy  cache_access_log /var/log/squid/access.logcache_access_log /var/log/squid/access.log  cache_log : melihat kejadian pada squidcache_log : melihat kejadian pada squid tergantung dari nilai debug_optionstergantung dari nilai debug_options  cache_log /var/log/squid/cache.logcache_log /var/log/squid/cache.log  Harus dipastikan bahwa file tersebut adalahHarus dipastikan bahwa file tersebut adalah writable oleh squidwritable oleh squid
  • 28. Option LainOption Lain  Setting dns menggunakan optionSetting dns menggunakan option dns_nameservers [IP] [IP]dns_nameservers [IP] [IP]  Contoh: dns_nameservers 10.0.0.1 192.172.0.4Contoh: dns_nameservers 10.0.0.1 192.172.0.4
  • 29. Access Filtering menggunakanAccess Filtering menggunakan ACLACL  ACL : access control listACL : access control list  Format umum :Format umum :  acl aclname acltype string1 ...acl aclname acltype string1 ...  acl aclname acltype "file" ...acl aclname acltype "file" ...  Acl bisa menggunakan string yang ada pada fileAcl bisa menggunakan string yang ada pada file konfigurasi dan juga bisa menggunakan filekonfigurasi dan juga bisa menggunakan file eksternaleksternal  Aclname adalah nama yang diberikan untuk aclAclname adalah nama yang diberikan untuk acl tersebuttersebut  Squid akan membatasi akses berdasarkan namaSquid akan membatasi akses berdasarkan nama aclnyaaclnya
  • 30. ACL TypeACL Type  acl aclname src ip-address/netmask ... (clients IP address)acl aclname src ip-address/netmask ... (clients IP address)  acl aclname src addr1-addr2/netmask ... (range ofacl aclname src addr1-addr2/netmask ... (range of addresses)addresses)  acl aclname dst ip-address/netmask ... (URL host's IPacl aclname dst ip-address/netmask ... (URL host's IP address)address)  acl aclname myip ip-address/netmask ... (local socket IPacl aclname myip ip-address/netmask ... (local socket IP address)address)  acl aclname srcdomain .foo.com ... # reverse lookup, clientacl aclname srcdomain .foo.com ... # reverse lookup, client IPIP  acl aclname dstdomain .foo.com ... # Destination serveracl aclname dstdomain .foo.com ... # Destination server from URLfrom URL  acl aclname srcdom_regex [-i] xxx ... # regex matching clientacl aclname srcdom_regex [-i] xxx ... # regex matching client namename  acl aclname dstdom_regex [-i] xxx ... # regex matchingacl aclname dstdom_regex [-i] xxx ... # regex matching serverserver
  • 31. ACL Type untuk waktuACL Type untuk waktu  acl aclname time [day-abbrevs] [h1:m1-h2:m2]acl aclname time [day-abbrevs] [h1:m1-h2:m2]  S - SundayS - Sunday  M - MondayM - Monday  T - TuesdayT - Tuesday  W - WednesdayW - Wednesday  H - ThursdayH - Thursday  F - FridayF - Friday  A – SaturdayA – Saturday  h1:m1 dan h2:m2 adalah jam dan menit, h1:m1 adalah starth1:m1 dan h2:m2 adalah jam dan menit, h1:m1 adalah start waktu dan h2:m2 adalah waktu selesaiwaktu dan h2:m2 adalah waktu selesai  Contoh : acl yang melambangkan hari senin sampai jumat jamContoh : acl yang melambangkan hari senin sampai jumat jam 9 pagi sampai jam 10 pagi adalah :9 pagi sampai jam 10 pagi adalah :  acl waktuku MTWHF 09:00-10:00acl waktuku MTWHF 09:00-10:00
  • 32. ACL Proxy_authACL Proxy_auth Acl untuk menggunakan authentikasi, waktuAcl untuk menggunakan authentikasi, waktu user berusaha mengakses internetuser berusaha mengakses internet  acl aclname proxy_auth username ...acl aclname proxy_auth username ... Sebagai contoh :Sebagai contoh : * acl userku proxy_auth unyil usrok melan* acl userku proxy_auth unyil usrok melan Untuk menggunakan external authenticationUntuk menggunakan external authentication username diganti dengan “REQUIRED”username diganti dengan “REQUIRED” * acl userku proxy_auth REQUIRED* acl userku proxy_auth REQUIRED
  • 33. Membatasi aksesMembatasi akses  MenggunakanMenggunakan http_accesshttp_access  FormatFormat  http_access ( allow | deny ) (!) aclname aclname …http_access ( allow | deny ) (!) aclname aclname …  http_access akan match jika acl acl yang tergabunghttp_access akan match jika acl acl yang tergabung mempunyai nilai yang memenuhimempunyai nilai yang memenuhi  Squid akan menganggap semua akses akan di denySquid akan menganggap semua akses akan di deny (menggunakan http_access deny all) di baris-baris(menggunakan http_access deny all) di baris-baris akhir setelah aclakhir setelah acl  Agar kita bisa memperbolehkan user yang sesuaiAgar kita bisa memperbolehkan user yang sesuai dengan acl mengakses ke proxy, maka tempatkanlahdengan acl mengakses ke proxy, maka tempatkanlah http_access yang berkaitan dengan acl kita di tempathttp_access yang berkaitan dengan acl kita di tempat sebelum http_access deny allsebelum http_access deny all
  • 34. Contoh membatasi AksesContoh membatasi Akses  acl lab_A src 10.126.10.1/255.255.255.255acl lab_A src 10.126.10.1/255.255.255.255  acl lab_B src 10.126.11.1/255.255.255.255acl lab_B src 10.126.11.1/255.255.255.255  acl lab_C src 10.126.13.0/255.255.255.0acl lab_C src 10.126.13.0/255.255.255.0 Di bagian http_access :Di bagian http_access : http_access allow lab_Ahttp_access allow lab_A http_access allow lab_B waktukuhttp_access allow lab_B waktuku http_access deny all (sudah ada)http_access deny all (sudah ada) Dengan demikian acl yang boleh mengakses adalah Lab_ADengan demikian acl yang boleh mengakses adalah Lab_A dan lab_B, lab_C tidak karena tidak disebutkan padadan lab_B, lab_C tidak karena tidak disebutkan pada http_accesshttp_access
  • 35. Web FilteringWeb Filtering  Menggunakan acl dstdom_regexMenggunakan acl dstdom_regex  Gunakan options –i untuk menjadikannyaGunakan options –i untuk menjadikannya CASE-INSENSITIVE (huruf besar huruf kecilCASE-INSENSITIVE (huruf besar huruf kecil sama saja)sama saja)  Untuk memfilter websiteUntuk memfilter website www.detik.comwww.detik.com  acl web_terlarang url_regex –iacl web_terlarang url_regex –i www.detik.comwww.detik.com  Acl web_terlarang url_regex –iAcl web_terlarang url_regex –i www.jerapah.comwww.jerapah.com
  • 36. Implementasi Web FilteringImplementasi Web Filtering  acl web_terlarang dstdom_regex –iacl web_terlarang dstdom_regex –i www.detik.comwww.detik.com  Acl web_terlarang dstdom_regex –iAcl web_terlarang dstdom_regex –i www.jerapah.comwww.jerapah.com  acl urlbanner url_regex –i images.slashdot.org/banneracl urlbanner url_regex –i images.slashdot.org/banner  http_access deny web_terlaranghttp_access deny web_terlarang  http_access allow LabA LabBhttp_access allow LabA LabB  http_access deny allhttp_access deny all  http_access deny urlbannerhttp_access deny urlbanner
  • 37. AuthentikasiAuthentikasi  Menggunakan acl proxy_authMenggunakan acl proxy_auth  Menggunakan option auth_paramMenggunakan option auth_param  auth_param skema parameter [setting]auth_param skema parameter [setting]  Skema authentikasi antara lain adalah:Skema authentikasi antara lain adalah:  Skema terdapat di /usr/lib/squid, contoh basic schemaSkema terdapat di /usr/lib/squid, contoh basic schema ::  auth_param basic children 5auth_param basic children 5  auth_param basic realm Squid proxy-caching web serverauth_param basic realm Squid proxy-caching web server  auth_param basic program /usr/lib/squid/ncsa_authauth_param basic program /usr/lib/squid/ncsa_auth /etc/shadow/etc/shadow
  • 38. Filter dari FileFilter dari File  acl sex url_regex "/etc/squid/sex"acl sex url_regex "/etc/squid/sex"  acl notsex url_regex "/etc/squid/notsex"acl notsex url_regex "/etc/squid/notsex"  http_access allow notsexhttp_access allow notsex  http_access deny sexhttp_access deny sex
  • 39. Filter dari File…Filter dari File…  buatlah filebuatlah file  /etc/squid/sex/etc/squid/sex  /etc/squid/notsex/etc/squid/notsex contoh isi /etc/squid/notsex:contoh isi /etc/squid/notsex: .*.msexchange.*.*.msexchange.* .*.msexcel.*.*.msexcel.* *freetown.**freetown.* *geek-girls.**geek-girls.* *scsext.**scsext.* contoh isi /etc/squid/sex:contoh isi /etc/squid/sex: www.indonona.comwww.indonona.com www.extrajos.comwww.extrajos.com www.bopekindo.comwww.bopekindo.com
  • 40. Management BandwidthManagement Bandwidth Opsi-Opsi yang digunakan adalahOpsi-Opsi yang digunakan adalah  menentukan jumlah aturan yang dipakaimenentukan jumlah aturan yang dipakai  delay_pool pooldelay_pool pool  Menentukan kelas masing-masing poolMenentukan kelas masing-masing pool  delay_class pool kelasdelay_class pool kelas  Menentukan parameter masing-masing poolMenentukan parameter masing-masing pool sesuai kelas yang digunakansesuai kelas yang digunakan  delay_parameters pool parameterdelay_parameters pool parameter  Menentukan hak akses penggunaan bandwidthMenentukan hak akses penggunaan bandwidth  delay_access pool allow | deny [!]nama_acldelay_access pool allow | deny [!]nama_acl
  • 41. Konfigurasi Transparant ProxyKonfigurasi Transparant Proxy  /etc/squid/squid.conf/etc/squid/squid.conf http_port 127.0.0.1:3128 http_port 10.0.0.1:3128http_port 127.0.0.1:3128 http_port 10.0.0.1:3128 visible_hostname hostname cache_mgr admin@emailvisible_hostname hostname cache_mgr admin@email httpd_accel_host virtual httpd_accel_port 80httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy onhttpd_accel_with_proxy on httpd_accel_uses_host_header on acl lan srchttpd_accel_uses_host_header on acl lan src 10.0.0.0/8 acl localhost src 127.0.0.1 acl all src10.0.0.0/8 acl localhost src 127.0.0.1 acl all src 0.0.0.0 http_access allow lan http_access allow0.0.0.0 http_access allow lan http_access allow localhost http_access deny all redirect_programlocalhost http_access deny all redirect_program /usr/lib/squid/bannerfilter/redirector.pl/usr/lib/squid/bannerfilter/redirector.pl  Redirect All outgoingRedirect All outgoing iptables -t nat -A PREROUTING -i ${LAN_INT} -p tcpiptables -t nat -A PREROUTING -i ${LAN_INT} -p tcp --dport 80 -j REDIRECT --to-port 3128--dport 80 -j REDIRECT --to-port 3128
  • 42. Proxy Server Layer NetworkProxy Server Layer Network  Salah satu contoh proxy yang bekerja pada layer jaringan adalah aplikasi firewallSalah satu contoh proxy yang bekerja pada layer jaringan adalah aplikasi firewall yang menjalankan Network Address Translation (NAT).yang menjalankan Network Address Translation (NAT).  NAT selalu digunakan pada router atau gateway yang menjalankan aplikasiNAT selalu digunakan pada router atau gateway yang menjalankan aplikasi firewall. NAT digunakan untuk mengubah alamat IP paket TCP/IP, biasanya darifirewall. NAT digunakan untuk mengubah alamat IP paket TCP/IP, biasanya dari alamat IP jaringan lokal ke alamat IP publik, yang dapat dikenali di internet.alamat IP jaringan lokal ke alamat IP publik, yang dapat dikenali di internet.  System NAT :System NAT :  Pada suatu jaringan lokal (local Area Network), setiap komputer didalamnyaPada suatu jaringan lokal (local Area Network), setiap komputer didalamnya menggunakan alamat IP lokal.menggunakan alamat IP lokal.  Ketika komputer pada LAN mengakses layanan di internet, paket-paket IP yang berasalKetika komputer pada LAN mengakses layanan di internet, paket-paket IP yang berasal dari jaringan lokal harus diganti alamat sumbernya dengan satu alamat IP publik yangdari jaringan lokal harus diganti alamat sumbernya dengan satu alamat IP publik yang bisa diterima di internet.bisa diterima di internet.  Disinilah proses NAT dilakukan oleh aplikasi firewall di Gateway, sehingga suatu serverDisinilah proses NAT dilakukan oleh aplikasi firewall di Gateway, sehingga suatu server di internet yang menerima permintaan dari jaringan lokal akan mengenali paket datangdi internet yang menerima permintaan dari jaringan lokal akan mengenali paket datang menggunakan alamat IP gateway, yang biasanya mempunyai satu atau lebih alamat IPmenggunakan alamat IP gateway, yang biasanya mempunyai satu atau lebih alamat IP publik.publik.  Pada proses NAT ini, aplikasi firewall di gateway menyimpan satu daftar atau tabelPada proses NAT ini, aplikasi firewall di gateway menyimpan satu daftar atau tabel translasi alamat berikut catatan sesi koneksi TCP/IP dari komputer-komputer lokaltranslasi alamat berikut catatan sesi koneksi TCP/IP dari komputer-komputer lokal yang menggunakannya, sehingga proses pembaliknya bisa dilakukan, yaitu ketikayang menggunakannya, sehingga proses pembaliknya bisa dilakukan, yaitu ketika paket jawaban dari internet datang, gateway dapat mengetahui tujuan sebenarnyapaket jawaban dari internet datang, gateway dapat mengetahui tujuan sebenarnya dari paket ini, melakukan proses pembaliknya (de-NAT) dan kemudiandari paket ini, melakukan proses pembaliknya (de-NAT) dan kemudian menyampaikan paket tersebut ke komputer lokal tujuan yang sebenarnya.menyampaikan paket tersebut ke komputer lokal tujuan yang sebenarnya.
  • 43. Proxy Server Level CircuitProxy Server Level Circuit  Proxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagaiProxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagai “sambungan” antara layer aplikasi dan layer transport, melakukan“sambungan” antara layer aplikasi dan layer transport, melakukan pemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layananpemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layanan atau sebaliknya.atau sebaliknya.  Proxy ini bertindak sebagai perantara, namun juga membangun suatuProxy ini bertindak sebagai perantara, namun juga membangun suatu sirkuit virtual diantara layer aplikasi dan layer transport.sirkuit virtual diantara layer aplikasi dan layer transport.  Dengan proxy level sirkuit, aplikasi klien pada pengguna tidak perluDengan proxy level sirkuit, aplikasi klien pada pengguna tidak perlu dikonfigurasi untuk setiap jenis aplikasi.dikonfigurasi untuk setiap jenis aplikasi.  Sebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali sajaSebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali saja diperlukan untuk menginstall WinSock Proxy pada komputer pengguna,diperlukan untuk menginstall WinSock Proxy pada komputer pengguna, setelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atausetelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atau telnet dapat langsung menggunakannya seperti bila terhubung langsung ketelnet dapat langsung menggunakannya seperti bila terhubung langsung ke internet.internet.  Kelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dariKelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dari paket yang dikirimkan atau diterima oleh aplikasi-aplikasi yangpaket yang dikirimkan atau diterima oleh aplikasi-aplikasi yang menggunakannya.menggunakannya.
  • 46.  Port yang digunakan 8080 yang melewati IP 192.168.0.1Port yang digunakan 8080 yang melewati IP 192.168.0.1  Cache_peer proxy.eepis-its.eduCache_peer proxy.eepis-its.edu  Client1 akses pada hari Senin – Jum’at 24 jamClient1 akses pada hari Senin – Jum’at 24 jam  Client 2 akses pada jam kerje Senin – Jum’at 08:00-18:00Client 2 akses pada jam kerje Senin – Jum’at 08:00-18:00  Client 3 akses pada hari sabtu dan minggu 24 jamClient 3 akses pada hari sabtu dan minggu 24 jam  User Authentication menggunakan mysql_authUser Authentication menggunakan mysql_auth  Beberapa situs-situs terlarang diblokBeberapa situs-situs terlarang diblok  Banwidth overall yang digunakan adalah 256 kbps, per-Banwidth overall yang digunakan adalah 256 kbps, per- network 64 kbps, sedangkan per-user 2 kbps jika digunakannetwork 64 kbps, sedangkan per-user 2 kbps jika digunakan untuk mendownload file seperti .exe, .mp3, .avi, .iso, dll,untuk mendownload file seperti .exe, .mp3, .avi, .iso, dll, jika tidah maka batasan yang dipakai adalah mengikutijika tidah maka batasan yang dipakai adalah mengikuti aturan per-networkaturan per-network
  • 47. Konfigurasi PortKonfigurasi Port  Squid berjalan pada IP 192.168.0.1 dan port 8080Squid berjalan pada IP 192.168.0.1 dan port 8080  http_port 192.168.0.1:8080http_port 192.168.0.1:8080  icp_port 3130icp_port 3130  Cache_peerCache_peer  cache_peer proxy.eepis-its.edu parent 3128 3130cache_peer proxy.eepis-its.edu parent 3128 3130  Karena untuk mengakses proxy.eepis-its.edu harus menggunakanKarena untuk mengakses proxy.eepis-its.edu harus menggunakan authentikasi maka saya perlu menambahkan :authentikasi maka saya perlu menambahkan :  login=share@student.eepis-its.edu:sharelogin=share@student.eepis-its.edu:share  share@student.eepis-its.edu=usernameshare@student.eepis-its.edu=username  share = passwordshare = password
  • 48. Membuat CacheMembuat Cache  Uncoment pada baris-baris opsi berikut:Uncoment pada baris-baris opsi berikut:  cache_dir ufs /var/spool/squid 1000 16 256cache_dir ufs /var/spool/squid 1000 16 256  access_log /var/log/squid/access.log squidaccess_log /var/log/squid/access.log squid  cache_log /var/log/squid/cache.logcache_log /var/log/squid/cache.log  cache_store_log /var/log/squid/store.logcache_store_log /var/log/squid/store.log  pid_filename /var/run/squid.pidpid_filename /var/run/squid.pid
  • 49. Baris Authentikasi UserBaris Authentikasi User Masukkan opsi-opsi berikut untuk authentikasi userMasukkan opsi-opsi berikut untuk authentikasi user  auth_param basic program /usr/bin/mysql_authauth_param basic program /usr/bin/mysql_auth  auth_param basic realm Squid proxy-caching webauth_param basic realm Squid proxy-caching web serverserver  auth_param basic children 5auth_param basic children 5  auth_param basic credentialsttl 2 hoursauth_param basic credentialsttl 2 hours  auth_param basic casesensitive offauth_param basic casesensitive off  authenticate_ip_ttl 2 hoursauthenticate_ip_ttl 2 hours
  • 50. Konfigurasi ACLKonfigurasi ACL  AuthentikasiAuthentikasi  acl butuhpasswd proxy_auth REQUIREDacl butuhpasswd proxy_auth REQUIRED  Filter situs secara eksternalFilter situs secara eksternal  acl domainterlarang dstdomain “/etc/squid/domain-terlarang.txt”acl domainterlarang dstdomain “/etc/squid/domain-terlarang.txt”  acl kataterlarang url_regex -i "/etc/squid/kata-terlarang.txt"acl kataterlarang url_regex -i "/etc/squid/kata-terlarang.txt"  acl ipterlarang dst "/etc/squid/ip-terlarang.txt“acl ipterlarang dst "/etc/squid/ip-terlarang.txt“  acl nonterlarang url_regex -i "/etc/squid/non-terlarang.txt“acl nonterlarang url_regex -i "/etc/squid/non-terlarang.txt“  Filter Ip yang boleh akses internetFilter Ip yang boleh akses internet  acl lan src 192.168.0.2-192.168.0.254/255.255.255.255acl lan src 192.168.0.2-192.168.0.254/255.255.255.255  acl client1 src 192.168.0.20/255.255.255.255acl client1 src 192.168.0.20/255.255.255.255  acl client2 src 192.168.0.61/255.255.255.255acl client2 src 192.168.0.61/255.255.255.255  acl client3 src 192.168.0.101/255.255.255.255acl client3 src 192.168.0.101/255.255.255.255
  • 51. Konfigurasi Acl ….Konfigurasi Acl ….  Filter file yang di downloadFilter file yang di download  acl download url_regex -i ftp .exe$ .mp3$ .mp4$ .tar.gz$ .gz$ .tar.bz2$ .rpm$ .zip$acl download url_regex -i ftp .exe$ .mp3$ .mp4$ .tar.gz$ .gz$ .tar.bz2$ .rpm$ .zip$ .rar$.rar$  acl download url_regex -i .avi$ .mpg$ .mpeg$ .rm$ .iso$ .wav$ .mov$ .dat$acl download url_regex -i .avi$ .mpg$ .mpeg$ .rm$ .iso$ .wav$ .mov$ .dat$ .mpe$ .mid$.mpe$ .mid$  acl download url_regex -i .midi$ .rmi$ .wma$ .wmv$ .ogg$ .ogm$ .m1v$ .mp2$acl download url_regex -i .midi$ .rmi$ .wma$ .wmv$ .ogg$ .ogm$ .m1v$ .mp2$ .wax$.wax$  acl download url_regex -i .m3u$ .asx$ .wpl$ .wmx$ .dvr-ms$ .snd$ .au$ .aif$acl download url_regex -i .m3u$ .asx$ .wpl$ .wmx$ .dvr-ms$ .snd$ .au$ .aif$ .asf$ .m2v$.asf$ .m2v$  acl download url_regex -i .m2p$ .ts$ .tp$ .trp$ .div$ .divx$ .mod$ .vob$ .aob$ .dts$acl download url_regex -i .m2p$ .ts$ .tp$ .trp$ .div$ .divx$ .mod$ .vob$ .aob$ .dts$  acl download url_regex -i .ac3$ .cda$ .vro$ .deb$acl download url_regex -i .ac3$ .cda$ .vro$ .deb$  Filter waktu akses internetFilter waktu akses internet  acl hari time M T W H Facl hari time M T W H F  acl jam_kerja time M T W H F 08:00-18:00acl jam_kerja time M T W H F 08:00-18:00  acl sabtuminggu time A Sacl sabtuminggu time A S
  • 52. Konfigurasi http_accessKonfigurasi http_access  Aturan akses situs-situs terlarangAturan akses situs-situs terlarang  http_access deny domainterlaranghttp_access deny domainterlarang  http_access deny kataterlaranghttp_access deny kataterlarang  http_access deny ipterlaranghttp_access deny ipterlarang  http_access allow nonterlaranghttp_access allow nonterlarang  Aturan user yang bisa akses internetAturan user yang bisa akses internet  http_access deny lanhttp_access deny lan  http_access deny client1 !harihttp_access deny client1 !hari  http_access deny client2 !jam_kerjahttp_access deny client2 !jam_kerja  http_access deny client3 !sabtumingguhttp_access deny client3 !sabtuminggu  http_access allow managerhttp_access allow manager  http_access allow localhosthttp_access allow localhost  http_access deny !Safe_portshttp_access deny !Safe_ports  http_access deny CONNECT !SSL_portshttp_access deny CONNECT !SSL_ports
  • 53.  Aturan penggunaan autentikasi userAturan penggunaan autentikasi user  http_access allow butuhpasswdhttp_access allow butuhpasswd  Aturan yang terakhir ini adalah untuk membatasiAturan yang terakhir ini adalah untuk membatasi selain user yang telah didefinisikan di atas tidakselain user yang telah didefinisikan di atas tidak bisa mengakses dan diaksesbisa mengakses dan diakses  http_access deny allhttp_access deny all  http_reply_access allow allhttp_reply_access allow all  icp_access allow allicp_access allow all
  • 54. Konfigurasi AdministratifKonfigurasi Administratif  cache_mgr anwar.zainuddin@gmail.comcache_mgr anwar.zainuddin@gmail.com  cache_effective_user proxycache_effective_user proxy  cache_effective_group proxycache_effective_group proxy  visible_hostname proxy.qotrun-nada.eduvisible_hostname proxy.qotrun-nada.edu
  • 55. Konfigurasi bandwidthKonfigurasi bandwidth  delay_pools 2delay_pools 2  delay_class 1 3delay_class 1 3  delay_parameters 1 32000/32000 8000/8000 100/100delay_parameters 1 32000/32000 8000/8000 100/100  delay_access 1 allow client1 downloaddelay_access 1 allow client1 download  delay_access 1 allow client2 downloaddelay_access 1 allow client2 download  delay_access 1 allow client3 downloaddelay_access 1 allow client3 download  delay_access 1 deny alldelay_access 1 deny all  delay_class 2 2delay_class 2 2  delay_parameters 2 32000/32000 8000/8000delay_parameters 2 32000/32000 8000/8000  delay_access 2 allow client1delay_access 2 allow client1  delay_access 2 allow client2delay_access 2 allow client2  delay_access 2 allow client3delay_access 2 allow client3  delay_access 2 deny alldelay_access 2 deny all
  • 56. Konfigurasi mysql_authKonfigurasi mysql_auth Konfigurasi file MakefileKonfigurasi file Makefile CC = gccCC = gcc CFLAGS = -I/usr/include/mysql -L/usr/lib/mysqlCFLAGS = -I/usr/include/mysql -L/usr/lib/mysql LDFLAGS = -lmysqlclientLDFLAGS = -lmysqlclient SRC = srcSRC = src OBJS = $(SRC)/mysql_auth.o $(SRC)/confparser.o $(SRC)/mypasswd.oOBJS = $(SRC)/mysql_auth.o $(SRC)/confparser.o $(SRC)/mypasswd.o INSTALL = /usr/bin/installINSTALL = /usr/bin/install CONF = $(SRC)/mysql_auth.confCONF = $(SRC)/mysql_auth.conf all : mysql_auth mypasswdall : mysql_auth mypasswd clean:clean: rm -rf src/*.o *.o mysql_auth mypasswdrm -rf src/*.o *.o mysql_auth mypasswd mysql_auth: $(OBJS)mysql_auth: $(OBJS) $(CC) -o $@ $(SRC)/mysql_auth.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)$(CC) -o $@ $(SRC)/mysql_auth.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS) mypasswd: $(OBJS)mypasswd: $(OBJS) $(CC) -o $@ $(SRC)/mypasswd.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)$(CC) -o $@ $(SRC)/mypasswd.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS) install:install: $(INSTALL) -o proxy -g proxy -m 755 mysql_auth /usr/bin/mysql_auth$(INSTALL) -o proxy -g proxy -m 755 mysql_auth /usr/bin/mysql_auth $(INSTALL) -o proxy -g proxy -m 700 mypasswd /usr/bin/mypasswd$(INSTALL) -o proxy -g proxy -m 700 mypasswd /usr/bin/mypasswd $(INSTALL) -o proxy -g proxy -m 600 $(CONF) /etc/mysql_auth.conf$(INSTALL) -o proxy -g proxy -m 600 $(CONF) /etc/mysql_auth.conf #$(INSTALL) -o nobody -g nogroup -m 600 $(CONF)#$(INSTALL) -o nobody -g nogroup -m 600 $(CONF) /usr/local/squid/etc/mysql_auth.conf.default/usr/local/squid/etc/mysql_auth.conf.default
  • 57.  Konfigurasi define.hKonfigurasi define.h  # Edit pada bagian berikut:# Edit pada bagian berikut:  #define CONFIG_FILE#define CONFIG_FILE "/usr/local/squid/etc/mysql_auth.conf" menjadi"/usr/local/squid/etc/mysql_auth.conf" menjadi  #define CONFIG_FILE "/etc/mysql_auth.conf“#define CONFIG_FILE "/etc/mysql_auth.conf“  Konfigurasi file mysql_auth.confKonfigurasi file mysql_auth.conf  #Edit pada bagian berikut:#Edit pada bagian berikut:  mysqld_socketmysqld_socket /tmp/mysqld.sock/tmp/mysqld.sock menjadimenjadi  mysqld_socketmysqld_socket /var/run/mysqld/mysqld.sock/var/run/mysqld/mysqld.sock
  • 58.  Compile lalu installCompile lalu install  Pindah ke direktori mysql_authPindah ke direktori mysql_auth  $ make$ make  $ su -c “make install”$ su -c “make install”  Pindah ke subdirektori sripts untuk menambahPindah ke subdirektori sripts untuk menambah databasedatabase  $ cd scripts/$ cd scripts/  $ mysql -u root -p < create_script$ mysql -u root -p < create_script  masukkan password mysqlmasukkan password mysql  Tambahkan username dan passwordTambahkan username dan password
  • 59. Konfigurasi AkhirKonfigurasi Akhir  Setelah konfigurasi selesai, simpan fileSetelah konfigurasi selesai, simpan file konfigurasikonfigurasi  Stop squid lalu jalankan perintah /usr/bin/squid –zStop squid lalu jalankan perintah /usr/bin/squid –z untuk membuat direktori cacheuntuk membuat direktori cache  Buat file domain-terlarang.txt, kata-terlarang.txt, ip-Buat file domain-terlarang.txt, kata-terlarang.txt, ip- terlarang.txt, non-terlarang.txt pada direktoriterlarang.txt, non-terlarang.txt pada direktori /etc/squid/etc/squid  cd /etc/squidcd /etc/squid  touch domain-terlarang.txt kata-terlarang.txt ip-touch domain-terlarang.txt kata-terlarang.txt ip- terlarang.txt non-terlarang.txtterlarang.txt non-terlarang.txt  Masukkan nama domain, kata-kata serta ip yangMasukkan nama domain, kata-kata serta ip yang akan diblok pada masing-masing file.akan diblok pada masing-masing file.
  • 60. DAFTAR PUSTAKADAFTAR PUSTAKA  Wagito, 2005, Jaringan Komputer Teori danWagito, 2005, Jaringan Komputer Teori dan Implementasi Berbasis Linux, Penerbit Gava Media,Implementasi Berbasis Linux, Penerbit Gava Media, JogjakartaJogjakarta  Wahana Komputer, 2006, Pengelolaan JaringanWahana Komputer, 2006, Pengelolaan Jaringan Komputer di Linux, Penerbit Salemba Infotek, JakartaKomputer di Linux, Penerbit Salemba Infotek, Jakarta  http://lecturer.eepis-its.edu/http://lecturer.eepis-its.edu/  http://ilmukomputer.com/http://ilmukomputer.com/  http://people.arxnet.hu/airwain/mysql_auth/mysql_auth-0.8.http://people.arxnet.hu/airwain/mysql_auth/mysql_auth-0.8.  Ahmad Aulia, Pembuatan Web Management UntukAhmad Aulia, Pembuatan Web Management Untuk Konfigurasi Proxy Berbasis Squid, PENS-ITSKonfigurasi Proxy Berbasis Squid, PENS-ITS  Dian Ardiyansyah, Teknologi Jaringan Komputer,Dian Ardiyansyah, Teknologi Jaringan Komputer, http://ilmukomputer.com/http://ilmukomputer.com/  http://www.debian-administration.org/http://www.debian-administration.org/
  • 61. Workshop : Membuat Proxy ServerWorkshop : Membuat Proxy Server Sederhana (Semua akses diperbolehkan)Sederhana (Semua akses diperbolehkan)  Edit file /etc/squid/squid.confEdit file /etc/squid/squid.conf  Isilah http_port dengan 8080Isilah http_port dengan 8080  Gunakan parent yang ada pada saat iniGunakan parent yang ada pada saat ini  cache_peercache_peer ip_parentip_parent parentparent port_parentport_parent port_parent_ICPport_parent_ICP  Isilah cache_dir 500 megabytesIsilah cache_dir 500 megabytes  cache_dir ufs /var/spool/squid 500 16 256cache_dir ufs /var/spool/squid 500 16 256  Isikan cache_access_log dan cache_log untukIsikan cache_access_log dan cache_log untuk memonitor URLmemonitor URL  cache_access_log /var/log/squid/access.logcache_access_log /var/log/squid/access.log  cache_log /var/log/squid/cache.logcache_log /var/log/squid/cache.log  Isikan dns_server yang akan digunakanIsikan dns_server yang akan digunakan  dns_nameservers ip_addressdns_nameservers ip_address
  • 62. Workshop 1: Membuat Proxy ServerWorkshop 1: Membuat Proxy Server Sederhana (Semua akses diperbolehkanSederhana (Semua akses diperbolehkan  Karena semua akses diperbolehkan, maka acl tidak diperlukanKarena semua akses diperbolehkan, maka acl tidak diperlukan disinidisini  Tambahkan barisTambahkan baris  http_access allow all di bagian paling bawah dari sekumpulan tulisanhttp_access allow all di bagian paling bawah dari sekumpulan tulisan http_accesshttp_access  Rubahlah visible_hostname dengan nama dari mesin andaRubahlah visible_hostname dengan nama dari mesin anda  Keluar dari squid.confKeluar dari squid.conf  Jika cache_dir belum ada, buatlah dulu direktorinyaJika cache_dir belum ada, buatlah dulu direktorinya  mkdir /var/spool/squidmkdir /var/spool/squid  Chmod a+rw /var/spool/squidChmod a+rw /var/spool/squid  JIka cache_dir belum ada, buatlah dulu denganJIka cache_dir belum ada, buatlah dulu dengan  /usr/sbin/squid -z/usr/sbin/squid -z  Untuk memulai squid denganUntuk memulai squid dengan  /usr/sbin/squid –sYD/usr/sbin/squid –sYD
  • 63. UjicobaUjicoba  Bukalah browser arahkan proxy ke proxy yangBukalah browser arahkan proxy ke proxy yang barusan anda konfigurasi, dan coba bukabarusan anda konfigurasi, dan coba buka internetinternet
  • 64. Workshop 2Workshop 2  Buatlah proxy yang hanya boleh diakses oleh user-Buatlah proxy yang hanya boleh diakses oleh user- user yang terdaftar dalam system sajauser yang terdaftar dalam system saja  Ujilah proxy andaUjilah proxy anda  Buatlah proxy yang hanya boleh diakses pada hariBuatlah proxy yang hanya boleh diakses pada hari senin, selasa, dan rabu antara jam 07 pagi hingga jamsenin, selasa, dan rabu antara jam 07 pagi hingga jam 5 sore,lengkapi dengan authentikasi5 sore,lengkapi dengan authentikasi  Ujilah proxy andaUjilah proxy anda  Berikan tambahan kemampuan memfilter webBerikan tambahan kemampuan memfilter web www.detik.comwww.detik.com dandan www.jawapos.comwww.jawapos.com  Ujilah proxy andaUjilah proxy anda
  • 65. ReferensiReferensi  http://www.te.ugm.ac.id/~risanuri/jarkom/proxy.dohttp://www.te.ugm.ac.id/~risanuri/jarkom/proxy.do  onno.vlsm.org/v10/onno-ind-2/network/onno.vlsm.org/v10/onno-ind-2/network/ teknik-menangkal-situs-porno-di-kantor-teknik-menangkal-situs-porno-di-kantor- warnet-3-2002.rtfwarnet-3-2002.rtf  mojora.wordpress.com/2006/ 08/04/memfilter-mojora.wordpress.com/2006/ 08/04/memfilter- web-regex-lagi-men/web-regex-lagi-men/  Materi Training Network Administration , IT -Materi Training Network Administration , IT - PENS – ITS 2006PENS – ITS 2006