External ACL – Squid addon Helper

Setelah kita mengenal dan menggunakan helper program STORE-ID, ada beberapa helper lain juga yang mesti kita coba dan terapkan, seperti: external acl dan url_rewrite. Untuk detail nya anda bisa liat di link berikut : AddonHelper.

Untuk kali ini DSI akan coba bahas mengenai penggunaan External_acl dan bagaimana cara penerapan di squid.conf.

External ACL

External acl adalah termasuk addon helper program seperti store-id namun fungsi nya tidak sama. External acl pada dasarnya sama dengan acl (accesst control list ) yang biasa kita terapkan di squid.conf. Namun ada beberapa kelebihan ketika kita menggunakan external acl.

Kelebihan External ACL

Berikut beberapa kelebihan menggunakan external acl versi yang DSI pahami. Loh kok versi DSI si…???. iya bro karena dokumentasi mengenai external acl di web squid tidak di jelaskan semua.

  1. Saat kita menggunakan accesst control list (acl) dst_domain di squid.conf tentunya penulisannya harus dengan nama host dan tidak bisa menggunakan regex, bagaimana jika nama host nya banyak?…. misal:
    abc.sample.com
    bca.sample.com
    dsi.sample.com
    Jika kita menggunakan acl standar maka dari 3 host itu mesti di tulis satu – satu. Lain cara kalau pakai external acl, dari 3 host itu kita bisa menggunakan regex dengan cukup 1 saja.
  2. Proses external acl disimpan di memory / di cache.
    external acl cachejadi kemungkinan untuk proses yang masuk ke external acl, untuk yang kedua dan seterusnya tidak lagi di proses keseluruhan, melainkan hanya ambil dari cache nya saja.
  3. Performa squid proxy saat menggunakan external acl bertambah lebih cepat di bandingkan dengan penggunaan acl yang standar. Untuk kelebihan ini maaf DSI tidak bisa membuktikan secara detail, untuk itu silahkan anda buktikan sendiri.

Mungkin itu kelebihan-kelebihan yang bisa DSI sebutkan, mungkin ada tambahan atau koreksi dari temen – temen DSI, silahkan coret-coret di kolom komentar ya.

Definisi External ACL

external_acl_type name [options] FORMAT.. path/helper [helper arguments..]

Definisi di atas adalah penggunaan untuk di squid.conf yang mesti di tulis. Dan harus di sesuaikan dengan kebutuhan.

external_acl_type = ini tidak boleh di rubah.

name = ini bisa di ganti dengan kata apa saja, name ini adalah nama dari external_acl itu sendiri, yang nantinya untuk proses selanjutnya.

[options] FORMAT= untuk bagian ini anda bisa lihat detail nya di external_acl_type

path/helper = adalah dimana tempat / folder helper external_acl di simpan. Dan untuk penulisannya bisa menggunakan bahasa pemograman seperti perl, pyton dsb.

Sebagai contoh, misal kita ingin buat acl mengenai SNI, yang tujuannya adalah untuk membypass SNI tersebut agar tidak lagi di proses oleh squid.

external_acl_type sni_acl cache=1048576 concurrency=200 children-max=40 children-startup=5 %ssl::>sni /etc/squid/acl-sni.pl

Perhatikan yang tulisan warna merah, karena tujuan dari acl ini untuk SNI, maka kita harus memilih dan mendeklarasikan format tersebut sesuai dengan squid yang sudah di support. Banyak format yang anda pilih, detail nya bisa anda liat dari link di atas.

dari definisi di atas maka input yang di terima di helper seperti ini kira-kira:

[chanel-id[spasi][SNI]

dan untuk ouputnya / hasilnya harus:

[channel-ID] result keyword=value

untuk result keywordnya: OK, ERR, BH

berikut contoh script external acl SNI untuk bypass web banking:

dari acl di atas jika kita ingin untuk bypass agar tidak di proses squid untuk bumping maka format squid.conf nya sepeti berikut:


external_acl_type acl_sni cache=1048576 concurrency=200 children-max=40 children-startup=5 %ssl::>sni /etc/squid/acl-sni.pl
acl no_bump external acl_sni
ssl_bump splice no_bump

Contoh satu lagi penggunaan external_acl untuk url yang ingin di proses oleh store-id:

untuk squid.conf nya adalah:


external_acl_type DSI_store cache=1048576 concurrency=200 children-max=40 children-startup=5 %METHOD %URI /etc/squid/acl-store.pl
acl store-id external DSI_store
store_id_program /etc/squid/store-id.pl
store_id_children 50 startup=5 idle=2 concurrency=200
store_id_access deny norewrite
store_id_access allow store-id
store_id_access deny all

Demikian pembahasan mengenai external acl, untuk hasil nya silahkan anda coba sendiri.

Jangan lupa share artikel ini bila mana bermanfaat, dan silahkan tinggalkan komentar bila ada tulisan atau script yang kami tulis ada kesalahan.

Terimakasih & happy caching.

Silahkan tinggalkan komentar: