Redirect Squid Proxy Server Linux dengan SquidGuard
by FX. Eko Budi Kristanto
Saya baru teringat tulisan pertama saya tentang proxy server Linux menggunakan Squid. Kali ini saya ingin melanjutkannya dengan menuliskan pengalaman saya membuat proxy server yang berfungsi untuk: membatasi akses internet ke alamat tertentu menggunakan program redirect squidguard dan database-nya yang menampung jutaan situs dalam berbagai kategori. Sampai tulisan ini saya buat, datatabase-nya memiliki puluhan kategori. yang sangat bagus jika diterapkan di tempat saya, yang merupakan lembaga pendidikan. Panduan instalasi dan konfigurasinya secara lengkap dapat ditemukan di situs resmi squidGuard. Kenapa saya membuat hal ini? Permasalahan bahwa situs yang terdaftar dalam blacklist manual sangatlah terbatas, dan saya melihat ada program open source yang sangat bagus dan biasanya disandingkan dengan squid, so saya mencobanya… Dan ternyata setelah berhasil, rasanya terasa nyaman dan menyenangkan. squidGuard sudah membantu pekerjaan saya. hehe…
Langkah-langkah yang saya lakukan adalah:
- Download dan instalasikan squidGuard pada sistem
- Download database squidGuard
- Membuat file konfigurasi untuk squidGuard di /etc/squid/squidGuard.conf
- Instal database squidGuard
- Menambahkan redirect squidGuard dalam konfigurasi proxy di /etc/squid/squid.conf
- Membuat script untuk memudahkan saya menjalankan squid dan squidGuard
- Jalankan proxy server
File konfigurasi squidGuard.conf yang saya gunakan isinya seperti berikut:
#
# CONFIG FILE FOR SQUIDGUARD
#
# Author By: fxekobudi@gmail.com
#
dbhome /var/squidGuard/blacklists
logdir /var/log/squidGuard
dest adv {
log adv
domainlist adv/domains
urllist adv/urls
}
dest aggressive {
log aggressive
domainlist aggressive/domains
urllist aggressive/urls
}
dest automobile {
log automobile
domainlist automobile/domains
urllist automobile/urls
}
dest chat {
log chat
domainlist chat/domains
urllist chat/urls
}
dest dating {
log dating
domainlist dating/domains
urllist dating/urls
}
dest drugs {
log drugs
domainlist drugs/domains
urllist drugs/urls
}
dest gamble {
log gamble
domainlist gamble/domains
urllist gamble/urls
}
dest hacking {
log hacking
domainlist hacking/domains
urllist hacking/urls
}
dest movies {
log movies
domainlist movies/domains
urllist movies/urls
}
dest music {
log music
domainlist music/domains
urllist music/urls
}
dest porn {
log porn
domainlist porn/domains
urllist porn/urls
}
dest redirector {
log redirector
domainlist redirector/domains
urllist redirector/urls
}
dest shopping {
log shopping
domainlist shopping/domains
urllist shopping/urls
}
dest spyware {
log spyware
domainlist spyware/domains
urllist spyware/urls
}
dest tracker {
log tracker
domainlist tracker/domains
urllist tracker/urls
}
dest violence {
log violence
domainlist violence/domains
urllist violence/urls
}
dest warez {
log warez
domainlist warez/domains
urllist warez/urls
}
dest webradio {
log webradio
domainlist webradio/domains
urllist webradio/urls
}
dest webtv {
log webtv
domainlist webtv/domains
urllist webtv/urls
}
acl {
default {
pass !adv !aggressive !automobile !chat !dating !drugs !gamble !hacking !movies !music !porn !redirector !shopping !spyware !tracker !violence !warez !webradio !webtv all
redirect 302:http://localhost.localdomain/blacklist.html
}
}
Untuk yang di sekolah, saya arahkan redirect tersebut ke file buatan saya sendiri, dimana dalam file tersebut saya berikan peringatan bahwa pengunjung tidak diperbolehkan mengakses situs dan saya berikan pilihan beberapa situs yang baik dan layak untuk dikunjungi. format file-nya dalam html. saya beri nama blacklist.html.
Setelah membuat file konfigurasinya, selanjutnya saya menambahkan direktive berikut ini agar squid membaca perintah untuk redirect squidGuard. Saya meminta squid untuk menjalankan anak proses squidGuard sebanyak 10, sesuai dengan kemampuan memory yang digunakan proxy. Maksud saya agar request terhadap situs tertentu yang masuk dalam database squidGuard segera dapat tertangani oleh anak-anak proses tersebut, selain karena jumlah client yang lumayan besar.
# unlinkd_program /usr/lib/squid/unlinkd
unlinkd_program /usr/lib/squid/unlinkd
# ———————————
# Redirect program untuk squidGuard
# ———————————
redirect_program /usr/bin/squidGuard
redirect_children 10
Berikut ini cara saya install database squidGuard:
1. File shallalist.tar.gz yang sudah saya download saya letakkan di direktory /tmp
2. Selanjutnya saya masuk direktory tersebut dan ekstrak file:
cd /tmp
tar -zxf shallalist.tar.gz
3.
Untuk memudahkan menginstal squidguard, saya edit script yang diberikan pada situs squidguard dan saya sesuaikan dengan kebutuhan serta keadaan. Kesulitan awal saya saat itu adalah masalah permission file untuk log squidGuard. Jadi hati-hati dengan proses instalasinya dan selalu check dengan command tail -f /var/log/messages.
#!/bin/sh
#
# squidGuard blacklists - install script
# author by: fxekobudi@gmail.com
cd /tmp
# extract blacklists
tar -zxf shallalist.tar.gz
# hapus databases lama
# copy blacklists ke db home
rm -Rf /var/squidGuard/blacklists/*
cp -R /tmp/BL/* /var/squidGuard/blacklists
# hapus direktory kategori blacklists yang tidak digunakan
rm -Rf /var/squidGuard/blacklists/automobile
rm -Rf /var/squidGuard/blacklists/dynamic
rm -Rf /var/squidGuard/blacklists/finance
rm -Rf /var/squidGuard/blacklists/forum
rm -Rf /var/squidGuard/blacklists/hobby/cooking
rm -Rf /var/squidGuard/blacklists/hobby/pets
rm -Rf /var/squidGuard/blacklists/isp
rm -Rf /var/squidGuard/blacklists/jobsearch
rm -Rf /var/squidGuard/blacklists/news
rm -Rf /var/squidGuard/blacklists/recreation
rm -Rf /var/squidGuard/blacklists/science
rm -Rf /var/squidGuard/blacklists/shopping
rm -Rf /var/squidGuard/blacklists/webmail
# buat direktory log squidGuard
#mkdir /var/log/squid/squidGuard
#chown squid.squid /var/log/squid/squidGuard/
chown squid.squid /var/log/squid/squidGuard/*
chown squid.squid /var/log/squid/squidGuard.log
# buat domains + urls db, kemudian rubah kepemilikan ke squid user
/usr/bin/squidGuard -C all
chown squid.squid /var/squidGuard/blacklists/*/*.db
chown squid.squid /var/squidGuard/blacklists/*/*/*.db
/sbin/service squid restart
rm -Rf /tmp/BL
(tulisan ini masih akan saya perbaiki)
Popularity: 34%
Related posts:








