Différences entre versions de « SquidGuard »
Sauter à la navigation
Sauter à la recherche
imported>SylvainBeucler m (→Installation) |
imported>SylvainBeucler m (→Liens) |
||
Ligne 85 : | Ligne 85 : | ||
Dans iptables: | Dans iptables: | ||
iptables -t nat -A PREROUTING -i eth-local -p tcp --dport 80 -j REDIRECT --to-port 3128 | iptables -t nat -A PREROUTING -i eth-local -p tcp --dport 80 -j REDIRECT --to-port 3128 | ||
+ | |||
+ | == Page d'erreur == | ||
+ | |||
+ | On pourra installer un petit serveur web sur lequel rediriger les requêtes en cas de page bloquée: | ||
+ | apt-get install lighttpd | ||
+ | |||
+ | Dans <code>/var/www/bloque.html</code>: | ||
+ | <meta http-equiv="content-type" value="text/html;charset=UTF-8" /> | ||
+ | Cette page est bloquée. | ||
+ | |||
+ | Dans <code>/usr/local/squidGuard/squidGuard.conf</code>: | ||
+ | acl { | ||
+ | defaut { | ||
+ | ... | ||
+ | redirect http://192.168.1.1/bloque.html | ||
+ | |||
== Liens == | == Liens == |
Version du 30 juin 2009 à 14:58
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
Page d'erreur
On pourra installer un petit serveur web sur lequel rediriger les requêtes en cas de page bloquée:
apt-get install lighttpd
Dans /var/www/bloque.html
:
<meta http-equiv="content-type" value="text/html;charset=UTF-8" /> Cette page est bloquée.
Dans /usr/local/squidGuard/squidGuard.conf
:
acl { defaut { ... redirect http://192.168.1.1/bloque.html
Liens
- Documentation SquidGuard: principes de configuration et configuration minimale
- Blacklists UT1 : squidguard.conf: exemple de configuration de l'université de Toulouse
- Proxy transparent simplement avec linux et SQUID: configuration proxy transparent Squid