=============== Install & Test =============== Proxy ======== Questo modulo è basato su * squid3 * squidguard Installazioen applicazione a sè stante ====================================== :: 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 squid3 ====== Abilitare risoluzione del nome in :file:`/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 proxy-std =========== 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' Sudo ==== in sudoers:: proxy ALL=NOPASSWD:/etc/init.d/squid3,/sbin/pyrewall,/usr/sbin/squid3 test:: su - proxy -c 'sudo /etc/init.d/squid3 restart' SquidGuard ========== 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) Testing con utenti ------------------ :: 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 :ref:`winbind`) Un esempio di test da altro ip:: wget --bind-address=10.50.0.252 -O - -S http://facebook.com Permessi ======== :: 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 bashrc ======= :: cat << FINE>> /root/.bashrc proxy=/home/www/proxy-std proxyp=$proxy/website FINE config base ============ rule:: sempre weekly * 00:00-24:00