October 30th, 2007 at 11:44 am
Salam kenal mas Eko,
Saya sedang belajar setting squidguard berkat tulisan mas.
Tapi sampai sekarang squidguard saya belum berhasil memblok sesuai database shallalist. Saya sudah ikutin sesuai website squidguard tentunya dengan perubahan sedikit karena saya menggunakan rpm dan RH 9.
Di log squidguard sudah tidak ada lagi pesan error apapun.
Sebelumnya banyak muncul pesan permission denied
Bagian yang mana lagi yang harus diperiksa ya?
Sekalian bertanya dibagian squid.conf mana saya harus meletakkan redirect_program squidguard diatas.
Mohon bantuan/sarannya.
Terima kasih sebelumnya.
Dony S
October 31st, 2007 at 1:01 pm
Trims atas tanggapannya mas
dari command ps -A sudah terlihat 6 proses squidGuard sesuai perintah saya untuk membuat 6 anak proses di squid.conf. karena squid saya jalankan dari user root, saya mengabaikan fakta database squidguard dipegang root.
Setelah saya coba mengganti user yang memiliki database squidguard dengan user squid baru terlihat fungsi blok situs berjalan sesuai yang diharapkan.
Sayangnya ditempat saya situs detik.com kompas dsb justru tidak ingin diblok, sehingga database squidguard harus diedit kembali
Sekali lagi terima kasih banyak Mas Eko.
Salam
Dony
November 5th, 2007 at 6:20 pm
Infonya sangat membantu sekali, tapi saya mau tanyakan ada nggak versi squidguard untuk windows. soalnya saya menggunakan squid for windows versi 2.6 stable 16.
Jika ada mohon untuk dicantumkan sekalian linknya…
Terima kasih.
November 14th, 2007 at 3:48 pm
mas.. mau tanya kalo sharing internet di windows xp gmn? di kantor ada 2 jaringan, yang satu intranet, yang satu lagi internet.. saya mo coba gabungin, tp belum bisa-bisa. saya coba lihat di help-nya windos, katanya internet sharing gak bisa dilakukan di jaringan yng menggunakan dhcp. dan memang di jaringan intranet di kantor tuh pake dhcp. ada solusinya gak?
March 28th, 2008 at 7:45 pm
Mas FX yang terhormat,-
Saya kagum dengan prestasi panjenengan, apalagi dengan banyaknya buku yang mas sudah tulis dan diterbitkan telah membantu banyak orang.
Nah, apalagi saya berhasil menemukan situs pribadi mas FX ini, jadi tambah gembira hati saya jadi bisa tanya-tanya kapanpun dan dimanapun.
Saya telah membaca ulasan mas FX tentang Squidguard di atas, dan memang menarik, tapi saat ini saya tengah menggunakan SafeSquid yang saya maksudkan selain agar bisa menjadi filter website juga bisa sebagai network monitoring serta access bandwith limitation pada Proxy server saya.
Tapi setelah saya coba install dan ikuti petunyuk konfigurasinya di salah satu blog linuxer ternyata belum berhasil secara sempurna.
Sudikah kiranya mas FX membantu saya untuk memberi pencerahan tentang walkthrough instalasi hingga konfigurasi SafeSquid tersebut.
Untuk keterangan tambahan :
1. Proxy Server saya menggunakan port 3128
2. Proxy Server saya menggunakan Basic Authentication
3. OS OpenSuSe 10.3
Sebelumnya saya ucapkan terima kasih.
May 12th, 2008 at 3:44 pm
Mas mau nanya apakah kalau menggunakan squidguard itu termasuk pemblokiran berbasis content atau masih berbasis IP dan url?dan apa bedanya squidguard dan dansguardian?terima kasih mas eko
May 19th, 2008 at 8:31 am
Mas mau nanya klagi kira2 bisa g digabung antara squidguard dan dansguardian di squid?maksudnya 2nya jalan gitu?
October 10th, 2008 at 10:40 pm
isinya sama kaya yg barusan saya liad neh, boleh taw emailnya/ym na ga y, buat nanya2 about squid ini…heheh