Penggunaan access list yang paling umum dan paling mudah untuk dimengerti adalah penyaringan paket yang tidak diinginkan ketika mengimplementasikan kebijakan keamanan.
Sebagai contoh kita dapat mengatur access list untuk membuat keputusan yang sangat spesifik tentang peraturan pola lalu lintas sehingga access list hanya memperbolehkan host tertentu mengakses sumber daya WWW sementara yang lainnya ditolak. Dengan kombinasi access list yang benar, network manajer mempunyai kekuasaan untuk memaksa hamper semua kebijakan keamananyang bisa mereka ciptakan.
Access list juga bisa digunakan pada situasi lain yang tidak harus meliputi penolakan paket. Sebagai contoh access list digunakan untuk mengontrol network mana yang akan atau tidak dinyatakan oleh protocol dynamic routing. Konfigurasikan access list dengan cara yang sama. Perbedaannya disibni hanyalah bagaimana menerapkannya ke protocol routing dan bukan ke interface. Kita juga bisa menggunakan access list untuk mngkategorikan pakt atau antrian /layanan QOS, dan mengontrol tipe lalu lintas data nama yang akan mengaktifkan link ISDN.
Berikut ini adalah berbagai contoh skenario ACL Squid yang sering dugunakan oleh admin. Saya copas contoh skenario ini karena agar berguna bagi saya sendiri, dan juga teman-teman lain yang membutuhkan contoh kasus berikut ini.
Contoh 1dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut
admin, server dengan bandwidth unlimited
staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte
acl all src 0.0.0.0/0.0.0.0
acl admin src 192.168.1.250/255.255.255.255
acl server src 192.168.1.251/255.255.255.255
acl umum src 192.168.1.0/255.255.255.0
acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71
delay_pools 3
delay_class 1 1
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 allow server
delay_access 1 deny all
delay_class 2 1
delay_parameters 2 1500/64000
delay_access 2 allow staf
delay_access 2 deny all
delay_class 3 1
delay_parameters 3 1000/32000
delay_access 3 allow umum
delay_access 3 deny all
Cara mencobanya paling mudah adalah dengan menggunakan donlot manajer semacam DAP, GetRight maka akan terlihat bandwidth sudah dibatasi.
Contoh 2Delay pools juga dapat digunakan untuk membatasi donlot file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh dibawah digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.
acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow multimedia
delay_access 1 deny ALL
Contoh 3 dari forum.linux.or.id
bagaimana caranya membuat delay pools untuk membatasi download di siang hari untuk 15 klient sedangkan malam harinya lost asumsi jamnya ( 10:00 – 21:00)
acl LTIME time SMTWHFA 10:00-21:00
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$ \.mpa$ \.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$
delay_pools 1
delay_class 1 1
delay_parameters 1 3000/3000
delay_access 1 allow download TIME
delay_access 1 deny all
Contoh 4Bagaimana caranya membuat delay pools untuk membatasi download di siang hari dengan speed … dan malam hari dengan speed …,
Jadi pengennya pas malam bw buat user makin kecil, bukan malah di loss
acl JAM_KANTOR time SMTWHFA 07:00-18:00
delay_pools 2 delay_class 1 2
delay_parameters 1 24000/32000 -1/-1
delay_access 1 allow riset JAM_KANTOR
delay_access 1 deny all
delay_class 1 2
delay_parameters 2 8000/8000 -1/-1
delay_access 2 allow riset !JAM_KANTOR
delay_access 2 deny all
Contoh 5wangsit masterpop3 yang semedi dengan pecelpenyu.
Saya ada bandwidth besar, 1mbps.
Ingin membatasi yang donlot file besar di atas 5mbyte, di beri speed 32kbps.
Misal bila ada 3 user yang donlot, tiap-tiap user akan mendapat bw maximal 32kbps.
acl user src 192.168.1.0/24
delay_pools 1
delay_class 1 2
delay_parameters 1 40000/10000000 4000/5000000
delay_access 1 allow user download
delay_access 1 deny ALL
Contoh 6 (Limit Youtube)duppeh, untuk memaksa caching terhadap youtube ( sesuai wiki.squid-cache.org )
acl youtube dstdomain -i .youtube.com
acl striming url_regex -i get_video\?video_id videodownload\?
cache allow youtube
cache allow striming
dan harap di ingat untuk posisi tsb di atas sebaiknya diletakkan sebelum hierarchy_stoplist
kemudian bisa di gabung ke delay_pool juga
delay_class 2 3
delay_access 2 allow warnet striming
delay_access 2 deny all
delay_parameters 2 -1/-1 -1/-1 3000/200000
hasilnya :
Connection: 0x7f1da510
FD 149, read 555, wrote 6508975
FD desc: http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M
in: buf 0x7fe65000, offset 0, size 4096
peer: 192.168.0.111:3317
me: 127.0.0.1:3127
nrequests: 1
defer: n 0, until 0
uri http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M
log_type TCP_MISS
out.offset 6508872, out.size 6508975
req_sz 555
entry 0x7d24e240/599CDB16D8D8DCB1395E960CD807BD8B
old_entry 0×0/N/A
start 1193286572.113589 (2131.525289 seconds ago)
username -
delay_pool 2 <= terkena delay
untuk delay_pool saya tidak menggunakan domain youtube.com, karena ternyata untuk url streaming nya sebagian hanya menggunakan ip address biasa, sehingga menggunakan regex spt di atas saya rasa lebih efektif.
silakan di eksperimen sendiri untuk regex nya, bisa dg menganalisa access.log atau kalau yg gampang menggunakan sqstat spt yg pernah di post di thread sebelah.
Pengertian Linked List
Linked list tidak lain adalah suatu struktur data yg merupakan suatu rangkaian atau daftar record berjenis sama. Kemudian dihubungkan melalui bantuan pointer. Pengalokasian daftar dapat dilakukan secara dinamis sehingga isi dari daftar dapat dimanipulasi. Untuk memahami
linked list, terlebih dahulu anda harus tahu konsep pointer dan pengalokasian memori
Coba anda bayangkan apabila anda mendeklarasikan array dari record(array of record) sebanyak 10 elemen. Setiap kali program dijalankan, maka akan memesan memory sebesar 10x ukuran record. Itu merupakan suatu pemborosan walaupun kita hanya menggunakan 5 elemen record.
Maka dari itu, biasanya para programer lebih memilih menggunakan linked list dalam pemrograman. Linked list dibedakan atas 2 jenis yaitu singly linked list dan doubly linked list.