pfSense est un excellent routeur et pare-feu pour un home office ou une petite entreprise. Il peut être installé sur un vieil ordinateur avec deux cartes réseau, ce qui permet de le transformer en routeur puissant et d’économiser pas mal d’argent.
Et bien sûr, parfois, on a besoin de bloquer l’accès à certains sites web sur le réseau de l’entreprise, que ce soit pour des raisons de politique interne ou autre.
Et bien sûr, cela peut se faire avec pfSense !
Aujourd’hui, je vais vous montrer une des façons de faire ce blocage. Comme exemple, je vais bloquer Facebook, mais vous pouvez bloquer n’importe quel autre site de la même manière.
Je bloque Facebook uniquement à titre de démonstration 🙂
Vous pouvez évidemment bloquer n’importe quel autre site, comme TikTok, Instagram, Twitter, ou tout autre domaine selon vos besoins.
Prérequis
Avant de commencer, assurez-vous que pfSense est bien installé et configuré.
Le client dans votre réseau interne doit avoir accès à Internet.
Pour la démonstration, je vais utiliser pfSense installé sur Proxmox, connecté :
- avec une carte réseau WAN à mon réseau domestique ;
- avec une carte réseau LAN au réseau interne de Proxmox.
Comme client, j’utilise Linux Mint, connecté au réseau interne de Proxmox.
Ainsi, si on simplifie, le réseau ressemble à ceci :
Avant de commencer, testons si le client a accès à Facebook :
Création d’un alias
Maintenant, on va créer un alias.
Allez dans Firewall > Aliases et cliquez sur Add.
Remplissez les champs suivants. Dans mon cas, j’ai mis :
- Name : FACEBOOK
- Description : facebook
- Type : Host(s)
- IP or FQDN : www.facebook.com
Puis cliquez sur Add Host et ajoutez les adresses suivantes :
facebook.com
messenger.com
fbcdn.net
Comme ça, on va aussi bloquer les CDN de Facebook.
Cliquez sur Save, puis Apply Changes.
Ajouter une règle dans le pare-feu
Après avoir créé l’alias, allez dans :
Firewall > Rules > LAN
Cliquez sur Add en haut (flèche vers le haut).
Dans la section Edit Firewall Rule :
- Action : Block (ou Reject — Block coupe silencieusement, Reject informe le client. Block est souvent préféré.)
- Interface : LAN (si vous utilisez un VLAN, sélectionnez OPTxx correspondant)
- Address Family : IPv4
- Protocol : TCP/UDP
Dans la section Source :
Source : LAN subnet
Dans la section Destination :
Destination : Single host or alias
Address : FACEBOOK (ou un autre nom d’alias que vous avez créé)
Cliquez sur Save, puis sur Apply Changes.
Et maintenant on va tester :
Et voilà, Facebook est bloqué !
J’ai montré la méthode la plus simple à mon avis, mais il existe aussi d’autres façons de bloquer l’accès à un site web avec pfSense :
DNS Resolver (Host Override) : permet de rediriger un domaine vers une adresse locale (ex. 127.0.0.1), mais cette méthode peut être contournée si le client utilise un DNS externe.
pfBlockerNG : un paquet puissant qui filtre par domaine ou par IP en utilisant des listes externes (GeoIP, réseaux sociaux, publicités). Plus complet, mais plus complexe à configurer.
Squid + SquidGuard : proxy filtrant capable de bloquer par URL ou par catégorie, y compris le trafic HTTPS. Demande cependant une configuration avancée (certificats, redirection proxy, etc.).
Règle IP directe : permet de bloquer une adresse IP spécifique dans le pare-feu, mais ce n’est pas fiable pour les services utilisant des adresses dynamiques, comme Facebook
Bonne chance !