pfSense

Sécurité sans compromis, connectivité sans frontières : pfsense, votre rempart numérique inébranlable !
(by ChatGPT)

[pfSense] Installation

Introduction

pfSense est un système d'exploitation open source ayant pour but la mise en place de routeur/pare-feu basé sur le système d'exploitation FreeBSD.

Il s'installe aussi bien en machine virtuelle qu'en physique et requiert au minimum 2 cartes réseaux pour pouvoir faire la jonction entre les deux réseaux et contrôler les fluxs.

image.png

Installation

Commencez par télécharger l'ISO sur le site officiel en choisissant l'architecture, le type de support et le miroir.

Nous sélectionnerons AMD64, DVD Image ISO et le miroir de Francfort.

Démarrez sur le système puis suivez les étapes d'installation (j'ai pour habitude de tout laisser par défaut car cela fonctionne très bien).

Lorsque le système redémarre, il vous sera demandé si vous souhaitez configurer les VLANs, choisissez non :

image.png

Il vous sera ensuite demandé de saisir l'interface WAN.

Pour cela, déterminez quelle est l'interface entre vtnet0 et vtnet1 qui possède l'adresse MAC de la carte réseau qui doit être définie comme le WAN.

Dans mon cas, il s'agit de vtnet0 :

image.png

Le clavier est en qwerty, vous ne devez donc pas appuyer sur MAJ ou Shit pour saisir les nombres

Enfin, il vous demandera de saisir l'interface qui sera utilisé comme LAN, dans mon cas vtnet1 :

image.png

Une confirmation vous sera demandée, tapez y :

image.png

Attendez que la configuration soit mise en place puis vous devriez arriver sur l'interface de pfSense :

image.png

Assignation des interfaces

Il est possible de modifier quelle interface doit être utilisée comme WAN ou comme LAN en choisissant l'option 1.

Configuration des adresses IP

On peut choisir la configuration IP de chaque interface en choisissant l'option 2.

Il nous sera demandé si on souhaite configurer l'interface avec le DHCP ou en statique (recommandé).

Ensuite, on nous demandera si le serveur DHCP doit être activé sur l'interface (recommandé pour l'interface LAN).

[pfSense] Accéder au panel depuis le WAN

Introduction

Par défaut, le pare-feu protège le système de sorte à ne pouvoir modifier la configuration que depuis le LAN.

Dans de nombreuses configurations je ne trouve pas cela pertinent car le LAN représente souvent le réseau des utilisateurs tandis que le WAN représente le réseau de l'administrateur.

Bien que ce ne soit pas vrai tout le temps, ce type de configuration reste courante.

Manuel

Pour pouvoir accéder à l'interface web de pfSense depuis le réseau WAN, vous allez devoir commencer par désactiver le pare-feu.

Ouvrez donc un shell avec l'option 8 puis entrez la commande pfctl -d :

