Tidak semua data bisa di cache oleh squid, data-data yang bersifat dinamik seperti CGI- BIN tidak di cache oleh squid, jadi tiap kali ada permintaan CGI-BIN, maka squid akan
menghubungi langsung server tujuan.
Saat ini protokol yang bisa dilayani oleh squid adalah HTTP, HTTPS, FTP, Gopher, dan Wais. Squid pertama-tama akan memeriksa request yang datang. Jika squid
diset dengan autentikasi tertentu, squid akan memeriksa autentikasi user terlebih dahulu. Autentikasi 38 ini termasuk subnet wilayah, user account, jenis file yang direquest,
alamat situs tujuan, dan properti-properti yang telah diset pada file konfigurasi squid. Jika lolos dan telah sesuai dengan konfigurasi, request tersebut kembali diperiksa
apakah objek yang diminta telah berada di cache. Jika sudah ada maka proxy server tidak perlu melanjutkan request ke internet tetapi langsung mereply request dengan
objek yang diminta. Jika tidak ada di cache, squid dapat menghubungi sibling-nya agar bisa saling tukar cache informasi menggunakan protokol icp. Jika masih tidak ada,
squid akan merequest ke parentnya. Parent harus menyediakan informasi yang diminta, entah mengambil dari cache-nya atau langsung ke internet. [5]
2.9.1. Cara Kerja Squid
Salah satu proxy server yang banyak digunakan di lingkungan UnixLinux adalah squid. Tidak semua data bisa di cache oleh Squid, data-data yang bersifat dinamik seperti CGI-
BIN tidak di cache oleh squid, jadi tiap kali ada permintaan CGI-BIN, maka squid akan menghubungi langsung server tujuan. Saat ini protokol yang bisa dilayani oleh squid
adalah HTTP, HTTPS, FTP, Gopher, dan Wais.
Squid pertama-tama akan memeriksa request yang datang. Jika squid diset dengan autentikasi tertentu, squid akan memeriksa autentikasi user terlebih dahulu.
Autentikasi ini termasuk subnet area, user account, jenis file yang di-request, alamat situs tujuan, dan properti-properti yang telah diset pada file konfigurasi squid. Jika lolos
dan telah sesuai dengan konfigurasi, request tersebut kembali diperiksa apakah objek yang diminta telah berada di cache. Jika sudah ada maka proxy server tidak perlu
melanjutkan request ke internet tetapi langsung me-reply request dengan objek yang diminta. Jika tidak ada di cache, squid dapat menghubungi sibling-nya agar bisa saling
Universitas Sumatera Utara Universitas Sumatera Utara
tukar cache informasi menggunakan protokol icp. Jika masih tidak ada, squid akan me- request ke parent-nya. Parent harus menyediakan informasi yang diminta, entah
mengambil dari cache-nya atau langsung ke internet. [5]
2.9.2. Bagian-bagian Squid
1. ICP
ICP merupakan kependekan dari Internet Cache Protocol, yaitu merupakan protokol yang digunakan untuk mengkoordinasikan antara dua web cache atau lebih agar dapat
bekerjasama dan berkomunikasi. Tujuan web-cache bekerja sama ini adalah supaya dapat mencari letak yang tepat untuk menerima objek yang di-request. Protokol ini tidak
reliable namun memiliki time out yang sangat pendek sehingga cocok untuk web-cache. Protokol ini tidak cocok untuk delivery-UDP adalah protokol yang lebih umum
digunakan untuk delivery protocol.
Dengan ICP, sistem cache bias mempunyai hirarki. Hirarki dibentuk oleh dua jenis hubungan, yaitu parent dan sibling.
a Parent: cache server yang wajib mencarikan content yang diminta oleh client.
b Sibling: cache server yang wajib memberikan content yang diminta jika
memang tersedia. Jika tidak, sibling tidak wajib untuk mencarikannya. [5]
2. Access Control List ACL
Access Control List ACL adalah daftar rule yang menyatakan pembagian previleges, untuk mencegah orang yang tidak memiliki hak akses menggunakan infrastruktur cache.
ACL adalah konfigurasi yang paling penting dalam sebuah web-cache. Dalam squid, ACL digunakan untuk mendefinisikan aturan yang diterapkan dalam web-cache
tersebut. Squid mendukung tipe-tipe ACL seperti di bawah ini:
a Network, subnet, baik tujuan maupun asal
b Protokol dan port yang dituju, misalnya HTTP, FTP, SNMP, dsb
c Autentikasi username
Universitas Sumatera Utara Universitas Sumatera Utara
d Maksimal koneksi untuk setiap IP address
e Maksimal jumlah IP address yang diperbolehkan untuk username yang sama
f Alamat website ,MIME dan header yang direquest yang terangkum dalam
regular expression
Squid akan memeriksa setiap request yang datang dengan ACL yang ada pada konfigurasi dan mencocokannya dengan aturan yang ada. Pencocokan ini bisa berakibat
diizinkan atau ditolaknya suatu koneksi dari user, pemberian bandwidth yang sesuai dengan aturan, dan sebagainya. [5]
3. Autentikasi Pada Squid
Squid mendukung berberbagai cara autentikasi user mulai dari yang sederhana sampai ke yang kompleks. Beberapa autentikasi yang didukung antara lain:
a LDAP: Uses the Lightweight Directory Access Protocol b NCSA: Uses an NCSA-style username and password file.
c MSNT: Uses a Windows NT authentication domain. d PAM: Uses the Linux Pluggable Authentication Modules scheme.
e SMB: Uses a SMB server like Windows NT or Samba.
2.9.3. Autentikasi pada Squid
Squid mendukung berberbagai cara autentikasi user mulai dari yang sederhana sampai ke yang kompleks. Beberapa autentikasi yang didukung antara lain:
a LDAP: Uses the Lightweight Directory Access Protocol
b NCSA: Uses an NCSA-style username and password file.
c MSNT: Uses a Windows NT authentication domain.
d PAM: Uses the Linux Pluggable Authentication Modules scheme.
e SMB: Uses a SMB server like Windows NT or Samba.
2.9.4. Httpd Accelerator Reverse Proxy Server
Universitas Sumatera Utara Universitas Sumatera Utara
Reverse proxy server adalah proxy server yang terinstall di dalam satu neighbourhood dengan satu atau lebih webserver. Semua request dari internet yang berasal dari internet
yang menuju ke salah satu webserver akan dilayani lewat proxy server, yang bisa jadi request tersebut ke dirinya sendiri atau diteruskan ke webserver seluruhnya atau
sebagian saja. Ada beberapa alasan kenapa memakai reverse proxy server, diantaranya adalah :
a Alasan keamanan: Proxy server adalah lapisan keamanan tambahan sebelum masuk lapisan webserver.
b EnkripsiSSL accelerator: Ketika website yang aman dibentuk, enkripsi SSL mungkin tidak dikerjakan oleh webserver untuk mengurangi beban kerja webserver,
tetapi dilakukan oleh proxy server yang dilengkapi dengan hardware acceleration untuk SSL.
c Load distribution: Reverse proxy dapat mendistribusikan beban ke beberapa webserver, sehingga masing-masing webserver hanya bekerja di areanya sendiri.
d Caching content yang statis. Reverse proxy dapat meng-cache content-content yang statis seperti image, sehingga memperingan beban kerja webserver.
2.9.5. Transparent Caching