Install SquidGuard Sebagai Pembantu Squd di Ubuntu 12.04

SquidGuard adalah pembatu squid/lisca untuk memfilter conten, dalam kasus ini saya bertujuan memberikan solusi bagi pemilik warnet yang jengkel dengan ulah pada sebagaian client yang sering membuka situs porno. dengan SquidGuard ini kita dapat memblock situs tersebut. mengapa SquidGuard, banyak aplikasi lain untuk memfilter suatu situs bisa juga menggunakan acl pada squid/lusca, dan ini hanya salah satu aplikasi yang saya gunakan untuk memfilter jaringan di warnet yang saya kelola. buat anda yang ingin memcoba SquidGuard bisa mengikuti langkah-langkah sebagai berikut :
Pertama install packet untuk mendukung Squidguard seperti Bison dan Flex dan lain-lain dengan perintah :
apt-get install bison flex libdb4.8 libdb4.8-dev
Kemuian download dan install Barkelay DB 4.8.30 NC dengan perintah :
wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
tar -xvzf db-4.8.30.NC.tar.gz
cd db-4.8.30
cd build_unix
../dist/configure
make
make install
echo "/usr/local/BerkeleyDB.4.8/lib" >> /etc/ld.so.conf
ldconfig
cd
Selanjutnya download dan install SquidGuard 1.5 dengan perintah :
wget http://www.squidguard.org/Downloads/Devel/squidGuard-1.5-beta.tar.gz
tar -xzvf squidGuard-1.5-beta.tar.gz
cd squidGuard-1.5-beta
./configure --with-db=/usr/local/BerkeleyDB.4.8 --with-squiduser=proxy
mkdir -p /usr/local/squidGuard/log
chown -R proxy:proxy /usr/local/squidGuard/log
make
make install
Kemudian kita edit file squidGuard.conf  dengan perintah :
nano /etc/usr/local/squidGuard/squidGuard.conf
Rubah menjadi seperti ini :
dbhome /usr/local/squidGuard/DB
logdir /usr/local/squidGuard/log/

dest adult {
 domainlist adult/domains
 urllist  adult/urls
}
dest publicite {
 domainlist publicite/domains
      urllist  publicite/urls
}
dest malware {
        domainlist      malware/domains
        urllist         malware/urls
}

dest redirector {
 domainlist redirector/domains
 urllist  redirector/urls
}

acl {
      default {
         pass   !adult !publicite !malware !redirector all
  #redirect 302:http://192.168.10.251/squidGuard.html
 }
}
Perhatikan baris
#redirect 302:http://192.168.0.1/squidGuard.html
silahkan diganti dengan html-file kreasi anda sendiri atau dibiarkan kosong supaya menggunakan error massage-nya squid. Anda juga bisa membuatnya berbeda untuk setiap kategori, dengan meletakkannya pada baris terakhir setiap kategori.
Selanjutkan tambahkan baris beikut pada squid.conf
url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
sekarang kita lanjtkan membuat script sederhana untuk melakukan download database. Database menggunakan ftp.univ-tlse1.fr yang benar-benar free tanpa syarat dan ketentuan. ketikan perintah berikut :
touch /usr/local/squidGuard/update.sh
chmod +x /usr/local/squidGuard/update.sh
nano /usr/local/squidGuard/update.sh
Copas script berikut :
#!/bin/sh
SG=/usr/local/squidGuard/
DB=/usr/local/squidGuard/DB/
LOG=/usr/local/squidGuard/log/
workdir=/tmp/workdir/

if [ ! -d $workdir ]; then
        mkdir $workdir
fi

if [ ! -d  $DB ]; then
        mkdir $DB
fi

