Installation d’un pare-feu PFSense

Bonjour les amis,

Dans cet article on va parler de la mise en place d’un pare-feu PFSense.

Je vous invite à regarder mon article sur la mise en place d’un pare-feu IPCop, que nous allons le voir il y a des similarités, comme par exemple dans la définition de nos règles.

I°) PFSense, Késako ?

PFSense est un pare-feu open source basé sur FreeBSD. Il est très répandu dans les entreprises, il permet beaucoup de choses. Avec PFSense on peut faire du filtrage (évidemment c’est un pare-feu), il peut servir de DHCP, de DNS, il peut faire Proxy, VPN (IPsec, SSL, …), NAT, portail captif et énormément d’autre fonctionnalité.

PFSense dispose de son propre gestionnaire de paquets ce qui nous permet d’ajouter des fonctionnalités très simplement (par exemple ajouter la fonctionnalité serveur VoIP)

II°) Mon environnement

Schéma de mon réseau :

Je dispose d’un total de 3 machines virtuelles et un PC physique. J’ai virtualisé PFSense ainsi que deux machines Debian, une qui fait office de serveur DNS et FTP, la seconde simule un utilisateur du réseau 172.16.1.0/24.

Mon réseau 192.168.1.0/24 faits office de WAN.

Pour virtualiser mes machines j’utilise VirtualBox.

Mon interface WAN aura l’adresse 192.168.1.254, et l’interface LAN aura l’adresse 172.16.1.1

Attention ! Dans cet article je ne détaille pas l’installation des machines Debian, seulement du PFSense. De plus je ne détaillerais pas l’installation du service FTP et DNS dans cet article.

III°) Installation de PFSense

On commence par télécharger l’ISO de PFSense, sur le site officiel : https://www.pfsense.org/download/

Ensuite on fait une nouvelle machine virtuelle sur VirtualBox, il faut sélectionner FreeBSD comme type de machine. On met deux cartes réseaux sur cette VM, une des deux cartes est configurée en « Bridge » et l’autre en « réseau interne« . Ensuite on ajoute le fichier ISO dans le menu « stockage » et on démarre la machine.

On arrive sur cet écran :

On accepte, ensuite on choisit « install« , la bonne configuration de clavier.

Remarque : au redémarrage le clavier repasse en anglais, c’est pourquoi j’ai gardé la disposition par défaut.

On choisit de partitionner le disque en automatique (UFS). Une fois l’installation terminé il ne faut pas oublier d’aller retirer l’image dans le menu « stockage » de la VM sinon après chaque redémarrage on se retrouvera de nouveau devant l’installer.

Une fois le reboot fini au arrive devant cet écran :

On va tout de suite configurer les IP de nos interfaces (option 2), ensuite on sélectionne l’interface WAN puis on la configure avec les bons paramètres.

Configuration de l’interface WAN

On répète la manipulation pour l’interface LAN, on n’active pas le DHCP et on ne configure pas d’IPv6.

IV°) Configuration via l’interface WEB

On se connecte sur l’interface WEB du PFSense, accessible à l’adresse https://172.16.1.1, l’interface n’est accessible que par le réseau interne.

On arrive sur cette page :

Pour se connecter on utilise le compte par défaut c’est-à-dire admin avec le mot de passe pfsense.

Nous arrivons devant la première page du setup

On va cliquer sur « next » puis on va suivre les différentes étapes, la première consiste à donner au pare-feu les configurations de base, les DNS, le nom d’hôte, le nom de domaine.

Ensuite on configure l’heure de notre pare-feu en précisant le serveur de temps que nous utilisons.

Ensuite nous devons configurer l’interface WAN heureusement nous l’avons déjà fait alors nous ne changeons rien. Pareil pour l’interface LAN. Nous modifions le mot de passe de l’admin (mettre un mot de passe fort)

Un message nous indique que nous avons terminé avec le setup.

Nous pouvons maintenant entrer dans le vif du sujet.

V°) Ajout de quelques règles à notre Firewall

On va aller dans le menu « Firewall/NAT/Outbound« , on a ça :

On remarque que par défaut on a une règle de NAT pour translater notre LAN vers notre WAN.

Ensuite on va aller dans le menu « Firewall/Rules/WAN« , notre but est d’autoriser les personnes du réseau 192.168.1.0/24 à ping notre pare-feu car à l’heure actuelle ils ne peuvent pas. La règle qui nous bloque est la première règle. Nous allons cliquer sur le petit engrenage à droite de la règle.

Puis nous allons descendre tout en bas pour désactiver la règle qui bloque tous les réseaux privés.

Cette règle bloque toutes les communications, venant d’un réseau privé, comme c’est une option de l’interface, si elle est active alors elle passe obligatoirement devant toutes les autres règles or nous voulons pouvoir ping cette interface.

Attention !!! En temps normal cette règle est activée, en temps normal on ne peut pas ping une l’interface WAN d’un pare-feu, c’est une « faille de sécurité » car un ping peut donner des informations sur notre pare-feu, ce que nous voulons pas mais dans cet article ça va me servir c’est pourquoi je fais volontairement cette erreur.

Nous allons créer une règle qui autorise uniquement notre réseau 192.168.1.0/24 à faire des pings.

J’ai activé les logs pour cette règle pour que l’on puisse jeter un coup d’œil dessus.

Ensuite on ajoute une règle pour bloquer tout le reste, voilà à quoi ressemblent nos règles sur notre interface WAN :

Maintenant nous allons nous placer sur la machine qui est dans le réseau 192.168.1.0/24 et nous allons ping le pare-feu.

Nous allons pouvoir voir les logs de ce ping dans le menu « Status/System Logs/Firewall »

On peut voir que les pings passent et que ma machine à pour adresse IP 192.168.1.107. On remarque également que les logs nous indiquent quelle règle est utilisée.

Maintenant nous allons aller sur notre interface LAN et faire en sorte que seul notre serveur DNS puisse faire du DNS. On va également faire en sorte que par défaut tout est bloqué.

Pour n’autoriser que le serveur DNS à faire du DNS :

Et voilà à quoi ressemblent les règles sur mon interface LAN :

Et on n’oublie pas de faire des tests :

Depuis le serveur, j’effectue un ping, il ne passe pas car on a une règle qui bloque tout. Mais le serveur peut, normalement, faire du DNS je fais donc un nslookup pour vérifier, et ça fonctionne ! Je teste aussi sur le client pour vérifier que le client ne peut rien faire.

Pour finir nous allons faire une règle de Port Forwarding (menu « firewall/NAT/port forward« ) pour que les utilisateurs du réseau 192.168.1.0/24 puissent faire du FTP sur notre serveur.

Pour la dernière option j’ai choisi l’option « pass »

Et on teste.

Maintenant nous avons un pare-feu PFSense fonctionnel.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.