Portail Captif Multi-Zones pfSense

Authentification LDAP et invités, filtrage web et traçabilité RGPD

Technologies : pfSense LDAP Squid SquidGuard VLAN Niveau : 🔴 Avancé

Objectif du projet

  • Protection de l’accès réseau : portail captif imposant une authentification préalable
  • Double authentification : LDAP pour les internes, code temporaire pour les invités
  • Filtrage Internet via Squid/SquidGuard pour bloquer les contenus inadaptés (RGPD & mineurs)
  • Traçabilité et journalisation : archivage des logs pendant 1 an
  • Solution open source, évolutive et reproductible, pouvant être déployée dans d’autres établissements

Contexte

Dans le cadre d’un projet réalisé pour un collège accueillant des mineurs, il a été décidé de mettre en place une solution de sécurisation et de contrôle d’accès réseau. L’environnement technique repose sur une infrastructure virtualisée VMware ESXi et exploite des solutions open source afin de garantir robustesse, coût réduit et conformité légale.

L’objectif principal était de sécuriser les accès au réseau Wi-Fi et filaire, en différenciant :

  • Les utilisateurs internes (authentifiés via LDAP)
  • Les invités (accès ponctuel via code temporaire envoyé par email)

Cahier des charges

  • Accès interne : LDAP centralisé pour le personnel/élèves
  • Accès invité : génération automatique de codes envoyés par email
  • Sécurité : filtrage web (SquidGuard), authentification obligatoire, logs
  • Traçabilité légale : conservation des accès et navigation ≥ 1 an
  • Virtualisation : hébergement sur ESXi (VM pfSense, VM test, serveur LDAP)

Architecture visée

  • 1 VM pfSense (pare-feu, DHCP, DNS, portail captif, NAT, filtrage)
  • 1 serveur LDAP (authentification interne)
  • 1 serveur SMTP (envoi des codes invités)
  • Squid + SquidGuard (proxy et filtrage web)
  • Stockage externe (logs et sauvegardes)
  • Deux VLANs distincts : LAN interne (LDAP) et LAN invité (portail captif + codes temporaires)

Schéma d’architecture

Démarche et mise en œuvre

  • Installation pfSense sur une VM ESXi (2 interfaces : WAN/LAN)
  • Configuration réseau : plan IP + segmentation interne/invités
  • Mise en place du portail captif :
    • Zone LDAP → connexion avec serveur d’annuaire
    • Zone invité → formulaire + génération code temporaire
  • Filtrage Internet : installation Squid + SquidGuard, import des blacklists (sites adultes, paris, etc.)
  • SMTP : configuration plugin pfSense pour envoi automatique des identifiants invités
  • Journalisation : activation Syslog vers serveur externe + rétention 1 an
  • Tests : PC Windows, smartphone Android → authentification OK, filtrage OK, logs générés

Résultats et livrables

  • Portail captif fonctionnel et accessible sur PC/mobile
  • Double mode d’authentification (LDAP + Invités)
  • Filtrage opérationnel (sites interdits bloqués)
  • Traçabilité complète (logs centralisés)
  • Documentation livrée : cahier des charges, guide de déploiement, schéma d’architecture, procédures utilisateurs

Résultats & Captures

Interface du portail invité

Connexion via LDAP

Portail connecté côté invité

Portail sur mobile

Problèmes rencontrés et solutions

  • LDAP : mauvaise configuration du DN → corrigée via tests avec ldapsearch
  • Isolation VLAN : trafic invité fuyait vers LAN → corrigé par règles pfSense strictes
  • Filtrage SquidGuard : certaines listes trop larges → adaptation des règles pour éviter faux positifs

Compétences mobilisées

  • C1 : Fournir les services liés au SI (mise en place d’un service réseau sécurisé et documenté)
  • C2 : Collaborer avec les acteurs (rédaction de cahier des charges, documentation claire)
  • C3 : Veille technologique (étude comparée pfSense/Squid/SquidGuard, conformité RGPD)
  • C4 : Sécuriser le SI (filtrage web, VLAN, traçabilité, sauvegardes)

Retour d’expérience

Ce projet m’a permis d’approfondir la gestion d’accès réseau et l’intégration LDAP, de comprendre les enjeux légaux (RGPD, journalisation), de travailler sur la segmentation réseau via pfSense et le filtrage web avec Squid/SquidGuard, et de développer des compétences en documentation technique (guide, procédures, schéma).

Améliorations possibles :

  • Ajout d’IDS/IPS (Snort/Suricata)
  • Automatisation via Ansible pour déploiement multi-sites