Proxy non-transparent et filtrage : Squid + SquidGuard

De wikiGite

Introduction

Notes concernant l'installation d'un pfsense et d'un proxy pour filtrer le HTTP et le HTTPS. Pour filtrer le HTTPS le proxy doit être en mode non-transparent, ce qui implique une configuration explicite sur les postes clients (navigateurs).


Installation et configuration

Dans system => Package installer les paquets :

  • Squid
  • SquidGuard

La configuration de Squid se fait dans Services => Proxy Server

Sur l'onglet General dans la configuration de Squid:

  • S'assurer que proxy interface pointe sur la bonne carte
  • Cocher la case Allow users on interface
  • Sauver la configuration

Ici Squid devrait fonctionner, en mode non-transparent. Configurer un poste client avec les infos du proxy pour vérifier.


Configuration de SquidGuard

La configuration de SquidGuard se fait dans Services => Proxy filter

  • Activer les blacklists :

Dans l'onglet général, en bas de la page, cocher "Enable blacklists" et remplir le champ avec l'adresse de téléchargement d'un fichier de blacklists (http://dsi.ut-capitole.fr/blacklists/download/blacklists_for_pfsense.tar.gz). Sauvegarder.

Dans l'onglet blacklists, le lien entré à l'étape précédente doit apparaître. Cliquer sur "Download".

  • Paramètrer les blacklists

Dans l'onglet "Common ACL", cliquer sur "Target Rules List" dans le bandea rouge pour dérouler la liste des Blacklists. Trois états possibles pour les listes :

Allow Les connexions seront autorisées
Deny Les connexions seront bloquées
Whitelist Les connexions seront autorisées MEME SI le site figure également dans une liste marquée "Deny".


Vider le cache

Voici la procédure pour supprimer tous le cache de squid manuellement. Une tache cron redémare squid toutes les 5 minutes. Il faut donc réaliser ces étapes rapidement.

  • Arrêter Squid :

/usr/local/etc/rc.d/squid.sh stop

  • Vider le cache de Squid :

echo "" > /var/squid/cache/swap.state

  • Supprimer tous les répertoires sous /var/squid/cache/ :

rm -Rf /var/squid/cache/0*

  • Redémarrer Squid :

/usr/local/etc/rc.d/squid.sh start


Lightsquid

Installer lightsquid pour visualiser des statistiques sur l'utilisation du réseau dans system => package. Dans la configuration générale de squid, vérifier que la valeur de squid Log store directory pointe bien sur /var/squid/log sans S.

La visualisation se fait dans Services => Proxy Reports


Listes personnalisées

En plus des listes de catégories disponibles sur internet, on créer notre propre catégorie. Pour se faire, dans la page de configuration du filtre proxy, sous l'onglet "Target Categories" et "Add Item" (à droite de la liste).

Vous pouvez ensuite entrer des noms de domaine ou URLs de sites dans les champs correspondants.

Une fois enregistrée, cette catégorie apparaîtra avec les autres sous l'onglet "Common ACLs".

Deux cas de figures :
Bloquer des sites : Il suffit, comme pour les autres de régler le menu déroulant à droite de la liste sur "Deny"

Autoriser des sites : Par défaut les site bloqués (Deny) sont prioritaires sur les sites autorisés (Allow). Pour passer au dessus, régler sur "Whitelist"


Sources

http://forum.pfsense.org/index.php?topic=46791.0;prev_next=prev : bug squid télécharge en continue les mises a jours

http://doc.pfsense.org/index.php/Setup_Squid_as_a_Transparent_Proxy : doc officielle