Nouveau tuto qui va montrer step by step l’installation du célèbre firewall à la portée de tous ceux qui veulent protéger et contrôler les flux de données sur leur réseau : pfsense !

C’est un système léger et presque simple d’utilisation pour un pare-feu mais qui, s’il est bien configuré, fait parfaitement le job. Il est d’ailleurs très prisé des entreprises (de toutes tailles) qui recherchent un outil dédié sécurité réseau simple, efficace et complet, là où d’autres produits sont de vraies usines à gaz.


Installation de base de pfSense (sur une VM)

Démonstration en vidéo disponible au lien suivant : Installation de pfsense. La vidéo peut différer quelque peu de l’article, elle n’est là que pour illustrer ce tuto et aider à mieux visualiser les manipulations.

PfSense est un pare-feu open source faisant également fonction de routeur appartenant à Rubicon Communications et Netgate. Il est basé sur le système d’exploitation FreeBSD issu de la famille d’Unix (Unix, qui n’est PAS Linux, ne pas confondre ^^).

La version utilisée dans ce tuto (et dans la vidéo) est la 2.7.0. Vous pouvez vous procurer la dernière version de l’ISO au lien suivant : pfSense official download

Pour rappel, un routeur est chargé de faire communiquer différents réseaux entre eux, comme par exemple, votre réseau local, chez vous, avec le reste du monde, c’est à dire le réseau Internet.

Un pare-feu, aussi nommé firewall, est un système de sécurité (matériel ou logiciel) qui va définir et contrôler les flux de données qui sont autorisés à entrer et sortir de votre réseau. Votre modem fournit par votre fournisseur d’accès à internet est un firewall matériel par exemple. Avec peu de fonction certes, mais c’est tout de même un firewall.

On dit globalement d’un firewall qu’il « applique la politique de sécurité de l’entreprise » grâce à des règles d’actions pour le trafic réseau. Pour simplifier, il va en fait accepter seulement les types de communications définies dans des règles et rejeter tout ce qui n’est pas explicitement autorisé.

Par exemple, on peut autoriser aux machines du réseau local les requêtes web sécurisées (HTTPS). Si nous n’incluons pas aussi le trafic web non sécurisé (HTTP), le firewall va interdire tout ce qui sort en HTTP.

Autre exemple pour rentrer dans le réseau local cette fois-ci : on peut autoriser les connexions entrantes avec le protocole sécurisé SSH à destination d’une machine du réseau local, mais pas les connexions en Telnet qui lui n’est pas sécurisé.

Voilà pour ces courtes explications sur les firewalls ! Comme toujours avant de commencer, petit topo sur l’infrastructure virtuelle utilisée dans ce tuto ! Voici un schéma de l’infrastructure que l’on va faire :

Pfsense s’utile via une interface web, il faut donc disposer d’un poste client avec un navigateur web et ayant une adresse IP dans le même réseau local que lui. J’ai donc une VM cliente sous Windows 10 avec une installation classique pour pouvoir accéder à pfsense par la suite et une seconde VM qui sera mon firewall.

Au niveau de la configuration de la VM pfsense, elle est assez légère (réalisé sous VMWare Workstation) :

Info + : Pas besoin d’une grosse configuration matérielle, ce qui est recommandé officiellement est d’ailleurs très léger, vous pouvez donc mettre le minium requis : Minimum Hardware Requirements

En revanche, pfsense agissant comme un routeur, il est impératif d’avoir au moins 2 cartes réseaux, sur 2 réseaux différents : le réseau WAN (Internet) et le réseau LAN (local). La première carte va correspondre à l’interface WAN de pfsense, elle a été positionnée en NAT et la seconde sera l’interface LAN, elle est ici positionnée dans un réseau privé (vmnet3).

Une fois vos 2 machines virtuelles prêtes, vous pouvez vous lancer dans ce tuto ! bb

Info ++ : La version de pfsense utilisée dans ce tuto est la 2.7.0. Il sera peut être nécessaire de s’adapter selon la version utilisée.

Commençons tout de suite par installer pfsense. Après avoir insérer l’ISO de pfsense dans VM dédiée, vous pouvez démarrer la machine. Le setup va démarrer automatiquement après quelques secondes .

L’installation va s’effectuer au clavier. Appuyez sur la touche Entrée pour Accepter.

Vérifiez que vous êtes bien sur « Install » (doit être sélectionné en bleu foncé comme dans l’image ci-dessous, sinon déplacez vous avec les flèches de votre clavier) et appuyez sur Entrée pour faire OK.

Le setup va vous demander de partitionner le disque de stockage de la machine. Avec les touches fléchées de votre clavier, allez sur « Auto (UFS) » et appuyez sur Entrée.

Vous pouvez confirmer que vous voulez utiliser le disque entier pour installer le système d’exploitation, pour cela, placez vous sur « Entire Disk » et appuyez sur Entrée.

Selon vos besoins (nécessite des connaissances pouvez en partitionnement !), sélectionnez le type de partition. Ici je reste simplement sur « MBR DOS Partitions » et appuyez sur Entrée pour valider.

