apt-get update && apt-get install thunder-buildout
cd /home/www
hg clone ssh://hg.thundersystems.it//home/hg/thunder/siti/proxy-std
cd proxy-std
python bootstrap.py
bin/buildout -N
Abilitare risoluzione del nome in /etc/hosts
Proxy trasparente:
http_port 3128 transparent
Redirect:
url_rewrite_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf
pyrewall:
* abilitare porta 443 dall'esterno
apache:
* mkdir -p /etc/apache2/ssl
* make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
In local.py qualcosa come:
PATH_PROXY_CONF = '/etc/squid3/squidGuard.conf'
PATH_LOG = '/var/log/squid3'
PROXY_SQUID = 'squid3'
URL_REDIRECT = 'http://10.255.255.50/blocked/squidguard.html?caddr=%a&cname=%n&user=%i&group=%s&u\
rl=%u&target=%t'
in sudoers:
proxy ALL=NOPASSWD:/etc/init.d/squid3,/sbin/pyrewall,/usr/sbin/squid3
test:
su - proxy -c 'sudo /etc/init.d/squid3 restart'
blacklist:
wget -O /tmp/blacklists.tgz http://squidguard.mesd.k12.or.us/blacklists.tgz
tar -C /var/lib/squidguard/db -xzvf /tmp/blacklists.tgz
chown -R proxy.proxy /var/lib/squidguard/db
squidGuard -c /etc/squid3/squidGuard.conf -C all
test:
echo "http://facebook.com 10.50.0.103/ - - GET" | squidGuard -c /etc/squid3/squidGuard.conf -d 2>&1|tail
Quando è bloccata otteniamo qualcosa così:
2012-09-21 14:54:11 [23092] squidGuard ready for requests (1348232051.823)
http://10.255.255.50/blocked/squidguard.html?caddr=10.50.0.103&cname=&user=&group=net50&url=http://facebook.com&target=my_black 10.50.0.103/- - -
2012-09-21 14:54:11 [23092] squidGuard stopped (1348232051.823)
Nel caso in cui passi il log è:
2012-09-21 14:54:11 [23092] squidGuard ready for requests (1348232051.823)
2012-09-21 14:54:11 [23092] squidGuard stopped (1348232051.823)
echo "http://facebook.com 10.50.0.103/ sandro - GET" | squidGuard -c /etc/squid3/squidGuard.conf -d 2>&1|tail
il secondo token passato nella pipe a squidGuard può essere un utente, per un utente di dominio possiamo usare la scrittura DOMINIO+utente (a seconda della convenzione usata in Autenticazione su ActiveDirectory)
Un esempio di test da altro ip:
wget --bind-address=10.50.0.252 -O - -S http://facebook.com
mv /etcsquid/squidguard.conf /etc/squid3
cd /etc/squid3
ln -s /etc/squid3/squidGuard.conf /etc/squid
chown proxy /home/www/proxy-std/website/proxy.db
chown proxy /home/www/proxy-std/website
chown proxy /etc/squid3/squidGuard.conf
cat << FINE>> /root/.bashrc
proxy=/home/www/proxy-std
proxyp=$proxy/website
FINE