Sebelum ke tahap konfigurasi ACL, lebih baik kita fahami dulu seluk beluk tentang ACL, perhatikan rumusan berikut :
restart squid dg perintah sudo /etc/init.d/squid reload atau squid -k reload
Contoh lain :
Khusus BOS, ADMINISTRATOR, MANAGER bebas mengakses situs apapun,
Semoga bermanfaat ^_^
# TAG: acl # Mendefinisikan Access List # # acl namaacl tipeacl string1 ... # acl namaacl tipeacl "berkas" ... # # ketika menggunakan "berkas", di dalam berkas tersebut harus berisikan satu item # per baris # # tipeacl adalah salah satu dari tipe-tipe yang dijelaskan di bawah # # Secara default, regular expression diset CASE-SENSITIVE # untuk membuatnya case-insensitive, gunakan opsi -i # # acl namaacl src alamat-ip/netmask ... (alamat IP klien) # acl namaacl src alamat1-alamat2/netmask ... (rentang dari alamat-alamat) # acl namaacl dst alamat-ip/netmask ... (alamat IP dari targer URL) # acl namaacl myip alamat-ip/netmask ... (alamat IP untuk local socket) # # acl namaacl arp alamat-mac ... (format penulisannya xx:xx:xx:xx:xx:xx ) # # ACL arp memerlukan opsi khusus saat mengkonfigurasi --enable-arp-acl. # # Lebih jauh lagi, ACL arp tidak berlaku untuk semua sistem operasi. # # Berfungsi di Linux, Solaris, FreeBSD dan beberapa varian *BSD. # # # # CATATAN: Squid hanya bisa mendeteksi alamat MAC dari klien yang ada di # # subnet yang sama. Jika klien berada di subnet yang berbeda, maka Squid tidak # # bisa mengetahui alamat MAC nya. # # acl namaacl srcdomain .fulan.com ... # reverse lookup, IP klien # acl namaacl dstdomain .fulan.com ... # server tujuan dari URL # acl namaacl srcdom_regex [-i] xxx ... # regex yang cocok dengan nama klien # acl namaacl dstdom_regex [-i] xxx ... # regex yang cocok dengan server # # Untuk dstdomain dan dstdom_regex reverse lookup dicoba jika URL berbasiskan # # IP yang digunakan tidak ada yang cocok. Nama "none" digunakan jika reverse # # lookup gagal. # # acl namaacl time [day-abbrevs] [h1:m1-h2:m2] # day-abbrevs: # S - Sunday (Minggu) # M - Monday (Senin) # T - Tuesday (Selasa) # W - Wednesday (Rabu) # H - Thursday (Kamis) # F - Friday (Jumat) # A - Saturday (Sabtu) # h1:m1 harus kurang dari h2:m2 # acl namaacl url_regex [-i] ^http:// ... # regex yang cocok di URL secara # keseluruhan # acl namaacl urlpath_regex [-i] \.gif$ ... # regex yang cocok pada bagian # path URL # acl namaacl urllogin [-i] [^a-zA-Z0-9] ... # regex yang cocok pada bagian # login URL # acl namaacl port 80 70 21 ... # acl namaacl port 0-1024 ... # rentang diperbolehkan # acl namaacl myport 3128 ... # (local socket TCP port) # acl namaacl proto HTTP FTP ... # acl namaacl method GET POST ... # acl namaacl browser [-i] regexp ... # # pola yang cocok pada header User-Agent (lihat juga req_header di bawah) # acl namaacl referer_regex [-i] regexp ... # # pola yang cocok pada header Referer # # Referer sangatlah tidak reliable, jadi gunakan dengan hati-hati # acl namaacl ident namauser ... # acl namaacl ident_regex [-i] pattern ... # # string yang cocok pada keluaran ident. # # gunakan REQUIRED untuk menerima semua ident yang tidak kosong. # acl namaacl src_as angka ... # acl namaacl dst_as angka ... # # Kecuali untuk access control, AS number bisa digunakan untuk # # mengarahkan request ke cache tertentu. Sebagai contoh untuk mengarahkan # # semua request untuk AS#1241 dan hanya itu saja ke cachesaya.domainsaya.net: # # acl ascontoh dst_as 1241 # # cache_peer_access cachesaya.domainsaya.net allow ascontoh # # cache_peer_access cachesaya.domainsaya.net deny all # # acl namaacl proxy_auth [-i] namauser ... # acl namaacl proxy_auth_regex [-i] pattern ... # # daftar dari namauser yang valid # # gunakan REQUIRED untuk menerima semua username yang valid. # # # # CATATAN: ketika header Proxy-Authentication dikirim tetapi dia tidak # # diperlukan pada saat pengecekan ACL, maka username TIDAK akan dicatat # # di access.log. # # # # CATATAN: proxy_auth memerlukan program autentikasi EXTERNAL # # untuk memeriksa kombinasi username/password (lihat direktif auth_param). # # # # CATATAN: proxy_auth tidak bisa digunakan di transparent proxy karena # # peramban perlu dikonfigurasi menggunakan proxy agar bisa merespon pada # # proses autentikasi proxy. # # acl namaacl snmp_community string ... # # String community untuk membatasai akses ke agen SNMP Anda. # # Contoh: # # # # acl snmppublic snmp_community public # # acl namaacl maxconn angka # # Ini akan cocok ketika alamat IP dari klien memiliki # # jumlah koneksi HTTP yang tersambung melebihi dari <angka> # # acl namaacl max_user_ip [-s] angka # # Ini akan cocok ketika user mencoba login melebihi dari <angka> # # alamat ip yang berbeda. Parameter authenticate_ip_ttl mengontrol # # nilai timeout pada entri-entri ip. # # Jika dituliskan -s maka pembatasannya ketat, browsing akan ditolak # # dari alamat IP lainnya sampai nilai ttl expire. Tanpa -s Squid hanya # # akan membuat user kesel dengan "secara acak" menolak akses. # # (pencatatan akan di reset setiap kali batasan tercapai dan request # # akan ditolak) # # CATATAN: pada mode akselerasi atau ketika disana ada banyak anak proxy, # # klien mungkin akan terlihat datang dari beberapa alamat saat mereka memasuki # # peternakan proxy, jadi pembatasan hanya 1 akan menyebabkan problem ke user. # # acl namaacl req_mime_type mime-type1 ... # # regex yang cocok dengan mime type dari request yang digenerate oleh klien # # Dapat digunakan untuk mendeteksi berkas upload atau beberapa tipe request # # HTTP tunneling. # # CATATAN: Ini TIDAK akan cocok dengan reply. Anda tidak bisa menggunakan # # ini untuk mencocokkan dengan tipe berkas yang dikembalikan. # # acl namaacl req_header header-name [-i] any\.regex\.here # # regex yang cocok dengan request header apa saja yang sudah dikenali. # # Mungkin bisa dianggap sebagai superset dari ACL-ACL "browser", "referer" dan # # "mime-type". # # acl namaacl rep_mime_type mime-type1 ... # # regex yang cocok dengan mime type dari reply yang diterima oleh squid. Dapat # # digunakan untuk mendeteksi berkas yang didownload atau beberapa tipe dari # # request HTTP tunneling. # # CATATAN: Ini tidak akan berpengaruh pada aturan http_access. Ini hanya akan # # berpengaruh pada aturan yang mempengaruhi reply data stream seperti misalnya # # http_reply_access. # # acl namaacl rep_header nama-header [-i] regex\.apa\.saja\.disini # # regex yang cocok dengan reply header apa saja yang sudah dikenali. # # Mungkin bisa dianggap sebagai superset dari ACL-ACL "browser", "referer" dan # # "mime-type". # # # # Contoh: # # # # acl banyak_spasi rep_header Content-Disposition -i [[:space:]]{3,} # # acl nama_acl external nama_class [arguments...] # # ACL external yang melakukan pencarian melalui class bantu yang didefinisikan # # oleh direktif external_acl_type. # # acl urlgroup group1 ... # # cocok dengan urlgroup seperti yang diindikasikan oleh redirector. # # acl namaacl user_cert atribut nilai... # # cocok dengan atribut-atribut dari user sertifikat SSL # # atributnya adalah salah satu dari DN/C/O/CN/L/ST # # acl namaacl ca_cert attribut nilai... # # cocok dengan atribut-atribut dari user-user yang menerbitkan sertifikat # # CA SSL # # atributnya adalah salah satu dari DN/C/O/CN/L/ST # # acl namaacl ext_user namauser ... # acl namaacl ext_user_regex [-i] pola ... # # string yang cocok dengan namauser yang diberikan oleh pembantu acl external # # gunakan REQUIRED untuk menerima namauser apa saja yang tidak-kosong.
Saat di kantor lagi banyak karyawan yang maenan pesbuk, biasanya pekerjaan terbengkalai, kinerja terganggu, dan masalah-masalah yang lainnya, di sinilah peran squid berlaku, hehe...
Skenario:
- Misalnya jam kerja setiap hari dari pukul 08.00 sampai17.00 (08.00-12.00, lalu 13.00-17.00)
- Akses web tertentu dilarang, contoh : facebook.com, twitter.com, dlsb
- Semua clien tidak bisa akses situs tertentu pada jam kerja tersebut.
#buat daftar situs yang akan diblok di file /etc/squid/social.networksave file squid.conf
#isinya misal .facebook.com, friendster.com dll
#(jangan lupa dibuat perbaris satu domain)
acl badurl dstdomain “/etc/squid/larang.txt”
#setting waktu akses
acl pagi time MTWHF 08:00-12:00
acl sore time MTWHF 13:00-17:00
#setting untuk menolak akses sesuai settingan waktu diatas
#untuk domain yang tertera di file /etc/squid/larang.txt
http_access deny badurl pagi
http_access deny badurl sore
restart squid dg perintah sudo /etc/init.d/squid reload atau squid -k reload
Contoh lain :
Khusus BOS, ADMINISTRATOR, MANAGER bebas mengakses situs apapun,
#buat daftar situs yang akan diblok di file /etc/squid/social.network
#isinya misal .facebook.com, friendster.com dll
#(jangan lupa dibuat perbaris satu domain)
acl badurl dstdomain “/etc/squid/larang.txt”
#setting waktu akses
acl pagi time MTWHF 08:00-12:00
acl sore time MTWHF 13:00-17:00
#acl manager, administrator, dan boss acl manager src 192.168.1.51 # manager keuangan acl manager src 192.168.1.52 # manager marketing acl manager src 192.168.1.53 # general manager acl boss src 192.168.1.68 # si boss besar
acl admin src 192.168.1.254 # sing mbahurekso server
#setting untuk membolehkan acl manager, bos, dan adminhttp_access allow manager http_access allow boss http_access allow admin
#setting untuk menolak akses sesuai settingan waktu diatas
#untuk domain yang tertera di file /etc/squid/larang.txt
http_access deny badurl pagi !manager !boss !admin
http_access deny badurl sore !manager !boss !admin
Semoga bermanfaat ^_^
0 comments:
Post a Comment