L’installer propose un découpage  sur le disque 0 (nommé ici da0), je n’ai pas besoin de modifier la proposition faites, placez vous sur « Finish » et appuyez sur Entrée.

Un ultime avertissement sur le fait que le disque sera effacé pour faire face au système d’exploitation de pfsense. Placez vous sur « Commit » et appuyez sur Entrée.

L’installation est désormais lancée. Patientez quelques secondes, c’est très rapide.

Il vous sera ensuite proposer d’ouvrir un shell (terminal) si vous souhaitez apporter des modifications. Sinon, placez vous directement sur « Reboot » et appuyez sur Entrée.

Au démarrage, pfsense va se lancer, tester et configurer les services dont il a besoin. Par exemples dans l’image ci-dessous, on peut voir que pfsense à tester la présence de l’interface WAN (ligne Configuring WAN interface…done.) et l’a configuré, idem pour l’interface LAN. Il a également lancé le service DNs pour la résolution de nom de domaine (ligne Configuring DNS Resolver…).

Une fois que le démarrage est finalisé, vous aurez la vue suivante sur la machine :

On voit bien nos deux interfaces réseaux (WAN et LAN). On voit également que l’interface WAN a bien récupéré une adresse IP automatiquement depuis un DHCP (ce qui peut correspondre à l’IP publique par exemple). Concernant le LAN, il attribue une adresse statique par défaut qui est 192.168.1.1 mais que nous allons changer.

Vous avez 16 menus qui vont permettre de faire différentes actions et configurations. Pour les utiliser, il faut saisir leur numéro et appuyez sur Entrée. Testons ensemble avec le menu ping. Saisissez au clavier le chiffre 7 puis la touche Entrée.

Lançons un ping vers google.fr pour tester l’accès à internet et le bon fonctionnement de la résolution de nom.

Info ++ : Attention, le clavier est par défaut en qwerty ! Pour saisir le point, il faut appuyez sur la touche « / ».

On voit que le ping passe sans problème, l’interface WAN est donc fonctionnelle.

Nous avons une dernière petite chose à faire avant de passer sur l’interface web de pfsense pour la configuration finale. Il faut assigner la bonne adresse IP à l’interface LAN, c’est-à-dire celle qui correspond à notre réseau local (pour moi dans le cadre de ce tuto, 192.168.3.1).

Pour cela, au choix des menus, tapez 2 puis Entrée.

On me demande quelle interface je veux modifier. L’interface LAN est ici la 2, donc je tape 2 et j’appuie sur Entrée.

La 1ère question posée concernant l’attribution d’une IP a l’interface LAN via un DHCP. Je veux l’attribuer manuellement, saisissez « n » pour répondre Non et appuyez sur Entrée.

Ensuite saisissez l’adresse IP que vous donnez à cette interface qui sera je le rappelle la passerelle de sortie de votre réseau local. Quand vous avez saisi l’adresse IP, appuyez sur Entrée pour passer à la suite.

Définissez le masque de sous-réseau du réseau local en notation CIDR uniquement, donc 24 pour moi.

Pfsense demande ensuite si le réseau dispose d’une passerelle vers laquelle renvoyer les flux. Ce n’est pas le cas pour moi, l’interface WAN fait déjà le job et je n’ai pas d’autre routeur dans mon réseau donc j’appuie simplement sur Entrée pour laisser vide.

Je ne souhaite pas configurer d’adresse en IPv6, je réponds donc « n » c’est à dire non pour la question concernant le DHCP et j’appuie ensuite sur Entrée quand il demande de définir une IPv6 pour ignorer cette partie.

Je ne souhaite pas non plus activer le service DHCP pour le réseau local donc je saisis « n » pour répondre encore une fois Non et Entrée.

Info + : le service DHCP peut être activé et configuré plus simplement par la suite via l’interface web.

Et enfin, la dernière question concerne le protocole utilisé pour aller sur l’interface web. Par défaut, il est en HTTPS donc sécurisé. Vous pouvez choisir de le passer en HTTP si vous le souhaitez en répondant « y » pour « Yes ». Personnellement je vais répondre « n ».

La configuration de l’interface LAN est terminée. Je vois à l’écran l’URL à utiliser pour aller sur pfsense qui est donc ici https://192.168.3.1/, soit son adresse IP.

La configuration de pfsense en lignes de commande est maintenant terminée, passons sur l’interface web.

 

Depuis un PC sur le réseau local disposant d’une adresse IP fixe si le DHCP n’est pas actif, ouvrez un navigateur internet et accédez à votre pfsense.

Info ++ : Si vous avez laissé le protocole HTTPS, vous aurez une erreur de certificat qui est tout à fait normal. Le navigateur va vous prévenir qu’il y a un problème mais rien ne vous empêche de poursuivre votre navigation (méthode variable selon le navigateur) pour accéder à pfsense.

Les identifiants par défaut de pfsense sont les suivants :

    • Login : admin
    • Mot de passe : pfsense

