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 !
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 ). 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 !
Info ++ : Articles concernant pfsense en prĂ©vision : Monter un tunnel VPN IPSEC de base, Utilisation de OpenVPN sur pfsense pour l’accĂšs nomade |