際際滷

際際滷Share a Scribd company logo
Proxy Server
KONSEP DASAR
Proxy merupakan pihak ketiga yang berdiri
ditengah-tengah antara kedua pihak yang saling
berhubungan dan berfungsi sebagai perantara
 Secara prinsip pihak pertama dan pihak kedua
tidak secara langsung berhubungan, akan tetapi
masing-masing berhubungan dengan perantara,
yaitu proxy
Ilustrasi






Pada gambar di atas client1, client2, client3
disebut sebagai pihak pertama
Sedangkan yang menjadi pihak kedua adalah
jaringan internet
Sebelum keduanya saling berhubungan,
mereka harus melewati proxy server
Fungsi Proxy









Connection Sharing,
Filtering,
 Filter Situs-Situs Terlarang,
 Filter Pengguna Internet,
Caching,
Management Users Authentication,
Management Waktu Akses Internet,
Management Bandwidth,
dst
Connection Sharing








Konsep dasar, pengguna tidak langsung
berhubungan dengan jaringan luar atau internet,
tetapi harus melewati suatu gateway, yang
bertindak sebagai batas antara jaringan lokal dan
jaringan luar.
Gateway ini sangat penting, karena jaringan lokal
harus dapat dilindungi dengan baik dari bahaya
yang mungkin berasal dari internet, dan hal
tersebut akan sulit dilakukan bila tidak ada garis
batas yang jelas jaringan lokal dan internet.
Gateway juga bertindak sebagai titik dimana
sejumlah koneksi dari pengguna lokal akan
terhubung kepadanya, dan suatu koneksi ke
jaringan luar juga terhubung kepadanya.
Dengan demikian, koneksi dari jaringan lokal ke
internet akan menggunakan sambungan yang
Filtering


Filter Situs-Situs Terlarang




Konsepnya adalah jika ada client yang ingin
mengakses situs-situs yang sudah difilter oleh proxy
server maka akses akan gagal.

Filter Pengguna Internet
Pengguna Internet sudah didefinisikan di
konfigurasi proxy
 Pendefinisan yang digunakan adalah dengan
menggunakan IP Address yang digunakan client
 Proxy juga bisa mendefinisikan beberapa IP yang
tidak bisa akses internet
Caching
Proxy server memiliki mekanisme
penyimpanan obyek-obyek yang sudah
pernah diminta dari server-server di internet
 Proxy server yang melakukan proses diatas
biasa disebut cache server
 Mekanisme caching akan menyimpan obyekobyek yang merupakan hasil permintaan dari
dari para pengguna, yang didapat dari
internet.
Mekanisme Caching
Permintaan dari
pengguna web
browser, random dan
tidak teratur

Permintaan dari
proxy/cache server,
terurut dan teratur

Pengguna jaringan lokal

switch
A

B

C

D

E

F

G

Firewall/router

H
SELECT ED
ON-LINE

Data yang diberikan
oleh cache server
ke web browser

Web Proxy/cache
server

Data dari internet, ketika
diminta, akan disimpan
dalam cache

internet
Caching 
Dengan demikian, bila suatu saat ada
pengguna yang meminta suatu layanan ke
internet yang mengandung obyek-obyek yang
sama dengan yang sudah pernah diminta
sebelumnya, yaitu yang sudah ada dalam
cache, maka proxy server akan dapat
langsung memberikan obyek dari cache yang
diminta kepada pengguna, tanpa harus
meminta ulang ke server aslinya di internet.
 Bila permintaan tersebut tidak dapat
ditemukan dalam cache di proxy server, baru
kemudian proxy server meneruskan atau
Management Users
Authentication
Konsep
 Membatasi akses internet menggunakan username
dan password setiap kali ingin mengakses internet,
 Jika username dan password yang dimasukkan
benar, maka client tersebut bisa mengakses
internet,
 Jika username dan password yang dimasukkan
salah, maka client tersebut tidak bisa mengakses
internet.
Management Waktu Akses
Internet
Akses internet hanya bisa dilakukan pada waktuwaktu tertentu
 Waktu akses internet berdasarkan hari-hari dan
jam-jam tertentu
 Keuntungan: mengoptimalkan penggunaan
bandwidth
Management Bandwidth
Bandwith adalah kecepatan transmisi dalam sistem
komunikasi data, dihitung dalam satuan bit / detik
(bps - bit per second).
 Management bandwidth pada proxy dapat
dilakukan pada penggunaan bandwidth pada
network atau masing-masing client.
 Management bandwidth yang baik akan
mengoptimalkan client untuk akses ke jaringan
internet
Squid Proxy-Server
Squid merupakan software proxy yang sekarang
ini banyak digunakan
 Squid sudah termasuk di dalam distro Debian
DNU/Linux
 Instalasi pada Debian digunakan perintah berikut:




$ apt-get install squid
Transparent Proxy






Salah satu kompleksitas dari proxy pada level aplikasi adalah
bahwa pada sisi pengguna harus dilakukan konfigurasi yang
spesifik untuk suatu proxy tertentu agar bisa menggunakan
layanan dari suatu proxy server
Agar pengguna tidak harus melakukan konfigurasi khusus,
kita bisa mengkonfigurasi proxy/cache server agar berjalan
secara benar-benar transparan terhadap pengguna (transparent
proxy).
Transparent Proxy memerlukan bantuan dan konfigurasi
aplikasi firewall (yang bekerja pada layer network) untuk bisa
membuat transparent proxy yang bekerja pada layer aplikasi
Cara Kerja Transparent Proxy






Pengguna benar-benar tidak mengetahui tentang keberadaan
proxy ini, dan apapun konfigurasi pada sisi pengguna, selama
proxy server ini berada pada jalur jaringan yang pasti dilalui
oleh pengguna untuk menuju ke internet, maka pengguna pasti
dengan sendirinya akan menggunakan proxy/cache ini.
Cara membuat transparent proxy adalah dengan membelokkan
arah (redirecting) dari paket-paket untuk suatu aplikasi
tertentu, dengan menggunakan satu atau lebih aturan pada
firewall/router.
Prinsipnya setiap aplikasi berbasis TCP akan menggunakan
salah satu port yang tersedia, dan firewall membelokkan paket
yang menuju ke port layanan tertentu, ke arah port dari proxy
yang bersesuaian
Cara Kerja Transparent Proxy 






Sebagai Contoh : Pada saat klient membuka hubungan HTTP
(port 80) dengan suatu web server, firewall pada router yang
menerima segera mengenali bahwa ada paket data yang
berasal dari klien dengan nomor port 80.
Misal kita juga mempunyai satu HTTP proxy server yang
berjalan pada port 3130.
Pada Firewall router kita buat satu aturan yang menyatakan
bahwa setiap paket yang datang dari jaringan lokal menuju ke
port 80 harus dibelokkan ke arah alamat HTTP proxy server
port 3130. Akibatnya, semua permintaan web dari pengguna
akan masuk dan diwakili oleh HTTP proxy server diatas.
Cara Kerja Transparent Proxy 

