Skip to content

Redirect SQUID Dengan SquidGuard

August 27, 2010

Ingin membuat proxy server yang berfungsi untuk membatasi akses internet ke alamat tertentu dengan cara yang tidak manual lagi? Sebaiknya menggunakan program redirect squidguard (yang database-nya bisa menampung jutaan situs dalam berbagai kategori). Panduan instalasi dan konfigurasinya secara lengkap dapat ditemukan di situs resmi squidGuard. Kenapa kita perlu membuat hal ini? Karena situs yang terdaftar dalam blacklist manual sangatlah terbatas, dan kenyatannya ada program open source yang sangat bagus di luar sana yang biasanya disandingkan dengan squid.

Langkah-langkah yang harus lakukan adalah :

  1. Download dan instalasikan squidGuard pada sistem
  2. Download database squidGuard
  3. Membuat file konfigurasi untuk squidGuard di /etc/squid/squidGuard.conf
  4. Instal database squidGuard
  5. Menambahkan redirect squidGuard dalam konfigurasi proxy di /etc/squid/squid.conf
  6. Membuat script untuk memudahkan saya menjalankan squid dan squidGuard
  7. Jalankan proxy server

File konfigurasi squidGuard.conf 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
}
}

Arahkan redirect tersebut ke file buatan sendiri, dimana dalam file tersebut akan memberikan peringatan bahwa pengunjung tidak diperbolehkan mengakses situs dan diberikan pilihan beberapa situs yang baik dan layak untuk dikunjungi. Format file-nya dalam html misal dengan nama blacklist.html.

Setelah membuat file konfigurasinya, selanjutnya tambahkan direktive berikut ini agar squid membaca perintah untuk redirect squidGuard. Squid diminta untuk menjalankan anak proses squidGuard sebanyak 10, sesuai dengan kemampuan memory yang digunakan proxy. Maksudnya 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 didownload diletakkan di direktori /tmp
  2. Selanjutnya masuk direktory tersebut dan ekstrak file :
cd /tmp
tar -zxf shallalist.tar.gz

Untuk memudahkan menginstal squidguard, edit script yang diberikan pada situs squidguard dan sesuaikan dengan kebutuhan serta keadaan. Kesulitan awal 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 diperbaiki.

Bagaimana cara mengkonfigurasi Squid di Linux bisa dibaca di sini.

Taken from: Redirect Squid Proxy Server Linux dengan SquidGuard by FX. Eko Budi Kristanto.

From → Iptek

One Comment

Trackbacks & Pingbacks

  1. Proxy Server Linux Dengan SQUID « BLOGE WONG NDESO

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: