Blocking Situs Dengan SquidGuard pada Ubuntu


Pada kesempatan kali ini saya akan coba jelaskan cara bloking situs dengan menggunakan squidGuard. Terlebih dahulu siapkan server yang telah terinstall squid. Artikel terkait bisa dibaca di sini. Berikut adalah langkah2-nya:

Install squidGuard

apt-get install squidguard

download blacklist

wget http://squidguard.mesd.k12.or.us/blacklists.tgz

pindahkan file blacklist.tgz

mv blacklists.tgz /var/lib/squidguard/db/

pindah ke directory dimana file blacklists.tgz diletakkan

cd /var/lib/squidguard/db

extract file blacklists.tgz

tar -zxvf blacklists.tgz

akan meghasilkan folder ads, porn, violence, dsb. masing – masing folder terdapat file urls dan domains yang berisi daftar url atau domain sesuai dengan kategorinya.

ubah permission semua file blacklists

chomod 777 * -R

chown proxy:proxy * -R

Konfigurasi squidGuard.conf sebagai berikut (terdapat di directory /etc/squid/) :

#
# CONFIG FILE FOR SQUIDGUARD
#

dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squid

# DAFTAR SOURCE ADDRESS

src manager  {

# source address dengan berbagai format penulisan
ip 192.168.1.0-192.168.1.255
ip 192.168.2.0/24
ip 192.168.3.0/255.255.255.0
ip 192.168.4.1 192.168.4.2 192.168.4.3
iplist maganerlist
# buat file dengan nama managerlist di directory dbhome (/var/lib/squidguard/db/blacklists
# contoh isi file tersebut
#
# 192.168.1.0-192.168.1.255
# 192.168.2.0/24
# 192.168.3.0/255.255.255.0
# 192.168.4.1 192.168.4.2 192.168.4.3
}

src staff  {
ip 192.168.5.0/24
}
# TIME RULES

time habiskerja {
weekly * 17:00-24:00 # setiap hari dari jam 5 sore sampai ja 12 malem
date *.01.01 # tahun baru
}

# DAFTAR DESTINATION

dest porn {
domainlist porn/domains
urllist porn/urls } dest ads {
domainlist ads/domains
urllist ads/urls
}

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

dest audio-video {
domainlist audio-video/domains
urllist audio-video/urls
}

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

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

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

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

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

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

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

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

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

# MASUKKAN ACCESS LIST / POLICY DI BAGIAN INI

acl {
manager {
pass all # manager di los aja
}
staff within habiskerja {
pass all # staff di los kalau jam pulang kantor
}
default {
pass !ads !audio-video !gambling !proxy !spyware !violence !aggressive !drugs !hacking !porn !redirector !suspect !warez all
redirect http://muslim.or.id
}
}

generate file db untuk semua destination yang sudah kita definisikan pada konfigurasi di atas

squidGuard -C all

Akan terbentuk file .db pada masing – masing folder di blacklists direcorty. Ubah permissionnya agar squid bisa membaca file tsb. chmod 777 /var/lib/squidguard/bl/* -R

chown proxy:proxy /var/lib/squidguard/bl/* -R

tambah baris berikut di file /etc/squid/squid.conf

url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

restart squid

squid -k reconfigure

Silakan cek rules/policy yang telah dibuat dengan mengakses situs yang telah diblok.

Membuat Proxy Server Dengan Lusca Head


Sebelumnya silakan baca dulu artikel saya bagaimana cara instalasi squid pada debian di sini

Install paket2 yang diperlukan:

apt-get install squid squidclient squid-cgi gcc build-essential sharutils ccze libzip-dev automake1.9

download file lusca

wget https://sites.google.com/site/catatanfaish/lusca_he/LUSCA_FMI.tar.gz

extract file lusca-nya

tar xzvf LUSCA_FMI.tar.gz

masuk ke directory hasil extract

cd LUSCA_FMI

kemudian kita compiler lusca headnya

./configure --prefix=/usr --exec_prefix=/usr \
--bindir=/usr/sbin --sbindir=/usr/sbin \
--libexecdir=/usr/lib/squid --sysconfdir=/etc/squid \
--localstatedir=/var/spool/squid --datadir=/usr/share/squid \
--enable-http-gzip --enable-async-io=24 --with-aufs-threads=24 \
--with-pthreads --enable-storeio=aufs --with-maxfd=65536 \
--enable-linux-netfilter --enable-arp-acl --enable-epoll \
--enable-removal-policies=heap --with-aio --with-dl --enable-snmp \
--enable-delay-pools --enable-htcp --enable-cache-digests \
--disable-unlinkd --enable-large-cache-files --with-large-files \
--enable-err-languages=English --enable-default-err-language=English


Install lusca

make && make install

Stop squid

squid -k shutdown

kita ganti file squid.conf dengan file berikut

wget https://sites.google.com/site/catatanfaish/lusca_he/squid.conf

download storeurl

wget https://sites.google.com/site/catatanfaish/lusca_he/storeurl.pl

kita buat permision untuk squid.conf dan storeurl.pl

chown proxy:proxy /etc/squid/storeurl.pl
chmod 777 /etc/squid/storeurl.pl
chmod 600 /etc/squid/squid.conf

sekarang kita buat cache_dir nya:

saat installasi buat 2 partisi khusus untuk cache. tentang installasi linux server (debian) bisa dilihat di sini

/cache1—>>partisi untuk cache pertama

/cache2—>>partisi untuk cache kedua

cd /cache1

mkdir proxy1
chmod 777 /cache1/proxy1
chown proxy:proxy /cache1/proxy1

cd /cache2
mkdir proxy2
chmod 777 /cache2/proxy2
chown proxy:proxy /cache2/proxy2

sekarang kita buat swap untuk cache_dir nya

squid -f /etc/squid/squid.conf -z

sekarang jalankan squidnya

squid -N -d 1 -D

kemudian cek untuk squidnya

tail –f /var/log/squid/access.log

 

 

Selamat mencoba!!!

 

SELESAI