/sbin/iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80
-j REDIRECT --to-port 8080
Installasi dan Konfigurasi
Squid Proxy Server
Installasi Squid Proxy


Apt-get install squid
Konfigurasi Dasar



Edit file : /etc/squid/squid.conf
Konfigurasi Dasar








http_port
Cache_peer
cache_dir
cache_access_log
cache_log

Konfigurasi Tambahan




DNS Setting
Access List
Filtering
http_port


http_port  menentukan squid akan berjalan
di port berapa atau akan berjalan di Ip berapa
dan port berapa





Contoh :
http_port 10.252.105.21:8080 (jalan di IP
10.252.105.21 di port 8080)
http_port 8080 (jalan di sembarang IP di port
8080)
Cache_peer






Cache_peer adalah metode squid dalam melakukan
hirarki akses, squid memungkinkan dirinya untuk
bekerjasama dengan mesin proxy yang lain
Cache_peer sangat berguna bagi mesin yang tidak
punya koneksi langsung ke internet tapi bisa
mengakses ke suatu proxy yang konek ke internet
(mesin yang punya akses ke internet disebut dengan
parent)
Cache_peer



cache_peer parent.foo.net parent 3128 3130
Parent.foo.net adalah mesin parent yang membuka port
pada 3128
Membuat Cache




Menggunakan Directory
Harus dibangun dulu sebelum digunakan
Ditentukan dalam konfigurasi cache_dir:










Tipe Cache storage file system  secara default adalah ufs
Nama directory  harus writable oleh squid
Ukuran  ukuran maks dari Cache ini
Jumlah subdirektori Level1
Jumlah subdirektori level 2

Ukuran Cache tidak bisa dirubah-rubah secara
fleksibel tanpa harus membangun, sehingga cache_dir
bisa kita berikan lebih dari satu baris
Contoh cache_dir :


cache_dir ufs /var/spool/squid 100 16 256
Membangun Cache




Tentukan dulu cache_dir nya, ukuran dan
lokasinya
Jalankan squid dengan options z





Contoh : /usr/sbin/squid z
Proses ini berjalan agak lama karena squid akan
membuat direktori yang kosong

Setiap kali kita akan menambah cache_dir kita
harus membangun cache_dir tersebut dulu
menggunakan option -z
File system







Ufs: file system default untuk cache storage
Aufs : menggunakan Thread untuk menghindari
blocking I/O
DISKD: menggunakan process yang berbeda untuk
menghindarkan blocking I/O (harus menentukan dan
menghidupkan program diskd)
Jumlah Subdirektori akan menentukan kecepatan
akses squid terhadap cache-nya
Logging




Sangat diperlukan untuk menganalisa dan
memonitor kejadian pada squid
cache_access_log : melihat URL akses ke
proxy




cache_log : melihat kejadian pada squid
tergantung dari nilai debug_options




cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

Harus dipastikan bahwa file tersebut adalah
writable oleh squid
Option Lain


Setting dns menggunakan option
dns_nameservers [IP] [IP]


Contoh: dns_nameservers 10.0.0.1 192.172.0.4
Access Filtering menggunakan
ACL


ACL : access control list


Format umum :









acl aclname acltype string1 ...
acl aclname acltype "file" ...

Acl bisa menggunakan string yang ada pada file
konfigurasi dan juga bisa menggunakan file
eksternal
Aclname adalah nama yang diberikan untuk acl
tersebut
Squid akan membatasi akses berdasarkan nama
aclnya
ACL Type















acl aclname /ritzky/proxy-server-28693969/src ip-address/netmask ... (clients IP address)
acl aclname /ritzky/proxy-server-28693969/src addr1-addr2/netmask ... (range of
addresses)
acl aclname dst ip-address/netmask ... (URL host's IP
address)
acl aclname myip ip-address/netmask ... (local socket IP
address)
acl aclname /ritzky/proxy-server-28693969/srcdomain .foo.com ... # reverse lookup, client
IP
acl aclname dstdomain .foo.com ... # Destination server
from URL
acl aclname /ritzky/proxy-server-28693969/srcdom_regex [-i] xxx ... # regex matching client
name
acl aclname dstdom_regex [-i] xxx ... # regex matching
server
ACL Type untuk waktu


acl aclname time












[day-abbrevs] [h1:m1-h2:m2]

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

h1:m1 dan h2:m2 adalah jam dan menit, h1:m1 adalah start
waktu dan h2:m2 adalah waktu selesai
Contoh : acl yang melambangkan hari senin sampai jumat jam
9 pagi sampai jam 10 pagi adalah :


acl waktuku MTWHF 09:00-10:00
ACL Proxy_auth
Acl untuk menggunakan authentikasi, waktu
user berusaha mengakses internet


acl aclname proxy_auth username ...

Sebagai contoh :
* acl userku proxy_auth unyil usrok melan
Untuk menggunakan external authentication
username diganti dengan REQUIRED
* acl userku proxy_auth REQUIRED
Membatasi akses



Menggunakan http_access
Format







http_access ( allow | deny ) (!) aclname aclname 
http_access akan match jika acl acl yang tergabung
mempunyai nilai yang memenuhi

Squid akan menganggap semua akses akan di deny
(menggunakan http_access deny all) di baris-baris
akhir setelah acl
Agar kita bisa memperbolehkan user yang sesuai
dengan acl mengakses ke proxy, maka tempatkanlah
http_access yang berkaitan dengan acl kita di tempat
sebelum http_access deny all
Contoh membatasi Akses




acl lab_A /ritzky/proxy-server-28693969/src 10.126.10.1/255.255.255.255
acl lab_B /ritzky/proxy-server-28693969/src 10.126.11.1/255.255.255.255
acl lab_C /ritzky/proxy-server-28693969/src 10.126.13.0/255.255.255.0

Di bagian http_access :
http_access allow lab_A
http_access allow lab_B waktuku
http_access deny all (sudah ada)
Dengan demikian acl yang boleh mengakses adalah Lab_A
dan lab_B, lab_C tidak karena tidak disebutkan pada
http_access
Web Filtering





Menggunakan acl dstdom_regex
Gunakan options i untuk menjadikannya
CASE-INSENSITIVE (huruf besar huruf kecil
sama saja)
Untuk memfilter website www.detik.com



acl web_terlarang url_regex i www.detik.com
Acl web_terlarang url_regex i www.jerapah.com
Implementasi Web Filtering









acl web_terlarang dstdom_regex i www.detik.com
Acl web_terlarang dstdom_regex i www.jerapah.com
acl urlbanner url_regex i images.slashdot.org/banner
http_access deny web_terlarang
http_access allow LabA LabB
http_access deny all
http_access deny urlbanner
Authentikasi



Menggunakan acl proxy_auth
Menggunakan option auth_param


auth_param skema parameter [setting]



Skema authentikasi antara lain adalah:



Skema terdapat di /usr/lib/squid, contoh basic schema
:




auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic program /usr/lib/squid/ncsa_auth
/etc/shadow
Filter dari File






acl sex url_regex "/etc/squid/sex"
acl notsex url_regex "/etc/squid/notsex"
http_access allow notsex
http_access deny sex
Filter dari File




buatlah file
/etc/squid/sex
/etc/squid/notsex
contoh isi /etc/squid/notsex:
.*.msexchange.*
.*.msexcel.*
*freetown.*
*geek-girls.*
*scsext.*

contoh isi /etc/squid/sex:
www.indonona.com
www.extrajos.com
www.bopekindo.com
Management Bandwidth
Opsi-Opsi yang digunakan adalah
 menentukan jumlah aturan yang dipakai




Menentukan kelas masing-masing pool




delay_class pool kelas

Menentukan parameter masing-masing pool
sesuai kelas yang digunakan




delay_pool pool

delay_parameters pool parameter

Menentukan hak akses penggunaan bandwidth


delay_access pool allow | deny [!]nama_acl
Konfigurasi Transparant Proxy


/etc/squid/squid.conf
http_port 127.0.0.1:3128 http_port 10.0.0.1:3128
visible_hostname hostname cache_mgr admin@email
httpd_accel_host virtual httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on acl lan /ritzky/proxy-server-28693969/src
10.0.0.0/8 acl localhost /ritzky/proxy-server-28693969/src 127.0.0.1 acl all /ritzky/proxy-server-28693969/src
0.0.0.0 http_access allow lan http_access allow
localhost http_access deny all redirect_program
/usr/lib/squid/bannerfilter/redirector.pl



Redirect All outgoing
iptables -t nat -A PREROUTING -i ${LAN_INT} -p tcp
--dport 80  -j REDIRECT --to-port 3128
Proxy Server Layer Network






Salah satu contoh proxy yang bekerja pada layer jaringan adalah aplikasi firewall
yang menjalankan Network Address Translation (NAT).
NAT selalu digunakan pada router atau gateway yang menjalankan aplikasi
firewall. NAT digunakan untuk mengubah alamat IP paket TCP/IP, biasanya dari
alamat IP jaringan lokal ke alamat IP publik, yang dapat dikenali di internet.
System NAT :








Pada suatu jaringan lokal (local Area Network), setiap komputer didalamnya
menggunakan alamat IP lokal.
Ketika komputer pada LAN mengakses layanan di internet, paket-paket IP yang berasal
dari jaringan lokal harus diganti alamat sumbernya dengan satu alamat IP publik yang
bisa diterima di internet.
Disinilah proses NAT dilakukan oleh aplikasi firewall di Gateway, sehingga suatu server
di internet yang menerima permintaan dari jaringan lokal akan mengenali paket datang
menggunakan alamat IP gateway, yang biasanya mempunyai satu atau lebih alamat IP
publik.

Pada proses NAT ini, aplikasi firewall di gateway menyimpan satu daftar atau tabel
translasi alamat berikut catatan sesi koneksi TCP/IP dari komputer-komputer lokal
yang menggunakannya, sehingga proses pembaliknya bisa dilakukan, yaitu ketika
paket jawaban dari internet datang, gateway dapat mengetahui tujuan sebenarnya
dari paket ini, melakukan proses pembaliknya (de-NAT) dan kemudian
menyampaikan paket tersebut ke komputer lokal tujuan yang sebenarnya.
Proxy Server Level Circuit










Proxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagai
sambungan antara layer aplikasi dan layer transport, melakukan
pemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layanan
atau sebaliknya.
Proxy ini bertindak sebagai perantara, namun juga membangun suatu
sirkuit virtual diantara layer aplikasi dan layer transport.
Dengan proxy level sirkuit, aplikasi klien pada pengguna tidak perlu
dikonfigurasi untuk setiap jenis aplikasi.
Sebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali saja
diperlukan untuk menginstall WinSock Proxy pada komputer pengguna,
setelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atau
telnet dapat langsung menggunakannya seperti bila terhubung langsung ke
internet.
Kelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dari
paket yang dikirimkan atau diterima oleh aplikasi-aplikasi yang
menggunakannya.
Workshop Proxy Server
Studi Kasus









Port yang digunakan 8080 yang melewati IP 192.168.0.1
Cache_peer proxy.eepis-its.edu
Client1 akses pada hari Senin  Jumat 24 jam
Client 2 akses pada jam kerje Senin  Jumat 08:00-18:00
Client 3 akses pada hari sabtu dan minggu 24 jam
User Authentication menggunakan mysql_auth
Beberapa situs-situs terlarang diblok
Banwidth overall yang digunakan adalah 256 kbps, pernetwork 64 kbps, sedangkan per-user 2 kbps jika digunakan
untuk mendownload file seperti .exe, .mp3, .avi, .iso, dll,
jika tidah maka batasan yang dipakai adalah mengikuti
aturan per-network
Konfigurasi Port


Squid berjalan pada IP 192.168.0.1 dan port 8080





Cache_peer




http_port 192.168.0.1:8080
icp_port 3130
cache_peer proxy.eepis-its.edu parent 3128 3130

Karena untuk mengakses proxy.eepis-its.edu harus menggunakan
authentikasi maka saya perlu menambahkan :


login=share@student.eepis-its.edu:share



share@student.eepis-its.edu=username
share = password
Membuat Cache


Uncoment pada baris-baris opsi berikut:
cache_dir ufs /var/spool/squid 1000 16 256
 access_log /var/log/squid/access.log squid
 cache_log /var/log/squid/cache.log
 cache_store_log /var/log/squid/store.log
 pid_filename /var/run/squid.pid
Baris Authentikasi User
Masukkan opsi-opsi berikut untuk authentikasi user
 auth_param basic program /usr/bin/mysql_auth
 auth_param basic realm Squid proxy-caching web
server
 auth_param basic children 5
 auth_param basic credentialsttl 2 hours
 auth_param basic casesensitive off
 authenticate_ip_ttl 2 hours
Konfigurasi ACL






Authentikasi
 acl butuhpasswd proxy_auth REQUIRED
Filter situs secara eksternal
 acl domainterlarang dstdomain /etc/squid/domain-terlarang.txt
 acl kataterlarang url_regex -i "/etc/squid/kata-terlarang.txt"
 acl ipterlarang dst "/etc/squid/ip-terlarang.txt
 acl nonterlarang url_regex -i "/etc/squid/non-terlarang.txt
Filter Ip yang boleh akses internet
 acl lan /ritzky/proxy-server-28693969/src 192.168.0.2-192.168.0.254/255.255.255.255
 acl client1 /ritzky/proxy-server-28693969/src 192.168.0.20/255.255.255.255
 acl client2 /ritzky/proxy-server-28693969/src 192.168.0.61/255.255.255.255
 acl client3 /ritzky/proxy-server-28693969/src 192.168.0.101/255.255.255.255
Konfigurasi Acl .


Filter file yang di download













