> [!danger] Rappel ! <span style="font-weight: normal; color: var(--text-normal)">Ceci est un brouillon en cours de correction, il peut contenir de nombreuses erreurs de frappes ou des incohérences.</span> # Installer pfSense en environnement de Lab La distribution pfSense est un UTM (Unified Threat Management) open source basée sur FreeBSD. C'est une passerelle de sécurité qui est une référence historique du secteur. Elle permet le routage, le filtrage du trafic ainsi que d'autres fonctionnalités avancées tel que le DNS, Proxy Web, VPN SSL, etc. ## Environnement de démonstration Nous nous appuierons sur un environnement virtuel vSphere ESXi 8 U2 pour déployer la version communautaire **pfSense CE 2.7.2**, car elle est basée sur FreeBSD 14 (seule version actuellement supportée par notre hyperviseur). > [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">Le choix du système invité s'effectue en croisant les informations de la [matrice de compatibilité vSphere](https://compatibilityguide.broadcom.com/search?program=software&persona=live&column=osVendors&order=asc) avec celles de la [documentation pfSense CE software](https://docs.netgate.com/pfsense/en/latest/releases/versions.html#pfsense-ce-software).</span> > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">Avant de déployer un nouveau système toujours vérifier la compatibilité entre les différents outils (couche matériel, couche os et couche applicative).</span> ### Schéma réseau cible Dans notre démonstration, nous utiliserons 2 segments réseaux : - **WAN** : 172.30.0.0/23 segment qui simule l'accès Internet. - **LAN** : 192.168.200.0/24 segment qui représente le réseau local interne. > [!info] <span style="font-weight: normal; color: var(--text-normal)">Si vous envisagez de créer un [[tuto-pfsense-cluster-psync-carp|cluster HA pfSense]], il faudra ajouter une interface pour la syncronisation CARP.</span> ![[_asset-tuto-pfsense-install.png]] ### Sizing de la VM Nous n'allons détailler, ni la création des VM, ni la démarche de vérification de l'interopérabilité entre pfSense et l'hyperviseur. Voici la configuration de notre VM pfSense (PFS1) en respectant les recommandations vSphere et pfSense : - 2 vCPU - 2 Go de vRAM - 20 Go de disque (thin provisionning) via un contrôleur de stockage PVSCSI (recommandé) - 2 cartes réseaux de type VMXNET3 (recommandé) - Un lecteur optique virtuel (pour initier l'installation depuis une image ISO). > [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">Le dimensionnement de la VM se base sur les [minimums requis de pfSense](https://docs.netgate.com/pfsense/en/latest/hardware/minimum-requirements.html) ainsi que [la liste vSphere du hardware virtuel recommandé](https://compatibilityguide.broadcom.com/detail?program=software&productId=59278&persona=live&column=osVendors&order=asc&productName=%5BESXi%5D&keyword=freebsd&productReleaseVersion=%5BESXi+8.0+U3%7C%7CESXi+8.0+U2%5D&osArch=x86%2864-bit%29&activePage=1&activeDelta=20&redirectFrom=ESXi%208.0%20U3) pour un guest OS FreeBSD14.x.</span> ### Télécharger le support d'installation Connectez-vous sur https://www.pfsense.org/download/. Téléchargez "*Netgate Installer*", suivez les étapes pour télécharger le bon support d'installation. Dans mon cas, j'utilise l'ISO "pfSense-CE-2.7.2-RELEASE-amd64.iso". > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">pfSense est un équipement de sécurité, il est donc primordial de vérifier l'[[guide-comprendre-le-hash|empreinte (hash)]] du fichier téléchargé (avec [[kb-checksum-win-certutils|certuils]] ou avec [[kb-checksum-win-powershell|Get-File-Hash]] par exemple) ! </span> ## Installation et configuration de base de pfSense Pour lancer l'installation du système invité, insérez l'image ISO précédemment téléchargée dans le lecteur DVD virtuel. Si besoin, modifiez l'ordre d'amorçage du BIOS. Pour vous guider, deux procédures sont disponibles selon votre hyperviseur : - Sur vSphere vCenter Server : [[kb-esxi-vm-bios-boot-order]] - Sur Oracle VirtualBox : [[kb-ovb-vm-bios-boot-order]] ### Les étapes d’installation Insérez le média ISO et lancez la VM, ![[_asset-tuto-pfsense-install-30.png]] Pressez entré ![[_asset-tuto-pfsense-install-30-1.png]] ![[_asset-tuto-pfsense-install-30-2.png]] Nous arrivons ensuite sur la configuration du système de fichier, nous avons 4 choix possibles : - **Auto (ZFS)** est l'option recommendée pour Pfsense. Zettabyte File System propose des fonctions avancées de gestion du système de fichier : snapshots, volume dynamique, déduplication, compression, etc. - **Auto (UFS)** était l'optoin standard avant ZFS. L'UFS (Unix File System) est un système de fichiers plus traditionnel et plus simple, utilisé depuis longtemps dans les systèmes basés sur Unix. - **Manual** pour les utilisateurs avancés qui souahitent personnaliser la configuration des partitions et du système de fichiers. - **Shell** pour accèder à une ligne de commande, généralement pour résoudre des problèmes ou tres configurations très spécifiques. Nous choisirons l’option Auto (ZFS) et nous passerons à l’installation. ![[_asset-tuto-pfsense-install-30-3.png]] Seul l'option"Stripe" est disponible, car nous ne disposons que d'un seul disque. Dans un contexte de production, la mise en place de volumes RAID est recommandée : ![[_asset-tuto-pfsense-install-30-4.png]] sélectionner notre disque à l’aide de la barre d’espace de de notre clavier. ![[_asset-tuto-pfsense-install-30-5.png]] ![[_asset-tuto-pfsense-install-30-6.png]] ![[_asset-tuto-pfsense-install-30-7.png]] À la fin de l’installation de pfSense, nous redémarrerons la machine après l’installation. ![[_asset-tuto-pfsense-install-30-8.png]] ![[_asset-tuto-pfsense-install-30-9.png]] Au premier redémarrage, le système vous affichera les interfaces réseau détectées ainsi que leur adresse mac. Dans l'exemple ci-dessous, on peut identifier : - `vmx0` avec l'adresse mac `00:50:56:93:17:4a` avec le statut `down` (réseau NAT). - `vmx1` avec l'adresse mac `00:50:56:93:ed:71` avec le statut `down` (réseau Interne). Le système va poser une série de questions afin de faire la configuration initiale des interfaces réseaux. ![[_asset-tuto-pfsense-install-30-10.png]] > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">Avant de poursuivre, notez les adresses mac, vérifier qu'elles correspondent au interface réseau dans les paramètres de la VM et qu'elles sont connectées au bon vSwitch.</span> ![[_asset-tuto-pfsense-install-30-11.png]] ![[_asset-tuto-pfsense-install-30-12.png]] L'interface WAN est configurée en DHCP par défaut. Dans notre cas, elle reçoit l'IP 172.30.1.175/23 L'interface LAN est configurée en ip statique avec 192.168.1.1/24. > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">Assurez-vous qu'aucun service serveur DHCP n'est</span> #### Configuration Interface LAN Dans le menu pfSense : - Sélectionnez l'option `2` "*Set Interface(s) IP address*". - Choisissez l'interface numéro `2` "*LAN (vmx1-static)*". ![[_asset-tuto-pfsense-install-30-13.png]] Le script de configuration de l'interface LAN se lance. Répondez aux questions de la façon suivante : - Désactivez le mode client DHCP IPv4 - Saisir l'adresse IPv4 et le masque CIDR (ex. 192.168.200.251/24) - Ne pas ajouter d'adresse de passerelle sur l'interface LAN. - Désactivez la configuration automatique DHCP IPv6 - Laisser le champ IPv6 vide ![[_asset-tuto-pfsense-install-30-14.png]] Poursuivre la configuration en activant le serveur DHCP sur l'interface LAN. COnfigure IPv4 address LAN interface via DHCP : n Répondez aux questions ci-dessous afin de ficher l'adresse ip LAN de façon statique (par exemple : 192.168.200.251/24) ![[_asset-tuto-pfsense-install-30-15.png]] Une fois la configuration terminée vous devriez constater les modifications suivante sur le menu de configuration en mode console : - L'url d'administration est en https - L'ip LAN est `192.168.200.251/24` ![[_asset-tuto-pfsense-install-30-16.png]] > [!done] Félicitations ! <span style="font-weight: normal; color: var(--text-normal)">Vous disposez à présent d'un parefeu pfSense opérationnel. Il faut optimiser la configuration de base via l'interface GUI.</span> #### Configuration de base à l’aide du GUI de Pfsense Par défaut, l'accès à l'interface GUI en mode web de pfSense n'est autorisé que depuis un client connecté au réseau LAN. Connectez une VM sur le même segment que la patte LAN du routeur pfSense. Si vous avez suivi la configuration précédente, votre VM devrait obtenir une IP Avant de pourusivre, assurez-vous que le client Windows se situe bien sur le mêm segment : - au niveau du vSwitch - au niveau de la pile TCP/IP ![[_asset-tuto-pfsense-install-30-17.png]] ![[_asset-tuto-pfsense-install-30-18.png]] Ignorez le message publicitaire de Netgate. ![[_asset-tuto-pfsense-install-30-19.png]] ![[_asset-tuto-pfsense-install-30-20.png]] Renseigner les paramètres suivants : - hostname : pfS1 - Domani : lab.mypkb.fr - Primary DNS Server : 1.1.1.1 - Secondary DNS Server : 9.9.9.9 - Cochez la case override DNS ![[_asset-tuto-pfsense-install-30-21.png]] ![[_asset-tuto-pfsense-install-30-22.png]] Notre WAN est dans l'IDR 172.30.0.0/23 qui fait partie du réseau privé RFC1918 172.16.0.0/12. Il faut donc décocher l’option “*Block RFC1918 Private Networks*” bloque justement toutes les adresses privées (10.x / 172.16–31 / 192.168.x). Les “bogons networks” sont des adresses non routables publiquement ou non attribuées par l’IANA. Elles ne devraient jamais apparaitre dans une table de routage. ![[_asset-tuto-pfsense-install-30-23.png]] ![[_asset-tuto-pfsense-install-30-24.png]] ![[_asset-tuto-pfsense-install-30-25.png]] ![[_asset-tuto-pfsense-install-30-26.png]] Patientez pendant le rechargement des configurations pfSense (step 8 of 9) jusqu'à l'affichage du message suivant : ![[_asset-tuto-pfsense-install-30-27.png]]Cliquez sur "Finish" puis accèptez les termes du copyright Netgate #### Vérifier de la connectivité Avant de terminer cette partie, nous allons vérifier que nous avons bien un accès à Internet. Nous déroulerons le menu déroulant Diagnostics et nous sélecterons l'outil « Ping ». ![[_asset-tuto-pfsense-install-30-28.png]]Depuis la machie cliente vous pouvez également confirmer avec nslookup cyber.gouv.fr ![[_asset-tuto-pfsense-install-30-29.png]] > [!done] Félicitations ! <span style="font-weight: normal; color: var(--text-normal)">Vous disposez maintenant d'un environnement pfSense fonctionnel, prêt à accueillir vos futurs scénarios réseau et exercices de cybersécurité.</span> ## Installation des outils d'intégration VMware ![[kb-vmw-vm-tools-pfsense]] # Conclusion Nous arrivons au terme de ce tutoriel consacré à l’installation et à la configuration initiale de **pfSense** dans un environnement virtualisé sous **VMware vSphere ESXi**. Nous avons vu comment préparer correctement la machine virtuelle, choisir la version compatible avec l’hyperviseur, puis procéder à l’installation en utilisant ZFS. Après le premier démarrage, nous avons réalisé la configuration réseau de base, identifié et affecté les interfaces WAN, LAN et DMZ, puis ajusté les paramètres critiques tels que le blocage des réseaux RFC1918 et bogon. Enfin, nous avons accédé au GUI de pfSense afin de finaliser la configuration système (DNS, hostname, réseau LAN) et valider l’accès Internet via les outils de diagnostic. À ce stade, vous disposez désormais d’un **pare-feu pfSense opérationnel**, parfaitement adapté pour un environnement de test ou de laboratoire. Cette base solide permet d’enchaîner vers des configurations plus avancées : - mise en place de règles firewall, - NAT, - services DHCP/DNS, - création d’une DMZ, - VPN, - ou encore la sécurisation approfondie du système.