image.png

 La touche du tiret du 6 (-) en qwerty se situe juste à droite du 0 (n'appuyez pas sur Shift ou MAJ).

Ensuite, connectez vous à l'interface web et allez dans Interface > WAN  pour désactiver les deux options suivantes :

Puis rendez-vous dans Firewall > Rules puis Add pour créer une nouvelle règle avec les caractéristiques suivantes :

Pour une raison inconnue, un redémarrage de pfSense est nécessaire pour que la solution fonctionne.

[pfSense] Règles de pare-feu

Introduction

Vous pouvez configurer aisément vos propres règles de pare-feu sur pfSense depuis l'interface web.

Cependant, vous devez comprendre quelques notions primordiales pour pouvoir le faire.

Manuel

Accéder à la table des règles

Tout d'abord, depuis l'interface web, rendez vous dans Firewall > Rules :

image.png

Ensuite, sélectionnez l'interface sur laquelle vous souhaitez appliquer la règle (ici DMZ300) :

image.png

Fonctionnement de la table

Pour chaque interface, vous pouvez voir apparaître les règles qui seront appliquées pour chaque paquet qui passe sur l'interface dans l'ordre du haut vers le bas.

Le paquet va donc être testé par chacune des règles :

Vous remarquerez que l'ordre des règles est capital.

Autoriser un flux

Pour l'exemple, nous allons créer une règle pour autoriser les connexions sortantes HTTP sur l'interface de la DMZ300.

Commencez par cliquer sur Add et définissez les options suivantes :

image.png

Vous pouvez appuyer sur Save puis Apply Changes pour appliquer les changements :

image.png

Bloquer un flux

Maintenant si vous souhaitez bloquer un flux, vous pouvez procéder à la même opération en modifiant simplement l'action PASS par BLOCK.

[pfSense] Règle NAT

Introduction

Le NAT pour Network Address Translation permet de rediriger le flux entrant de l'interface d'un réseau vers l'interface d'un autre réseau.

La plupart du temps cette fonctionnalité est utilisée pour rediriger un flux qui entre sur le WAN vers le LAN.

Dans le jargon, on appelle cela une redirection de port ou une ouverture de port.

Manuel

Pour créer une règle NAT, rendez vous sur l'interface web puis dans Firewall > NAT :

image.png

Ensuite, dans l'onglet Port Forward, cliquez sur Add pour créer une règle :

image.png

Admettons que vous souhaitez déployer une règle NAT pour rediriger le flux HTTPS qui entre sur l'interface WAN de votre pfSense, vers votre serveur web situé dans votre WAN qui a pour IP 192.168.1.100.

Vous devrez alors indiquer les paramètres suivants :

Vous pouvez appuyez sur Save puis Apply Changes pour appliquer les changements.

[pfSense] OpenVPN

Introduction

Les pare-feu pfSense permettent la mise en place de VPN client-to-site ou site-to-site avec le logiciel OpenVPN notamment.

image.png

Installation client-to-site

image.png

 

[pfSense] Wireguard

Introduction

Wireguard supporte depuis récemment l'installation d'un VPN wiregard qui est le plus rapide et performant du marché des VPNs open source.

image.png

Installation

Tout d'abord, installez le paquet WireGuard depuis le menu System > Package Manager > Available Packages :

image.png

Cliquez sur Install puis Confirm et attendez que le message suivant apparaisse :

image.png

Ensuite, rendez vous dans l'onglet VPN > Wireguard et cliquez sur Add tunnel :

image.png

Pour la configuration du tunnel, saisissez en description le nom de votre VPN puis générez une paire de clés en cliquant sur Generate :

image.png

Dans la configuration de l'interface, saisissez l'adresse IP privée du routeur associée à l'interface du tunnel :

image.png

Cliquez sur Save et rendez vous dans l'onglet Peer puis cliquez sur Add Peer :

image.png

Sélectionnez votre Tunnel dans le menu déroulant et mettez le nom de votre client en Description :

image.png

Depuis votre client Wireguard, générez une paire de clés publique/privée :

image.png

image.png

wg genkey | tee wg-private.key
cat wg-private.key | wg pubkey | tee wg-public.key

Et renseignez la clé publique dans la configuration du peer sur pfsense :

image.png

Et n'oubliez pas de décocher Dynamic Endpoint :

image.png

Saisissez ensuite l'adresse IP de l'Endpoint (IP publique de votre routeur qui sera atteinte pour se connecter au VPN) :

image.png

Dans la configuration d'adressage, vous pouvez choisir les réseaux accessibles via le VPN.

Vous devez saisir l'IP du peer ainsi que les sous-réseaux de destination que vous souhaitez autoriser :

image.png

Cliquez sur Save puis rendez vous dans l'onglet Settings pour activer le service Wireguard et cliquez sur Save :

image.png

Cliquez sur Apply Changes :

image.png

Après, allez sur Interfaces > Assignements, sélectionnez l'interface du tunnel et cliquez sur Add :

image.png

Cliquez sur le nom de la nouvelle interface créée pour accéder à sa configuration puis activez l'interface et modifiez son nom :

image.png

En IPv4 Configuration Type sélectionnez Static IPv4 puis dans Static IPv4 Configuration renseignez l'adresse du routeur sur le réseau VPN (définie précédemment) :

image.png

image.png

Cliquez sur Add a new gateway puis renseignez les informations et cliquez sur Add :

image.png

Cliquez ensuite sur Save et Apply Changes.

On doit ensuite configurer le pare-feu pour autoriser les connexions en allant dans le menu Firewall > Rules > WG puis Add :

image.png

Faite une règle pour autoriser tout le trafic ou seulement ce que vous souhaitez si vous souhaitez affiner vos règles et cliquez sur Save et Apply Changes :

image.png

Vous devez aussi créer une règle sur votre WAN pour autoriser le flux UDP/51820 vers votre pare-feu.

La dernière étape consiste à créer le fichier de configuration du client VPN :

[Interface]
PrivateKey = <PEER_PRIV_KEY>
Address = 10.1.0.2/24

[Peer]
PublicKey = <SRV_PUB_KEY>
AllowedIPs = 10.1.0.0/24, 192.168.5.0/24
Endpoint = <SRV_PUBLIC_IP>:51820