acl download url_regex -i ftp .exe$ .mp3$ .mp4$ .tar.gz$ .gz$ .tar.bz2$ .rpm$ .zip$
.rar$
acl download url_regex -i .avi$ .mpg$ .mpeg$ .rm$ .iso$ .wav$ .mov$ .dat$
.mpe$ .mid$
acl download url_regex -i .midi$ .rmi$ .wma$ .wmv$ .ogg$ .ogm$ .m1v$ .mp2$
.wax$
acl download url_regex -i .m3u$ .asx$ .wpl$ .wmx$ .dvr-ms$ .snd$ .au$ .aif$
.asf$ .m2v$
acl download url_regex -i .m2p$ .ts$ .tp$ .trp$ .div$ .divx$ .mod$ .vob$ .aob$ .dts$
acl download url_regex -i .ac3$ .cda$ .vro$ .deb$

Filter waktu akses internet
 acl hari time M T W H F
 acl jam_kerja time M T W H F 08:00-18:00
 acl sabtuminggu time A S
Konfigurasi http_access


Aturan akses situs-situs terlarang
http_access deny domainterlarang
 http_access deny kataterlarang
 http_access deny ipterlarang
 http_access allow nonterlarang




Aturan user yang bisa akses internet
http_access deny lan
 http_access deny client1 !hari
 http_access deny client2 !jam_kerja
 http_access deny client3 !sabtuminggu
 http_access allow manager
 http_access allow localhost
 http_access deny !Safe_ports
 http_access deny CONNECT !SSL_ports


Aturan penggunaan autentikasi user




http_access allow butuhpasswd

Aturan yang terakhir ini adalah untuk membatasi
selain user yang telah didefinisikan di atas tidak
bisa mengakses dan diakses
http_access deny all
 http_reply_access allow all
 icp_access allow all
Konfigurasi Administratif
cache_mgr anwar.zainuddin@gmail.com
 cache_effective_user proxy
 cache_effective_group proxy
 visible_hostname proxy.qotrun-nada.edu
Konfigurasi bandwidth














