Zabrana sajtova pod Squid-om

U pitanju je CentOS 6 server sa Squid-om 3.1.10-20, koji odozgo ima SquidGuard.
Postoje tri načina da se ovo izvede :

1. Direktno u /etc/squid/squid.conf :
**************************
acl mreza src 10.0.0.0/8
Definišemo opseg IP adresa na koji se zabrana odnosi
acl drustvenemreze dstdomain “/etc/squid/drustvene.mreze”
Definišemo fajl u koji smo stavili listu zabranjenih sajtova
http_access deny mreza drustvenemreze
***************************
Evo kako taj spisak izgleda (tačke ispred sajta omogućavaju da se automatski zabranjuju i poddomeni, kao i varijacije tipa : www.facebook.com, http://facebook.com ili https://facvebook.com) :
.facebook.com
.twitter.com
.tumblr.com
.instagram.com
.vk.com
…..
2. Isto direktno u /etc/squid/squid.conf, samo što se umesto spiska koji je u fajlu, spisak stavlja direktno u squid.conf (ovo jeste brže, ali je primenljivo samo ako je broj sajtova relativno mali) :
*******************
acl mreza src 10.0.0.0/8
acl drustvenemreze dstdomain .facebook.com .twitter.com .instagram.com .tumblr.com .vk.com
http_access deny mreza drustvenemreze
*******************
3. Zabrana se stavlja na nivou SquidGuard-a
Ovo jeste najkomplikovaniji način, ali dobijate odvojeni log u kome se navodi ko je zabranu pokušao da prekrši. A nekako je i najelegantnije rešenje 😉
Napravi se folder /usr/local/squidGuard/db/blacklists/drustvenemreze, i u njega se stave fajlovi :
-rwxrwx— 1 squid squid 131 Sep 24 13:05 domains
-rwxrwx— 1 squid squid 0 Sep 24 13:36 expressions
-rwxrwx— 1 squid squid 131 Sep 24 13:34 urls
Fajlovi domains i urls su isti, i sadrže spisak problematičnih domena :
facebook.com
twitter.com
tumblr.com
instagram.com
vk.com
flickr.com
…..
Paziti da su vlasništva i dozvole kao gore navedeni!!!!
Izmeniti konfiguracioni fajl /usr/local/squidGuard/squidGuard.conf :
******************
…..
dest drustvenemreze {
domainlist blacklists/drustvenemreze/domains
urllist blacklists/drustvenemreze/urls
expressionlist blacklists/drustvenemreze/expressions
redirect http://www.mup.gov.rs
log drustvenemreze.log
}
…..
acl {
admin {
pass any
}

default {
pass !porn !drustvenemreze all
redirect http://www.neki.moj.sajt
}
}
*********************
Aktivirati dodatne liste :
# pwd
/usr/local/squidGuard/db
# squidGuard -u -C all
Paralelno u drugom prozoru :
# tail -f /usr/local/squidGuard/log/squidGuard.log
Ponovo podesiti prava i vlasništva :
# chmod -R 770 /usr/local/squidGuard/db/*
# chown -R squid.squid /usr/local/squidGuard/db/blacklists/
Restartovati squid :
# service squid reload
Testirati rad :
# echo “http://www.facebook.com 10.10.10.143/ – – GET” | squidGuard -c /usr/local/squidGuard/squidGuard.conf -d