SQUIDGUARD via PFSENSE : filtrage web transparent

Pour réaliser un proxy afin de limiter l’accès WEB à certaines catégories de sites, vous pouvez installer un proxy SQUID sur PFSENSE.

Pour cela, cliquez sur l’onglet « System » puis sur « Package Manager » pour installer un nouveau service.

Dans ce menu, cliquez sur « Available Packages » et recherchez SQUID.

Installez ensuite les paquets Lightsquid, SQUID et SQUIDGUARD.

Ouvrez ensuite le gestionnaire de certificats, via l’onglet « System » puis « Cert Manager ».

Nous allons tout d’abord créer une authorité de certification. Cela nous permettra de générer un certificat que l’on va ensuite distribuer sur nos clients afin de rendre le proxy transparent.

Cliquez sur le bouton « ADD ».

Renseignez les champs en fonction de vos besoins et cliquez sur save. Ici j’ai renseigné un nom et indiqué que je souhaitais créer une autorité de certification.

Vous devriez alors obtenir votre autorité de certification :

Pour déployer le Certificat, nous allons procéder manuellement :

Une fois le certificat généré, cliquez sur l’étoile dans les petits logos de droite. Cela va vous permettre d’exporter votre certificat.

Il va alors se télécharger sur votre ordinateur.

Double cliquez dessus pour l’installer :

Cliquez sur installer un certificat.

On le déploit pour l’utilisateur actuel.

Nous allons le placer dans un magasin spécifique :

Sélectionnez « Autorités de certification racines de confiance » : 

Terminez enfin l’installation.

Validez l’avertissement de sécurité.

L‘import va alors réussir.

Pour déployer ce certificat massivement, il est possible de le déployer par exemple via des GPO sur l’ensemble des postes d’un réseau.

Nous allons maintenant passer à la configuration de SQUID :

Via l’onglet « Services », ouvrez « Squid Proxy Server »

Rendez-vous tout d’abord dans « Local Cache ». Pour Hard Disk Cache Size, définissez une valeur, ici j’indique 1000Mo. Sauvegardez ensuite votre configuration en cliquant sur « Save ».

Allez ensuite sur la page « Général », cochez la case « Check to enable the squid proxy ».

Cochez la case « Resolve DNS IPv4 First » afin d’éviter les problèmes d’accès aux sites HTTPS.

Cochez ensuite la case « Transparent http Proxy »

Activez le filtrage HTTPS en cochant la case HTTPS/SSL Interception. Plus bas dans CA choisissez l’autorité de certification que vous venez de créer.

Si vous y êtes tenus légalement, vous pouvez logger les accès en cochant la case « Enable Access Logging » et définissez la durée de rétention dans « Rotate Logs ». Assurez-vous de disposer d’un stockage conséquent.

Définissez vos paramètres linguistiques dans « Error Language ». Puis enfin cochez la case « Suppress Squid Version ».

Cliquez enfin sur Save pour sauvegarder tous les paramètres renseignés.

Rendez-vous maintenant dans l’onglet Services puis « Squidguard Proxy Filter ».

Cochez la case « Check this option to enable squidGuard » et cliquez sur « Apply ».

Le service devrait passer sur started :

Cochez les cases « Enable Log » et « Enable Log rotation » pour suivre les événements sur le proxy.

Nous allons ensuite utiliser une blacklist afin de bloquer certains contenus. Cochez la case « blacklist ».

Vous pouvez utiliser la liste de l’université de Toulouse dans le champ « blacklist URL » :

http://dsi.ut-capitole.fr/blacklists/download/blacklists_for_pfsense.tar.gz

Cliquez ensuite sur « save ».

Rendez-vous ensuite sur l’onglet « blacklist » :

Cliquez sur le bouton download pour télécharger les filtres.

Une fois cela terminé, rendez-vous dans l’onglet « Common ACL ».

Cliquez sur le bouton « + » du menu « Target Rules List ».

Vous devriez obtenir un menu de ce type :

