SquidGuard

De Cliss XXI
Révision datée du 30 juin 2009 à 14:33 par imported>SylvainBeucler (→‎Installation)
Sauter à la navigation Sauter à la recherche

Installation

Compilation (Debian 5.0 Lenny):

cd /usr/src/
wget http://www.squidguard.org/Downloads/squidGuard-1.4.tar.gz
tar xzf squidGuard-1.4.tar.gz
cd squidGuard-1.4
apt-get install build-essential
apt-get install libdb-dev 
./configure --with-squiduser=proxy
make
make install

Création des répertoires:

mkdir -p /var/lib/squidguard/db/
mkdir -p /var/log/squidguard/
chown proxy: /var/log/squidguard/

Rotation des logs:

echo <<EOF > /etc/logrotate.d/squidguard
/var/log/squidguard/*.log {
	daily
	compress
	delaycompress
	rotate	10
        nocreate
}
EOF

La liste noire

On récupère celle de Toulouse quotidiennement:

cat <<EOF > /etc/cron.daily/liste_noire_de_toulouse
#!/bin/bash
# Refresh DB
rsync -aq rsync://ftp.univ-tlse1.fr/blacklist/ /var/lib/squidguard/db/blacklist/
# Cf. http://www.squidguard.org/Doc/configure.html
squidGuard -C all
chown -R proxy: /var/lib/squidguard/db/blacklist/
EOF

Configuration

Dans /usr/local/squidGuard/squidGuard.conf:

dbhome /var/lib/squidguard/db/blacklist
logdir /var/log/squidguard

Pour créer le fichier de configuration, on peut s'appuyer sur les scripts suivants:

  • Déclaration des listes:
cd /var/lib/squidguard/db/blacklist/dest/
ls */usage | xargs grep -l black | xargs -n1 dirname | (
    while read list; do
	echo "dest $list {"
	if [ -f "$list/domains" ]; then
	    echo "  domainlist $list/domains"
	fi
	if [ -f "$list/urls" ]; then
	    echo "  urllist $list/urls"
	fi
	if [ -f "$list/expressions" ]; then
	    echo "  expressionlist $list/expressions"
	fi
	echo "}"
    done
)
  • Références dans le block default:
echo $(ls */usage | xargs grep -l black | xargs -n1 dirname | while read list; do echo '!'$list; done)

Squid

apt-get install squid3

Dans /etc/squid3/squid.conf:

acl localnet src 10.0.0.0/8                                                                     
http_access allow localnet
url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf

Configuration proxy transparent:

http_port 3128 transparent

Dans iptables:

iptables -t nat -A PREROUTING -i eth-local -p tcp --dport 80 -j REDIRECT --to-port 3128

Liens