Installation et Configuration de Dansguardian pour Squid

dansguardian jpg

Le filtrage de contenu.

J'ai expliqué brièvement dans un billet récent comment mettre en place un proxy avec Squid sous Debian (ceci dit, c'est la même chose avec n'importe quelle distribution, seul quelques détails changent). Une question question posé était: comment se prémunir d'un proxy ouvert sur le net qui pourrait mettre à mal les tentatives de sécurisation et de gestion d'accès à internet de notre LAN?

Une réponse à ceci pourrait être le filtrage de contenu grâce à Dansguardian ou Squidguard.

Nous utiliserons ici Dansguardian.

Prérequis :

Connaître un tant soit peu Linux et le réseau. Avoir une machine configuré avec Squid comme vu ici.

Objectif :

Réaliser et comprendre toutes les étapes de la configuration d'un filtrage de contenu avec Dansguardian

Matériel :

Deux machines en virtuel ou en physique. (Une sous Linux et l'autre, le client, avec n'importe quel OS.) De quoi faire communiquer les deux machines (switch, câbles UTP, etc)

En plus du fait que Squid va gérer les accès sur l'horaire, la sources, la mac adresse ou d'autres critères, il peut être utile aussi de filtrer le contenu des sites web visités.

Le filtrage sera utile pour prohiber l'accès à certain site jugé non désirable pour l'entreprise (en vertu d'un certain nombre de critère émis par la direction par exemple) qui entraînerait une baisse considérable de la productivité (facebook par exemple...) ou qui ne sont simplement pas le genre de site à consulter au boulot (porno?).

Dansguardian fonctionne filtre plusieurs choses et fonctionne de différentes façon. Nous pourrons grâce à des blacklists (téléchargeable sur internet) interdire des domaines, des urls, des extensions de fichier. Un autre aspect du filtrage concerne une pondération des mots qui pourraient se trouver dans la page elle même. Chaque page sera lue par Dansguardian afin d'établir si un page peut être affichée ou pas.

Donc nous aurons au final les requêtes qui arriveront a Dansguardian, qui les enverra à Squid qui ira chercher la page pour vous, la rendra à Dansguardian qui ensuite vous la restituera.

Passons aux choses sérieuse après tout ce blabla.

aptitude install dansguardian

Techniquement, Dansguardian fonctionne déjà avec un configuration toute faite. Vous pouvez éditer le fichier suivant vim /etc/dansguardian/dansguardian.conf

pour commenter la ligne qui commence par UNCONFIGURED afin de pouvoir lancer le service dansguardian.

/etc/init.d/dansguardian restart

Pour le moment, aucune requête n'arrive jusque Dansguardian et le pauvre n'a pas grand chose à faire. Aucun requête n'arrive car nous avons une redirection du trafic vers le port 80 (http) redirigé vers le port 3128 (squid). Or, dansguardian écoute sur le porte 8080.

iptables -t nat -D PREROUTING 1
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables-save > /etc/iptables

Maintenant Dansguardian reçoit les requêtes mais si vous testez, vous verrez que Squid ne les autorise pas à passer. Juste? Pourquoi donc?

Simplement, si vous retournez dans le fichier de configuration de squid, vous vous apercevrez que nous l'avions configuré pour qu'il accepte les requêtes venant du LAN mais maintenant il n'en est plus rien vue que c'est Dansguardian qui fait la requêtes, donc 127.0.0.1 (la boucle local quoi).

Il faut donc modifier squid :

vi /etc/squid3/squid.conf

Et supprimer deux lignes pour en écrire deux autres: l'acl et le http_access.

TROUVER :

acl localnet src 192.168.2.0/24
http_access allow localnet

REMPLACER PAR :

acl localhost src 127.0.0.1/32
http_access allow localhost

Quittez en sauvant le fichier et redémarrez squid

/etc/init.d/squid3 restart

Maintenant, tout devrait rouler.

Cool, ça fonctionne mais on ne sait pas encore pourquoi. Étant formateur, je sais que chercher par soi-même et trouver la solution est la meilleur façon de retenir (c'est aussi du vécu) donc je vous invite à chercher.

Petites indices:

Fichiers de configuration à checker:
/etc/dansguardian/dansguardian.conf
/etc/dansguardian/dansguardianf1.conf
/etc/dansguardian/lists/*

Le deux premiers fichier sont commentés et ne sont pas compliqué à comprendre. Vous vous y retrouverez sûrement très rapidement :)

Le premier contient la configuration du service, de son fonctionnement, du type de log ressorti, de l'ip du proxy à contacter. Le second contient pour sa part les répertoires des blacklists, la pondération maximum autorisée, etc.

Bon amusement avec Dansguardian et Squid ;-)

Vus : 543
Publié par System Linux : 211