Pour la ligne « Default access » tout en bas placez votre choix en « allow », puis interdisez vos catégories en les positionnant sur « deny ». Ici je ne bloque que les sites faisant mention de VPN ou de sites pour adultes pour le test.

Cochez les cases «Do not allow IP addresses in URL » et « Use SafeSearch engine ». Enfin cliquez sur « save » pour sauvegarder la configuration.

Retournez ensuite sur « General Settings » et cliquez sur « Apply ».

Nous allons désormais configurer Lightsquid. Dans l’onglet « Status », cliquez sur « Squid Proxy Reports ».

Vous pouvez ici changer les identifiants de connexion à la page Lightsquid. Par défaut, il s’agira des identifiants de PFSENSE.

Vous pouvez ensuite changer la langue de l’interface.

Indiquez ensuite une période de rafraichissement des données dans l’interface dans « Refresh Scheduler ».

Cliquez enfin sur « save ».

Cliquez ensuite sur « Open Lightsquid ». Une page contenant les informations de Logs devrait s’afficher.

Redémarrez ensuite PFSENSE. Dans l’onglet « Diagnostics », cliquez sur « Reboot ».

Tests

Depuis la machine cliente, tester une catégorie interdite pour vérifier le blocage :

Dans l’interface Lightsquid, vous retrouverez alors les logs de la machine cliente :


Sources :

Pfsense.org : Télécharger Pfsense

7 réflexions sur “SQUIDGUARD via PFSENSE : filtrage web transparent”

  1. Bonjour,

    Merci pour cette procédure pas-à-pas;, elle m’a vraiment été utile pour comprendre le fonctionnement.

    j’ai suivi toute la procédure plusieurs fois sur une VM et effectivement avec la catégorie vpn ça fonctionne.
    En revanche, lorsque je choisi la catégorie adult il semble que ça ne fonctionne pas comme ça devrait.

    Avez vous déjà eu ce genre de problème ou est-ce que c’est moi qui est mal configuré un élément

    1. Bonjour,

      Cela pourrait venir du fait que la liste n’est pas complète ou obsolète.

      Vous devriez regarder des tutoriels concernant Google Safe Search qui peut être utilisé via squidguard.

      En espérant que cela puisse vous aider.

  2. soukeye sall

    Bonjour.
    j’ai suivi ce tutoriel mais j’aimerais savoir si squid et squidguard sont installer sur la machine serveur ou sur la machine cliente.
    car si j’ai appliquer votre démarche sur la machine serveur, les sites que j’ai bloques ne fonctionnent pas sur les machines clientes mais uniquement sur la machine serveur.
    donc si vous pouvez m’indiquer ou installer ce service pour que j’arrive a interdire certains clients de naviguer sur certains sites.

    1. Bonjour,
      Il faut déployer le certificat (généré au début du tutoriel) sur l’ensemble des machines clientes, sinon le serveur n’est pas capable d’appliquer le filtrage sans ces certificats.

  3. Bonjour,
    très bon tuto merci.
    je voulais savoir une chose car dans mon cas j’ai un petit problème.
    j’ai suivi le tuto mais je n’ai plus accès un internet :
    SSL_ERROR_RX_RECORD_TOO_LONG

    a force de chercher j’ai regardé sur la configuration du proxy dans Windows
    si je met:
    utiliser un serveur proxy
    et que je rentre l’adresse IP de mon pfsense
    alors j’ai accès a internet

    ma problématique :
    vu que je suis sur un PC portable quand je sors de chez moi
    si j’oublie de déactivé le serveur proxy alors je n’ai pas accès a internet et vise versa quand je rentre chez moi.

    est ce qu’une personne pourrait m’expliquer comme résoudre cela.

    1. Bonjour,

      Lorsque la configuration est inscrite en dur sur Windows, il faudra effectivement changer la configuration manuellement à chaque fois.

      Le plus simple est de définir pfsense comme étant la passerelle internet sur votre réseau local. De cette manière il n’y aura aucune configuration particulière à faire sur le PC.

      Cela nécessitera peut-être de revoir la configuration réseau de pfsense.

      En espérant avoir répondu à votre question.

Répondre à fabrice prigent Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *