1. Network Interface
2.2 Teori khusus
2.2.3 Squid Cache Server
2.2.3.1 Konfigurasi mendasar Squid
Konfigurasi-konfigurasi squid mendasar squid berdasarkan referensi dari Visolve Team (2010) antara lain :
1. http_port nomor port
Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor port ini akan dipakai untuk berhubungan dengan klien dan peer.
2. icp_port nomor port
Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor port ini akan dipakai untuk berhubungan dengan klien dan peer.
3. cache_peer nama_peer tipe_peer nomor_port_http nomor_port_icp option
Sintaks dari cache peer ini digunakan untuk berhubungan dengan
peer lain, dan peer lain yang dikoneksikan ini tipenya bergantung dari
bertipe parent,dan port yang digunakan untuk hubungan ICP maupun
HTTP juga dideklarasikan disini, sedangakan untuk parameter option
disini ada bermacam-macam salah satunya adalah default yang berarti dia adalah satu-satunya parent yang harus dihubungi (jika bertipe parent) dan proxy-only yang berarti bahwa object yang dipata dari peer tersebut tidak perlu disimpan dalam hardisk local.
4. Dead_peer_timeout jumlah_detik seconds.
Masing-masing peer yang telah didefinisikan sebelumnya mempunyai waktu timeout sebesar yang ditentukan dalam konfigurasi ini, Jika peer tidak menjawab kiriman sinyal ICP dalam batas waktu yang telah ditentukan, peer akan dianggap tidak akan dapat dijangkau, dan cache server tidak akan mengambil object dari server yang bersangkutan dalam interval waktu tertentu.
5. Hierarcy_stoplist pola1 pola2
Sintaks ini digunakan untuk menyatakan apa yang harus tidak diminta dari peer, melainkan harus langsung dari web server origin, jika pola1 dan pola 2 adalah parameter cgi-bin, ?, dan lain-lain maka jika ada request URL yang mengandung karakter tersebut maka akan diambilkan langsung ke server origin.
6. Cache_mem jumlah_memori (dalam bytes)
Sintaks ini akan menentukan batas atas jumlah memori yang digunakan untuk menyimpan antara lain : intransit object yaitu object yang dalam masa transisi antara waktu cache mendownload sampai
object disampaikan ke klien, dan hot object, yaitu object yang sering diakses.
7. Cache_swap_low/high jumlah (dalam persen)
Squid akan menghapus object yang ada didalam hardisknya jika media tersebut mulai penuh. Ukuran penuh ini yang diset pada cache_swap_low dan cache_swap_high. Bila batas swap_low telah tercapai maka squid mulai menghapus dan jika batas swap_high tercapai maka squid akan semakin sering menghapus.
8. Cache_dir jenis_file_sistem direktori kapasitas_cache dir_1 jumlah dir_2
Sintaks ini akan menjelaskan direktori cache yang dipakai, pertama adalah jenis file sistemnya, lalu didirektori mana cache tersebut akan disimpan, selanjutnya ukuran cache tersebut dalam MegaBytes lalu jumlah direktori level 1 dan direktori level 2 yang akan digunakan squid untuk menyimpan objectnya.
2.2.3.2 ACL (Acces Control List)
ACL adalah bagian terpenting dalam konfigurasi pada squid. ACL
bertugas memberikan akses kepada pengguna atau yang berwenang untuk membatasi atau mencegah akses ke materi konfigurasi tertentu, mengendalikan request, maupun untuk mendukung kualitas pelayanan yang berbeda.
ACL dibangun dari dua komponen yang berbeda (Duane Wessels,
2004) yaitu yang pertama adalah mendefinisikan elemen-elemen pada
ACL. Komponen berikutnya adalah menggabungkan komponen
sebelumnya (elemen-elemen ACL) kedalam satu aturan ACL.
Elemen-elemen pada ACL tersebut adalah salah satu kesatuan yang akan mengendalikan komponen Squid . Elemen tersebut berupa alamat IP, nomor Port, nama host, dan pola URL. Bentuk syntax penulisan elemen ACL adalah sebagai berikut:
acl namatipe nilai1 nilai2 ... Contoh :
acl Workstations src 10.0.0.0/16
Di atas contoh penulisan konfigurasi ACL dengan yang bertipe src yaitu mengizinkan klien workstations dapat mengakses squid yaitu yang ber IP sumber 10.0.0.0/16. Beberapa tipe dari elemen ACL lainnya adalah:
1. Port
Bertujuan untuk membatasi squid untuk mengakses nomor port tertentu
2. dst
dst akan mengacu ke alamat IP yang dituju, biasanya
digunakan untuk mencegah beberapa pengguna untuk mengakses alamat ip yang ditentukan menggunakan dst.
3. dstDomain
4. Port
Porto akan mengacu ke Url protokol yang dituju. Misalnya
untuk mencegah dalam pengaksesan protokol ftp.
5. Method
Berupa metoda yang biasa terdapat pada HTTP request
method. Misalnya Get, Post, Put, dll. Selain itu terdapat method khusus lainnya yaitu Purge yang berfungsi untuk
menyediakan akses kepada admin untuk menghapus paksa
cache objek.
ACL juga menggunakan Regular Expression (regex) untuk mencocokan karakter string pada syntax konfigurasinya. Regex yang paling umum digunakan pada ACL adalah karakter ^ yang berfungsi sebagai pembuka baris baru dan karakter $ sebagai penutup baris.
Setelah elemen-elemen ACL didefinisikan langkah berikutnya menggabungkan elemen tersebut kedalam satu aturan. Berikut Aturan
Access Control List yang terdapat pada Squid: 1. http_access
Memungkinkan klien (browser) untuk mengakses port
HTTP. Ini adalah daftar kontrol akses utama. 2. http_reply_access:
HTTP Memungkinkan klien (browser) untuk menerima balasan untuk permintaan mereka. Hal ini semakin
membatasi hak akses yang diberikan oleh http_access, dan terutama ditujukan untuk digunakan bersama dengan acl rep_mime_type untuk memblokir jenis isi yang berbeda. 3. icp_access
memperbolehkan peer untuk mengirimkan icp untuk menquery object
4. miss_access
memperbolehkan klien meminta object yang belum ada (miss) didalam cache
5. no_cache
object yang diminta klien tidak perlu disimpan ke hardisk 6. always_direct
permintaan yang ditangani langsung ke server origin
7. never direct
permintaan yang ditangani secara tidak langsung ke server origin.
8. Cache
Mendefinisikan tanggapan yang tidak harus di-cache