# check that everything is clean before we start.
rm -r $DB/*

if [ -f  $workdir/adult.tar.gz ]; then
        echo "UPDATE STATUS = Old adult.tar.gz found. Deleted!"
        rm $workdir/adult.tar.gz
fi

if [ -f $workdir/publicite.tar.gz ]; then
        echo "UPDATE STATUS = Old publicite.tar.gz found. Deleted!"
        rm -r $workdir/publicite.tar.gz
fi

if [ -f $workdir/malware.tar.gz ]; then
        echo "UPDATE STATUS = Old malware.tar.gz found. Deleted!"
        rm -r $workdir/malware.tar.gz
fi

if [ -f $workdir/redirector.tar.gz ]; then
        echo "UPDATE STATUS = Old redirector.tar.gz found. Deleted!"
        rm -r $workdir/redirector.tar.gz
fi

# copy the recent blacklist
echo "UPDATE STATUS = Retriev and extract adult.tar.gz"
wget -P $workdir 'ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/adult.tar.gz' || { echo "UPDATE STATUS = Unable to download adult.tar.gz" && exit 1 ; }
tar xzf $workdir/adult.tar.gz -C $DB | { echo "UPDATE STATUS = Unable to extract adult.tar.gz" && exit 1 ; }

echo "UPDATE STATUS = Retriev and extract publicite.tar.gz"
wget -P $workdir 'ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/publicite.tar.gz' || { echo "UPDATE STATUS = Unable to download publicite.tar.gz" && exit 1 ; }
tar xzf $workdir/publicite.tar.gz -C $DB | { echo "UPDATE STATUS = Unable to extract publicite.tar.gz" && exit 1 ; }

echo "UPDATE STATUS = Retriev and extract malware.tar.gz"
wget -P $workdir 'ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/malware.tar.gz' || { echo "UPDATE STATUS = Unable to download malware.tar.gz" && exit 1 ; }
tar xzf $workdir/malware.tar.gz -C $DB | { echo "UPDATE STATUS = Unable to extract malware.tar.gz" && exit 1 ; }

echo "UPDATE STATUS = Retriev and extract redirector.tar.gz"
wget -P $workdir 'ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/redirector.tar.gz' || { echo "UPDATE STATUS = Unable to download redirector.tar.gz" && exit 1 ; }
tar xzf $workdir/redirector.tar.gz -C $DB | { echo "UPDATE STATUS = Unable to extract redirector.tar.gz" && exit 1 ; }

echo "UPDATE STATUS = Set permisions to $DB and $LOG directory."
chown -R proxy:proxy $DB
chown -R proxy:proxy $LOG
chmod -R 750 $DB
chmod -R 750 $LOG
rm $SG/*.log

echo "UPDATE STATUS = Updating squidGuard blacklists database."
squidGuard -C all
squidGuard -u

echo "UPDATE STATUS = Reconfiguring squid."
squid -S -k reconfigure
#Jika tidak bisa, gunakan di bawah ini =
#service squid restart

echo "UPDATE STATUS = Done !"
sleep 5s
exit 0
Masukan script berikut ke Cronjob agar bisa autoupdate database :
@monthly * * * * /usr/local/squidGuard/update.sh
Jalankan script tersebut untuk men-download, membuat database dan sekaligus menjalankan squid & squidGuard, dengan perintah :
sh /usr/local/squidGuard/update.sh
Sekarang tinggal tahap percobaan, coba buka salag satau situs porno misal redtube


jika hasilnya terblokir maka penginstalan squidguard sudah berhasil.

Comments

  1. setelah saya instal sesuai urutan diatas, bagian url_rewrite_program error pas saya squid parse. mohon koreksi letak salahnya dimana ?

    ReplyDelete

Post a Comment

Peraturan Berkomentar atau Bertanya :
1. Berikan Komentar dengan sopan dan bijak sesuai dengan isi konten.
2. Komentar yang tidak diperlukan oleh pembaca lain [ SPAM ] akan segera di hapus.
3. Jika Artikel ini bermanfaat silahkan bantu share ke jaringan sosial.

Info :
1. Untuk Menyisipkan Kode Panjang Gunakan <i rel="pre">Kode Disini</i>
2. Untuk Menyisipkan Kode Pendek Gunakan <i rel="code">Kode Disini</i>
3. Untuk Menyisipkan Quote Gunakan <b rel="quote">Catatan Anda</b>
4. Untuk Menyisipkan Gambar Gunakan <i rel="image">URL Gambar</i>
5. Untuk Menyisipkan Video Gunakan <i rel="youtube">URL Video Youtube</i>