Vous arrivez sur l’assistant de configuration de pfsense qui va nous permettre de finaliser l’installation de notre firewall. Cliquez sur le bouton « Next ».

L’assistant nous informe qu’il est possible d’avoir un support technique sous condition de souscrire un contrat (un peu de pub pour la solution payante au passage laugh ). Cliquez de nouveau sur Next.

Au niveau de la partie des informations générales, vous pouvez modifier le nom du firewall et déclarer votre nom de domaine si vous en avez un dans votre réseau. Ici également vous pouvez déclarer un serveur DNS local (ce n’est pas mon cas, j’utile le DNS public de CloudFlare pour ce tuto). Je ne modifie ici aucun champ.

Choisissez « Europe/Paris » dans la Timezone et poursuivez.

Ensuite nous arrivons à la configuration de l’interface WAN. Elle est configurée automatiquement par DHCP donc je ne vais rien toucher dans la partie supérieure de cette page.

Si vous avez besoin d’attribuer une IP fixe à cette interface WAN, c’est dans cette partie que ça se définit, sinon, continuez simplement.

La partie « PPPoE configuration » sert en général à mettre les identifiants fournis par votre FAI. Ce sont ces identifiants qui sont définis dans votre box internet actuellement. Si vous souhaitez placer un firewall à la place de la box, il sera nécessaire de remplir cette partie.

La partie suivante « PPTP configuration » servira plutôt au montage d’un VPN point à point (Protocole de tunnel point-à-point, à éviter car peu sécurisé, plutôt privilégier son petit frère IPSEC).

Les deux dernières options de cette page définissent que tout trafic entrant sur l’interface WAN et venant d’une classe d’adresse réseau privé est automatiquement bloqué. Comme mon infra est ici virtuelle, je vais obligatoirement faire communiquer des réseaux privés, je n’utilise pas réellement une adresse publique. Il est donc nécessaire dans le cadre d’un labo de décocher ces 2 cases sinon vous pourrez avoir des petits couacs.

Nous n’avons donc rien modifier de spécial sur notre interface WAN ici, vous pouvez poursuivre.

L’assistant de pfsense passe donc cette fois-ci à l’interface côté LAN. Vous pouvez changer ici l’adresse IP de l’interface LAN de pfSense (nous l’avons déjà fait en amont).

Durant la phase de configuration, il est également nécessaire de changer les identifiants par défaut du compte admin de pfsense.

La phase finale de l’installation de pfsense est terminée. Cliquez sur Reload pour recharger pfsense.

Patientez quelques secondes, la page va se recharger d’elle même.

A la fenêtre suivante, cliquez sur le bouton Finish.

Cliquez sur le bouton Accept pour valider les points législatifs divers (que personne ne lit jamais…).

Dernière petite fenêtre de la part de Netgate qui vous invite à répondre à un sondage sur ses produits. Cliquez sur le bouton Close pour passer.

Vous arrivez donc sur le tableau de bord de votre pfsense. Vous retrouvez ici des infos sur l’utilisation des ressources de la machine elle-même, ses différentes adresses IP, sa version et ses mises à jour si nécessaire etc…

Cette vue est personnalisable est cliquant sur le petit + en haut à droite dans la barre de titre.

Vous pouvez ajouter des graphiques, des infos sur les load balancer, le trafic, les logs, les VPN etc…

Les différents menus vont vous permettre de faire toutes sortes de choses sur votre firewall.

    • Mettre en place des VPN (IPSEC, OpenVPN…)
    • Activer des services (DHCP, DNS, NLB, NTP, WOL…)
    • Faire du NAT et du port forwarding
    • Ajouter des routes
    • Définir des règles pour le trafic entrant/sortant
    • Surveiller précisément ce même trafic
    • Ajouter des plugins qui vont apporter d’autres fonctionnalités (filtrage Squidguard ou monitoring réseau avec Ntopng par exemples)

Info + : Pour modifier la langue de pfsense, allez dans le menu System et General Setup.

Par défaut lors de son installation, tout le trafic est ouvert. On peut voir ceci dans le menu « Firewall », sous-menu « Rules » et partie « LAN ».

Les règles présentes ici définissent que tout le trafic IPv4 et IPv6, tout protocole confondu, venant sur réseau local (LAN Net) sur n’importe quel port et vers n’importe quelle destination est autorisé.

D’ailleurs si vous avez correctement suivi ce tuto et que depuis le PC client vous faites un ping vers google.fr, le ping va bien aboutir, preuve en est que le trafic peut sortir sans intervention de votre part.

Il est plus que conseillé de brider ce trafic pour n’autoriser que les protocoles/port nécessaires. Le but d’un firewall étant de sécuriser ce qui entre et sort de son réseau, si c’est porte ouverte, il n’y a pas vraiment d’intérêt…

Je vous laisse explorer tout cela par vous même smile

 

C’est tout pour ce tuto sur l’installation de pfsense, le célèbre et très pratique firewall open source !

A très vite ! bravo


[Tuto] Installation d’un routeur/pare-feu pfSense

Articles pouvant vous intéresser