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 pfSense sur une VM

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 ^^). 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 ici d’une grosse configuration matĂ©rielle, ce qui est recommandĂ© officiellement est d’ailleurs assez lĂ©ger : 1 processeur monocore avec une frĂ©quence de 1Ghz, 1Go de RAM et minimum 4Go de stockage.

En revanche, pfsense agissant comme un routeur, il est impĂ©ratif d’avoir 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

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.

Il faut sĂ©lectionner le clavier (ce qui ne sert pas Ă  grand chose car le clavier restera en qwerty quand mĂȘme…).

Descendez avec les flĂšches jusqu’à « French » et appuyez sur EntrĂ©e.

Vous verrez dans les 2 premiĂšres lignes que le clavier « fr.kdb » a Ă©tĂ© sĂ©lectionnĂ©. Vous pouvez le tester si besoin. Pour poursuivre, remontĂ©e sur la ligne « Continue with  » et appuyez sur EntrĂ©e.

Le setup va vous demander de partitionner le disque de stockage de la machine. Sauf si vous avez besoin d’une configuration bien spĂ©cifique, restez sur « Auto (UFS) » 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. Passez sur la case « No » et appuyez sur EntrĂ©e.

Et pour terminer cette installation du systÚme, appuyez une derniÚre fois sur Entrée pour rebooter et démarrer directement sur le nouveau pfsense fraßchement mis en place ;

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 correspond Ă  l’adresse IP publique). Concernant le LAN, il attribue une adresse statique par dĂ©faut 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, malgré la configuration du clavier en français, celui-ci se retrouve par défaut en qwerty ! Pour saisir le point, il faut appuyez sur la touche « / ».

Vous pouvez arrĂȘter le ping en appuyant simultanĂ©ment sur les touches Ctrl et C. 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.

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 ne souhaite pas non plus activer le service DHCP pour le réseau local donc je saisis « n » pour répondre « no » 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, c’est dans cette partie que ça se dĂ©finit.

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. A la fenĂȘtre suivante, vous pourrez simplement cliquer sur le bouton Finish.

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 par exemple)
    • 


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


 

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

Info ++ : Articles concernant pfsense en prĂ©vision : Monter un tunnel VPN IPSEC de base, Utilisation de OpenVPN sur pfsense pour l’accĂšs nomade


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

Articles pouvant vous intéresser