delay_pools 2
delay_class 1 3
delay_parameters 1 32000/32000 8000/8000 100/100
delay_access 1 allow client1 download
delay_access 1 allow client2 download
delay_access 1 allow client3 download
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 32000/32000 8000/8000
delay_access 2 allow client1
delay_access 2 allow client2
delay_access 2 allow client3
delay_access 2 deny all
Konfigurasi mysql_auth
Konfigurasi file Makefile
CC = gcc
CFLAGS = -I/usr/include/mysql -L/usr/lib/mysql
LDFLAGS = -lmysqlclient
SRC = /ritzky/proxy-server-28693969/src
OBJS = $(SRC)/mysql_auth.o $(SRC)/confparser.o $(SRC)/mypasswd.o
INSTALL = /usr/bin/install
CONF = $(SRC)/mysql_auth.conf
all : mysql_auth mypasswd
clean:
rm -rf /ritzky/proxy-server-28693969/src/*.o *.o mysql_auth mypasswd
mysql_auth: $(OBJS)
$(CC) -o $@ $(SRC)/mysql_auth.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)
mypasswd: $(OBJS)
$(CC) -o $@ $(SRC)/mypasswd.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)
install:
$(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 600 $(CONF) /etc/mysql_auth.conf
#$(INSTALL) -o nobody -g nogroup -m 600 $(CONF)
/usr/local/squid/etc/mysql_auth.conf.default


Konfigurasi define.h
# Edit pada bagian berikut:
 #define CONFIG_FILE
"/usr/local/squid/etc/mysql_auth.conf" menjadi
 #define CONFIG_FILE "/etc/mysql_auth.conf




Konfigurasi file mysql_auth.conf
#Edit pada bagian berikut:
 mysqld_socket /tmp/mysqld.sock
menjadi
 mysqld_socket /var/run/mysqld/mysqld.sock


Compile lalu install
Pindah ke direktori mysql_auth
 $ make
 $ su -c make install




Pindah ke subdirektori sripts untuk menambah
database
$ cd scripts/
 $ mysql -u root -p < create_script
 masukkan password mysql




Tambahkan username dan password
Konfigurasi Akhir


Setelah konfigurasi selesai, simpan file
konfigurasi
Stop squid lalu jalankan perintah /usr/bin/squid z
untuk membuat direktori cache
 Buat file domain-terlarang.txt, kata-terlarang.txt, ipterlarang.txt, non-terlarang.txt pada direktori
/etc/squid


cd /etc/squid
 touch domain-terlarang.txt kata-terlarang.txt ipterlarang.txt non-terlarang.txt




Masukkan nama domain, kata-kata serta ip yang
akan diblok pada masing-masing file.
DAFTAR PUSTAKA

Wagito, 2005, Jaringan Komputer Teori dan
Implementasi Berbasis Linux, Penerbit Gava
Media, Jogjakarta
 Wahana Komputer, 2006, Pengelolaan Jaringan
Komputer di Linux, Penerbit Salemba Infotek,
Jakarta
 http://lecturer.eepis-its.edu/
 http://ilmukomputer.com/
 http://people.arxnet.hu/airwain/mysql_auth/mysql_a
 Ahmad Aulia, Pembuatan Web Management
Untuk Konfigurasi Proxy Berbasis Squid, PENSITS
 Dian Ardiyansyah, Teknologi Jaringan
Workshop : Membuat Proxy Server
Sederhana (Semua akses diperbolehkan)




Edit file /etc/squid/squid.conf
Isilah http_port dengan 8080
Gunakan parent yang ada pada saat ini




Isilah cache_dir 500 megabytes




cache_dir ufs /var/spool/squid 500 16 256

Isikan cache_access_log dan cache_log untuk
memonitor URL





cache_peer ip_parent parent port_parent
port_parent_ICP

cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

Isikan dns_server yang akan digunakan


dns_nameservers ip_address
Workshop 1: Membuat Proxy Server
Sederhana (Semua akses diperbolehkan




Karena semua akses diperbolehkan, maka acl tidak diperlukan
disini
Tambahkan baris






Rubahlah visible_hostname dengan nama dari mesin anda
Keluar dari squid.conf
Jika cache_dir belum ada, buatlah dulu direktorinya





mkdir /var/spool/squid
Chmod a+rw /var/spool/squid

JIka cache_dir belum ada, buatlah dulu dengan




http_access allow all di bagian paling bawah dari sekumpulan tulisan
http_access

/usr/sbin/squid -z

Untuk memulai squid dengan


/usr/sbin/squid sYD
Ujicoba


Bukalah browser arahkan proxy ke proxy yang
barusan anda konfigurasi, dan coba buka
internet
Workshop 2










Buatlah proxy yang hanya boleh diakses oleh useruser yang terdaftar dalam system saja
Ujilah proxy anda
Buatlah proxy yang hanya boleh diakses pada hari
senin, selasa, dan rabu antara jam 07 pagi hingga jam
5 sore,lengkapi dengan authentikasi
Ujilah proxy anda
Berikan tambahan kemampuan memfilter web
www.detik.com dan www.jawapos.com
Ujilah proxy anda
Referensi







http://www.te.ugm.ac.id/~risanuri/jarkom/proxy.do
onno.vlsm.org/v10/onno-ind-2/network/
teknik-menangkal-situs-porno-di-kantorwarnet-3-2002.rtf
mojora.wordpress.com/2006/ 08/04/memfilterweb-regex-lagi-men/
Materi Training Network Administration , IT PENS  ITS 2006

More Related Content

Proxy server

  • 2. KONSEP DASAR Proxy merupakan pihak ketiga yang berdiri ditengah-tengah antara kedua pihak yang saling berhubungan dan berfungsi sebagai perantara Secara prinsip pihak pertama dan pihak kedua tidak secara langsung berhubungan, akan tetapi masing-masing berhubungan dengan perantara, yaitu proxy
  • 4. Pada gambar di atas client1, client2, client3 disebut sebagai pihak pertama Sedangkan yang menjadi pihak kedua adalah jaringan internet Sebelum keduanya saling berhubungan, mereka harus melewati proxy server
  • 5. Fungsi Proxy Connection Sharing, Filtering, Filter Situs-Situs Terlarang, Filter Pengguna Internet, Caching, Management Users Authentication, Management Waktu Akses Internet, Management Bandwidth, dst
  • 6. Connection Sharing Konsep dasar, pengguna tidak langsung berhubungan dengan jaringan luar atau internet, tetapi harus melewati suatu gateway, yang bertindak sebagai batas antara jaringan lokal dan jaringan luar. Gateway ini sangat penting, karena jaringan lokal harus dapat dilindungi dengan baik dari bahaya yang mungkin berasal dari internet, dan hal tersebut akan sulit dilakukan bila tidak ada garis batas yang jelas jaringan lokal dan internet. Gateway juga bertindak sebagai titik dimana sejumlah koneksi dari pengguna lokal akan terhubung kepadanya, dan suatu koneksi ke jaringan luar juga terhubung kepadanya. Dengan demikian, koneksi dari jaringan lokal ke internet akan menggunakan sambungan yang
  • 7. Filtering Filter Situs-Situs Terlarang Konsepnya adalah jika ada client yang ingin mengakses situs-situs yang sudah difilter oleh proxy server maka akses akan gagal. Filter Pengguna Internet Pengguna Internet sudah didefinisikan di konfigurasi proxy Pendefinisan yang digunakan adalah dengan menggunakan IP Address yang digunakan client Proxy juga bisa mendefinisikan beberapa IP yang tidak bisa akses internet
  • 8. Caching Proxy server memiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dari server-server di internet Proxy server yang melakukan proses diatas biasa disebut cache server Mekanisme caching akan menyimpan obyekobyek yang merupakan hasil permintaan dari dari para pengguna, yang didapat dari internet.
  • 9. Mekanisme Caching Permintaan dari pengguna web browser, random dan tidak teratur Permintaan dari proxy/cache server, terurut dan teratur Pengguna jaringan lokal switch A B C D E F G Firewall/router H SELECT ED ON-LINE Data yang diberikan oleh cache server ke web browser Web Proxy/cache server Data dari internet, ketika diminta, akan disimpan dalam cache internet
  • 10. Caching Dengan demikian, bila suatu saat ada pengguna yang meminta suatu layanan ke internet yang mengandung obyek-obyek yang sama dengan yang sudah pernah diminta sebelumnya, yaitu yang sudah ada dalam cache, maka proxy server akan dapat langsung memberikan obyek dari cache yang diminta kepada pengguna, tanpa harus meminta ulang ke server aslinya di internet. Bila permintaan tersebut tidak dapat ditemukan dalam cache di proxy server, baru kemudian proxy server meneruskan atau
  • 11. Management Users Authentication Konsep Membatasi akses internet menggunakan username dan password setiap kali ingin mengakses internet, Jika username dan password yang dimasukkan benar, maka client tersebut bisa mengakses internet, Jika username dan password yang dimasukkan salah, maka client tersebut tidak bisa mengakses internet.
  • 12. Management Waktu Akses Internet Akses internet hanya bisa dilakukan pada waktuwaktu tertentu Waktu akses internet berdasarkan hari-hari dan jam-jam tertentu Keuntungan: mengoptimalkan penggunaan bandwidth
  • 13. Management Bandwidth Bandwith adalah kecepatan transmisi dalam sistem komunikasi data, dihitung dalam satuan bit / detik (bps - bit per second). Management bandwidth pada proxy dapat dilakukan pada penggunaan bandwidth pada network atau masing-masing client. Management bandwidth yang baik akan mengoptimalkan client untuk akses ke jaringan internet
  • 14. Squid Proxy-Server Squid merupakan software proxy yang sekarang ini banyak digunakan Squid sudah termasuk di dalam distro Debian DNU/Linux Instalasi pada Debian digunakan perintah berikut: $ apt-get install squid
  • 15. Transparent Proxy Salah satu kompleksitas dari proxy pada level aplikasi adalah bahwa pada sisi pengguna harus dilakukan konfigurasi yang spesifik untuk suatu proxy tertentu agar bisa menggunakan layanan dari suatu proxy server Agar pengguna tidak harus melakukan konfigurasi khusus, kita bisa mengkonfigurasi proxy/cache server agar berjalan secara benar-benar transparan terhadap pengguna (transparent proxy). Transparent Proxy memerlukan bantuan dan konfigurasi aplikasi firewall (yang bekerja pada layer network) untuk bisa membuat transparent proxy yang bekerja pada layer aplikasi
  • 16. Cara Kerja Transparent Proxy Pengguna benar-benar tidak mengetahui tentang keberadaan proxy ini, dan apapun konfigurasi pada sisi pengguna, selama proxy server ini berada pada jalur jaringan yang pasti dilalui oleh pengguna untuk menuju ke internet, maka pengguna pasti dengan sendirinya akan menggunakan proxy/cache ini. Cara membuat transparent proxy adalah dengan membelokkan arah (redirecting) dari paket-paket untuk suatu aplikasi tertentu, dengan menggunakan satu atau lebih aturan pada firewall/router. Prinsipnya setiap aplikasi berbasis TCP akan menggunakan salah satu port yang tersedia, dan firewall membelokkan paket yang menuju ke port layanan tertentu, ke arah port dari proxy yang bersesuaian
  • 17. Cara Kerja Transparent Proxy Sebagai Contoh : Pada saat klient membuka hubungan HTTP (port 80) dengan suatu web server, firewall pada router yang menerima segera mengenali bahwa ada paket data yang berasal dari klien dengan nomor port 80. Misal kita juga mempunyai satu HTTP proxy server yang berjalan pada port 3130. Pada Firewall router kita buat satu aturan yang menyatakan bahwa setiap paket yang datang dari jaringan lokal menuju ke port 80 harus dibelokkan ke arah alamat HTTP proxy server port 3130. Akibatnya, semua permintaan web dari pengguna akan masuk dan diwakili oleh HTTP proxy server diatas.
  • 18. Cara Kerja Transparent Proxy /sbin/iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80 -j REDIRECT --to-port 8080
  • 21. Konfigurasi Dasar Edit file : /etc/squid/squid.conf Konfigurasi Dasar http_port Cache_peer cache_dir cache_access_log cache_log Konfigurasi Tambahan DNS Setting Access List Filtering
  • 22. http_port http_port menentukan squid akan berjalan di port berapa atau akan berjalan di Ip berapa dan port berapa Contoh : http_port 10.252.105.21:8080 (jalan di IP 10.252.105.21 di port 8080) http_port 8080 (jalan di sembarang IP di port 8080)
  • 23. Cache_peer Cache_peer adalah metode squid dalam melakukan hirarki akses, squid memungkinkan dirinya untuk bekerjasama dengan mesin proxy yang lain Cache_peer sangat berguna bagi mesin yang tidak punya koneksi langsung ke internet tapi bisa mengakses ke suatu proxy yang konek ke internet (mesin yang punya akses ke internet disebut dengan parent) Cache_peer cache_peer parent.foo.net parent 3128 3130 Parent.foo.net adalah mesin parent yang membuka port pada 3128
  • 24. Membuat Cache Menggunakan Directory Harus dibangun dulu sebelum digunakan Ditentukan dalam konfigurasi cache_dir: Tipe Cache storage file system secara default adalah ufs Nama directory harus writable oleh squid Ukuran ukuran maks dari Cache ini Jumlah subdirektori Level1 Jumlah subdirektori level 2 Ukuran Cache tidak bisa dirubah-rubah secara fleksibel tanpa harus membangun, sehingga cache_dir bisa kita berikan lebih dari satu baris Contoh cache_dir : cache_dir ufs /var/spool/squid 100 16 256
  • 25. Membangun Cache Tentukan dulu cache_dir nya, ukuran dan lokasinya Jalankan squid dengan options z Contoh : /usr/sbin/squid z Proses ini berjalan agak lama karena squid akan membuat direktori yang kosong Setiap kali kita akan menambah cache_dir kita harus membangun cache_dir tersebut dulu menggunakan option -z
  • 26. File system Ufs: file system default untuk cache storage Aufs : menggunakan Thread untuk menghindari blocking I/O DISKD: menggunakan process yang berbeda untuk menghindarkan blocking I/O (harus menentukan dan menghidupkan program diskd) Jumlah Subdirektori akan menentukan kecepatan akses squid terhadap cache-nya
  • 27. Logging Sangat diperlukan untuk menganalisa dan memonitor kejadian pada squid cache_access_log : melihat URL akses ke proxy cache_log : melihat kejadian pada squid tergantung dari nilai debug_options cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log Harus dipastikan bahwa file tersebut adalah writable oleh squid
  • 28. Option Lain Setting dns menggunakan option dns_nameservers [IP] [IP] Contoh: dns_nameservers 10.0.0.1 192.172.0.4
  • 29. Access Filtering menggunakan ACL ACL : access control list Format umum : acl aclname acltype string1 ... acl aclname acltype "file" ... Acl bisa menggunakan string yang ada pada file konfigurasi dan juga bisa menggunakan file eksternal Aclname adalah nama yang diberikan untuk acl tersebut Squid akan membatasi akses berdasarkan nama aclnya
  • 30. ACL Type acl aclname /ritzky/proxy-server-28693969/src ip-address/netmask ... (clients IP address) acl aclname /ritzky/proxy-server-28693969/src addr1-addr2/netmask ... (range of addresses) acl aclname dst ip-address/netmask ... (URL host's IP address) acl aclname myip ip-address/netmask ... (local socket IP address) acl aclname /ritzky/proxy-server-28693969/srcdomain .foo.com ... # reverse lookup, client IP acl aclname dstdomain .foo.com ... # Destination server from URL acl aclname /ritzky/proxy-server-28693969/srcdom_regex [-i] xxx ... # regex matching client name acl aclname dstdom_regex [-i] xxx ... # regex matching server
  • 31. ACL Type untuk waktu acl aclname time [day-abbrevs] [h1:m1-h2:m2] S - Sunday M - Monday T - Tuesday W - Wednesday H - Thursday F - Friday A Saturday h1:m1 dan h2:m2 adalah jam dan menit, h1:m1 adalah start waktu dan h2:m2 adalah waktu selesai Contoh : acl yang melambangkan hari senin sampai jumat jam 9 pagi sampai jam 10 pagi adalah : acl waktuku MTWHF 09:00-10:00
  • 32. ACL Proxy_auth Acl untuk menggunakan authentikasi, waktu user berusaha mengakses internet acl aclname proxy_auth username ... Sebagai contoh : * acl userku proxy_auth unyil usrok melan Untuk menggunakan external authentication username diganti dengan REQUIRED * acl userku proxy_auth REQUIRED
  • 33. Membatasi akses Menggunakan http_access Format http_access ( allow | deny ) (!) aclname aclname http_access akan match jika acl acl yang tergabung mempunyai nilai yang memenuhi Squid akan menganggap semua akses akan di deny (menggunakan http_access deny all) di baris-baris akhir setelah acl Agar kita bisa memperbolehkan user yang sesuai dengan acl mengakses ke proxy, maka tempatkanlah http_access yang berkaitan dengan acl kita di tempat sebelum http_access deny all
  • 34. Contoh membatasi Akses acl lab_A /ritzky/proxy-server-28693969/src 10.126.10.1/255.255.255.255 acl lab_B /ritzky/proxy-server-28693969/src 10.126.11.1/255.255.255.255 acl lab_C /ritzky/proxy-server-28693969/src 10.126.13.0/255.255.255.0 Di bagian http_access : http_access allow lab_A http_access allow lab_B waktuku http_access deny all (sudah ada) Dengan demikian acl yang boleh mengakses adalah Lab_A dan lab_B, lab_C tidak karena tidak disebutkan pada http_access
  • 35. Web Filtering Menggunakan acl dstdom_regex Gunakan options i untuk menjadikannya CASE-INSENSITIVE (huruf besar huruf kecil sama saja) Untuk memfilter website www.detik.com acl web_terlarang url_regex i www.detik.com Acl web_terlarang url_regex i www.jerapah.com
  • 36. Implementasi Web Filtering acl web_terlarang dstdom_regex i www.detik.com Acl web_terlarang dstdom_regex i www.jerapah.com acl urlbanner url_regex i images.slashdot.org/banner http_access deny web_terlarang http_access allow LabA LabB http_access deny all http_access deny urlbanner
  • 37. Authentikasi Menggunakan acl proxy_auth Menggunakan option auth_param auth_param skema parameter [setting] Skema authentikasi antara lain adalah: Skema terdapat di /usr/lib/squid, contoh basic schema : auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic program /usr/lib/squid/ncsa_auth /etc/shadow
  • 38. Filter dari File acl sex url_regex "/etc/squid/sex" acl notsex url_regex "/etc/squid/notsex" http_access allow notsex http_access deny sex
  • 39. Filter dari File buatlah file /etc/squid/sex /etc/squid/notsex contoh isi /etc/squid/notsex: .*.msexchange.* .*.msexcel.* *freetown.* *geek-girls.* *scsext.* contoh isi /etc/squid/sex: www.indonona.com www.extrajos.com www.bopekindo.com
  • 40. Management Bandwidth Opsi-Opsi yang digunakan adalah menentukan jumlah aturan yang dipakai Menentukan kelas masing-masing pool delay_class pool kelas Menentukan parameter masing-masing pool sesuai kelas yang digunakan delay_pool pool delay_parameters pool parameter Menentukan hak akses penggunaan bandwidth delay_access pool allow | deny [!]nama_acl
  • 41. Konfigurasi Transparant Proxy /etc/squid/squid.conf http_port 127.0.0.1:3128 http_port 10.0.0.1:3128 visible_hostname hostname cache_mgr admin@email httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on acl lan /ritzky/proxy-server-28693969/src 10.0.0.0/8 acl localhost /ritzky/proxy-server-28693969/src 127.0.0.1 acl all /ritzky/proxy-server-28693969/src 0.0.0.0 http_access allow lan http_access allow localhost http_access deny all redirect_program /usr/lib/squid/bannerfilter/redirector.pl Redirect All outgoing iptables -t nat -A PREROUTING -i ${LAN_INT} -p tcp --dport 80 -j REDIRECT --to-port 3128
  • 42. Proxy Server Layer Network Salah satu contoh proxy yang bekerja pada layer jaringan adalah aplikasi firewall yang menjalankan Network Address Translation (NAT). NAT selalu digunakan pada router atau gateway yang menjalankan aplikasi firewall. NAT digunakan untuk mengubah alamat IP paket TCP/IP, biasanya dari alamat IP jaringan lokal ke alamat IP publik, yang dapat dikenali di internet. System NAT : Pada suatu jaringan lokal (local Area Network), setiap komputer didalamnya menggunakan alamat IP lokal. Ketika komputer pada LAN mengakses layanan di internet, paket-paket IP yang berasal dari jaringan lokal harus diganti alamat sumbernya dengan satu alamat IP publik yang bisa diterima di internet. Disinilah proses NAT dilakukan oleh aplikasi firewall di Gateway, sehingga suatu server di internet yang menerima permintaan dari jaringan lokal akan mengenali paket datang menggunakan alamat IP gateway, yang biasanya mempunyai satu atau lebih alamat IP publik. Pada proses NAT ini, aplikasi firewall di gateway menyimpan satu daftar atau tabel translasi alamat berikut catatan sesi koneksi TCP/IP dari komputer-komputer lokal yang menggunakannya, sehingga proses pembaliknya bisa dilakukan, yaitu ketika paket jawaban dari internet datang, gateway dapat mengetahui tujuan sebenarnya dari paket ini, melakukan proses pembaliknya (de-NAT) dan kemudian menyampaikan paket tersebut ke komputer lokal tujuan yang sebenarnya.
  • 43. Proxy Server Level Circuit Proxy ini tidak bekerja pada layer aplikasi, akan tetapi bekerja sebagai sambungan antara layer aplikasi dan layer transport, melakukan pemantauan terhadap sesi-sesi TCP antara pengguna dan penyedia layanan atau sebaliknya. Proxy ini bertindak sebagai perantara, namun juga membangun suatu sirkuit virtual diantara layer aplikasi dan layer transport. Dengan proxy level sirkuit, aplikasi klien pada pengguna tidak perlu dikonfigurasi untuk setiap jenis aplikasi. Sebagai contoh, dengan menggunakan Microsoft Proxy Server, sekali saja diperlukan untuk menginstall WinSock Proxy pada komputer pengguna, setelah itu aplikasi-apliakasi seperrti Windows Media Player, IRC atau telnet dapat langsung menggunakannya seperti bila terhubung langsung ke internet. Kelemahan dari proxy level sirkuit adalah tidak bisa memeriksa isi dari paket yang dikirimkan atau diterima oleh aplikasi-aplikasi yang menggunakannya.
  • 46. Port yang digunakan 8080 yang melewati IP 192.168.0.1 Cache_peer proxy.eepis-its.edu Client1 akses pada hari Senin Jumat 24 jam Client 2 akses pada jam kerje Senin Jumat 08:00-18:00 Client 3 akses pada hari sabtu dan minggu 24 jam User Authentication menggunakan mysql_auth Beberapa situs-situs terlarang diblok Banwidth overall yang digunakan adalah 256 kbps, pernetwork 64 kbps, sedangkan per-user 2 kbps jika digunakan untuk mendownload file seperti .exe, .mp3, .avi, .iso, dll, jika tidah maka batasan yang dipakai adalah mengikuti aturan per-network
  • 47. Konfigurasi Port Squid berjalan pada IP 192.168.0.1 dan port 8080 Cache_peer http_port 192.168.0.1:8080 icp_port 3130 cache_peer proxy.eepis-its.edu parent 3128 3130 Karena untuk mengakses proxy.eepis-its.edu harus menggunakan authentikasi maka saya perlu menambahkan : login=share@student.eepis-its.edu:share share@student.eepis-its.edu=username share = password
  • 48. Membuat Cache Uncoment pada baris-baris opsi berikut: cache_dir ufs /var/spool/squid 1000 16 256 access_log /var/log/squid/access.log squid cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log pid_filename /var/run/squid.pid
  • 49. Baris Authentikasi User Masukkan opsi-opsi berikut untuk authentikasi user auth_param basic program /usr/bin/mysql_auth auth_param basic realm Squid proxy-caching web server auth_param basic children 5 auth_param basic credentialsttl 2 hours auth_param basic casesensitive off authenticate_ip_ttl 2 hours
  • 50. Konfigurasi ACL Authentikasi acl butuhpasswd proxy_auth REQUIRED Filter situs secara eksternal acl domainterlarang dstdomain /etc/squid/domain-terlarang.txt acl kataterlarang url_regex -i "/etc/squid/kata-terlarang.txt" acl ipterlarang dst "/etc/squid/ip-terlarang.txt acl nonterlarang url_regex -i "/etc/squid/non-terlarang.txt Filter Ip yang boleh akses internet acl lan /ritzky/proxy-server-28693969/src 192.168.0.2-192.168.0.254/255.255.255.255 acl client1 /ritzky/proxy-server-28693969/src 192.168.0.20/255.255.255.255 acl client2 /ritzky/proxy-server-28693969/src 192.168.0.61/255.255.255.255 acl client3 /ritzky/proxy-server-28693969/src 192.168.0.101/255.255.255.255
  • 51. Konfigurasi Acl . Filter file yang di download acl download url_regex -i ftp .exe$ .mp3$ .mp4$ .tar.gz$ .gz$ .tar.bz2$ .rpm$ .zip$ .rar$ acl download url_regex -i .avi$ .mpg$ .mpeg$ .rm$ .iso$ .wav$ .mov$ .dat$ .mpe$ .mid$ acl download url_regex -i .midi$ .rmi$ .wma$ .wmv$ .ogg$ .ogm$ .m1v$ .mp2$ .wax$ acl download url_regex -i .m3u$ .asx$ .wpl$ .wmx$ .dvr-ms$ .snd$ .au$ .aif$ .asf$ .m2v$ acl download url_regex -i .m2p$ .ts$ .tp$ .trp$ .div$ .divx$ .mod$ .vob$ .aob$ .dts$ acl download url_regex -i .ac3$ .cda$ .vro$ .deb$ Filter waktu akses internet acl hari time M T W H F acl jam_kerja time M T W H F 08:00-18:00 acl sabtuminggu time A S
  • 52. Konfigurasi http_access Aturan akses situs-situs terlarang http_access deny domainterlarang http_access deny kataterlarang http_access deny ipterlarang http_access allow nonterlarang Aturan user yang bisa akses internet http_access deny lan http_access deny client1 !hari http_access deny client2 !jam_kerja http_access deny client3 !sabtuminggu http_access allow manager http_access allow localhost http_access deny !Safe_ports http_access deny CONNECT !SSL_ports
  • 53. Aturan penggunaan autentikasi user http_access allow butuhpasswd Aturan yang terakhir ini adalah untuk membatasi selain user yang telah didefinisikan di atas tidak bisa mengakses dan diakses http_access deny all http_reply_access allow all icp_access allow all
  • 54. Konfigurasi Administratif cache_mgr anwar.zainuddin@gmail.com cache_effective_user proxy cache_effective_group proxy visible_hostname proxy.qotrun-nada.edu
  • 55. Konfigurasi bandwidth delay_pools 2 delay_class 1 3 delay_parameters 1 32000/32000 8000/8000 100/100 delay_access 1 allow client1 download delay_access 1 allow client2 download delay_access 1 allow client3 download delay_access 1 deny all delay_class 2 2 delay_parameters 2 32000/32000 8000/8000 delay_access 2 allow client1 delay_access 2 allow client2 delay_access 2 allow client3 delay_access 2 deny all
  • 56. Konfigurasi mysql_auth Konfigurasi file Makefile CC = gcc CFLAGS = -I/usr/include/mysql -L/usr/lib/mysql LDFLAGS = -lmysqlclient SRC = /ritzky/proxy-server-28693969/src OBJS = $(SRC)/mysql_auth.o $(SRC)/confparser.o $(SRC)/mypasswd.o INSTALL = /usr/bin/install CONF = $(SRC)/mysql_auth.conf all : mysql_auth mypasswd clean: rm -rf /ritzky/proxy-server-28693969/src/*.o *.o mysql_auth mypasswd mysql_auth: $(OBJS) $(CC) -o $@ $(SRC)/mysql_auth.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS) mypasswd: $(OBJS) $(CC) -o $@ $(SRC)/mypasswd.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS) install: $(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 600 $(CONF) /etc/mysql_auth.conf #$(INSTALL) -o nobody -g nogroup -m 600 $(CONF) /usr/local/squid/etc/mysql_auth.conf.default
  • 57. Konfigurasi define.h # Edit pada bagian berikut: #define CONFIG_FILE "/usr/local/squid/etc/mysql_auth.conf" menjadi #define CONFIG_FILE "/etc/mysql_auth.conf Konfigurasi file mysql_auth.conf #Edit pada bagian berikut: mysqld_socket /tmp/mysqld.sock menjadi mysqld_socket /var/run/mysqld/mysqld.sock
  • 58. Compile lalu install Pindah ke direktori mysql_auth $ make $ su -c make install Pindah ke subdirektori sripts untuk menambah database $ cd scripts/ $ mysql -u root -p < create_script masukkan password mysql Tambahkan username dan password
  • 59. Konfigurasi Akhir Setelah konfigurasi selesai, simpan file konfigurasi Stop squid lalu jalankan perintah /usr/bin/squid z untuk membuat direktori cache Buat file domain-terlarang.txt, kata-terlarang.txt, ipterlarang.txt, non-terlarang.txt pada direktori /etc/squid cd /etc/squid touch domain-terlarang.txt kata-terlarang.txt ipterlarang.txt non-terlarang.txt Masukkan nama domain, kata-kata serta ip yang akan diblok pada masing-masing file.
  • 60. DAFTAR PUSTAKA Wagito, 2005, Jaringan Komputer Teori dan Implementasi Berbasis Linux, Penerbit Gava Media, Jogjakarta Wahana Komputer, 2006, Pengelolaan Jaringan Komputer di Linux, Penerbit Salemba Infotek, Jakarta http://lecturer.eepis-its.edu/ http://ilmukomputer.com/ http://people.arxnet.hu/airwain/mysql_auth/mysql_a Ahmad Aulia, Pembuatan Web Management Untuk Konfigurasi Proxy Berbasis Squid, PENSITS Dian Ardiyansyah, Teknologi Jaringan
  • 61. Workshop : Membuat Proxy Server Sederhana (Semua akses diperbolehkan) Edit file /etc/squid/squid.conf Isilah http_port dengan 8080 Gunakan parent yang ada pada saat ini Isilah cache_dir 500 megabytes cache_dir ufs /var/spool/squid 500 16 256 Isikan cache_access_log dan cache_log untuk memonitor URL cache_peer ip_parent parent port_parent port_parent_ICP cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log Isikan dns_server yang akan digunakan dns_nameservers ip_address
  • 62. Workshop 1: Membuat Proxy Server Sederhana (Semua akses diperbolehkan Karena semua akses diperbolehkan, maka acl tidak diperlukan disini Tambahkan baris Rubahlah visible_hostname dengan nama dari mesin anda Keluar dari squid.conf Jika cache_dir belum ada, buatlah dulu direktorinya mkdir /var/spool/squid Chmod a+rw /var/spool/squid JIka cache_dir belum ada, buatlah dulu dengan http_access allow all di bagian paling bawah dari sekumpulan tulisan http_access /usr/sbin/squid -z Untuk memulai squid dengan /usr/sbin/squid sYD
  • 63. Ujicoba Bukalah browser arahkan proxy ke proxy yang barusan anda konfigurasi, dan coba buka internet
  • 64. Workshop 2 Buatlah proxy yang hanya boleh diakses oleh useruser yang terdaftar dalam system saja Ujilah proxy anda Buatlah proxy yang hanya boleh diakses pada hari senin, selasa, dan rabu antara jam 07 pagi hingga jam 5 sore,lengkapi dengan authentikasi Ujilah proxy anda Berikan tambahan kemampuan memfilter web www.detik.com dan www.jawapos.com Ujilah proxy anda