Monter une DMZ avec Pfsense

Récemment j’ai refait un peu le réseau chez moi (opération durant laquelle j’ai appris les ACLs sous BIND, voire mon précédent billet) car je voulais mettre en place une DMZ.
Le firewall que j’utilise est l’excellent PfSense dans la dernière version stable 1.2.3 que je recommande chaudement. La version 2.0 est actuellement en béta et devrait être là avant la fin de l’année.

Voici donc un modeste tutoriel à destination de ceux qui souhaiteraient reproduire cette architecture.
Pour commencer il y a des prérequis matériels. Il vous 3 cartes réseau dans la machine dédiée à PfSense.
1 pour le LAN 1 pour le WAN et 1 pour la DMZ. Dans le tuto, PfSense est déjà en production avec le WAN et le LAN configurés.
Après avoir inséré la nouvelle carte et rebooté la machine il faut la déclarer sur PfSense. On se connecte alors sur la console en SSH avec le compte admin (le même que pour le GUI).

sur le menu présenté on choisit : 1) Assign Interfaces

 pfSense console setup
***************************
 0)  Logout (SSH only)
 1)  Assign Interfaces
 2)  Set LAN IP address
 3)  Reset webConfigurator password
 4)  Reset to factory defaults
 5)  Reboot system
 6)  Halt system
 7)  Ping host
 8)  Shell
 9)  PFtop
10)  Filter Logs
11)  Restart webConfigurator
12)  pfSense Developer Shell
13)  Upgrade from console
14)  Disable Secure Shell (sshd)

PfSense vous pose ensuite des questions :

Valid interfaces are:

em0     00:1b:21:10:5f:47   (up)
rl0     00:08:54:55:1f:68   (up)
em1     00:1b:21:10:5c:7a   (up)
tun0    0   (up)

Do you want to set up VLANs first?
If you are not going to use VLANs, or only for optional interfaces, you should
say no here and use the webConfigurator to configure VLANs later, if required.

Do you want to set up VLANs now [y|n]?n

*NOTE*  pfSense requires *AT LEAST* 2 assigned interfaces to function.
        If you do not have two interfaces you CANNOT continue. 

        If you do not have at least two *REAL* network interface cards
        or one interface with multiple VLANs then pfSense *WILL NOT*
        function correctly.

If you do not know the names of your interfaces, you may choose to use
auto-detection. In that case, disconnect all interfaces now before
hitting 'a' to initiate auto detection. 

Enter the LAN interface name or 'a' for auto-detection: em1

Enter the WAN interface name or 'a' for auto-detection: em0

em0 et em1 sont déjà configurés il s’agit des interfaces LAN et WAN. rentrez les alors à leur place respective.
Dans mon cas la nouvelle carte réseau est rl0 (FreeBSD sur lequel repose PfSense nomme les interfaces par le nom du pilote ici une Realtek)
Il faut alors rentrer rl0 quand PfSense vous demande de spécifier une interface optionnelle :

Enter the Optional 1 interface name or 'a' for auto-detection
(or nothing if finished): rl0

On presse Entrée à la question :

Enter the Optional 2 interface name or 'a' for auto-detection
(or nothing if finished):

On valide ensuite la configuration :

Do you want to proceed [y|n]?y

Voila on en a terminé avec l’ajout de la nouvelle carte. On se rend ensuite dans le GUI.
Après vous être logué passez la souris sur Interfaces dans la barre de menu et cliquez sur OPT1 :
.

On commence par cocher la case :

Enable Optional 1 interface

Puis on lui donne un nom ici DMZ.

Dans la partie General configuration, on choisit le type d’interface Static ou DHCP (ici Static)
On passe ensuite à la partie IP configuration et on rentre l’IP de l’interface ici 192.168.2.1.
On valide ensuite avec le bouton Save en bas de page.

On passe ensuite la souris sur Services dans la barre de menus et on clique sur DHCP Server.
Il y a 2 onglets un LAN et UN DMZ, on clique sur DMZ et on paramètre ou pas le serveur DHCP sur l’interface DMZ. En ce qui me concerne le DHCP est activé avec des réservations d’adresses ce qui me permets de cocher la case :

Deny unknown client

De cette façon aucune machine ne pourra obtenir d’IP dans la zone DMZ sans que ce soit expressément autorisé.

A ce stade votre DMZ est prête à accueillir les machines. En ce qui me concerne mon installation comporte 2 switchs un pour le LAN et un pour la DMZ.
Le plus important reste à venir à savoir le paramétrage des règles du Firewall. Sur mon installation le LAN est autorisé à communiquer avec la DMZ mais la DMZ ne peut pas aller vers le LAN alors que les machines peuvent aller sur Internet. Pour réaliser cette dernière partie on passe sa souris sur Firewall dans la barre de menu et on clique sur Rules. On clique sur l’onglet DMZ et on crée la règle suivante :

Voici les détails de la règle :


On laisse tout le reste par défaut.

Il ne vous reste plus qu’à créer les règles sur l’interface WAN pour atteindre les serveurs dans la DMZ (ici serveur web et mail). Vous pouvez passer par les règles de NAT qui peuvent créer automatiquement les règles du Firewall.

 

4 thoughts on “Monter une DMZ avec Pfsense

  1. Meci pour le tuto.
    J’aimerais savoir comment faire si on a un BVPN et un accès Internet ( 2 routeurs différents), les deux connectés à pfsense: comment faire pour que sa soit transparent au users d’y aller sur le net et au bvpn (sites distants)

    Merci

  2. Bonjour j’ai un problème en créant le DMZ là bas sur interface assignments il n’ya pas add du coup ça me parfait difficile de l’ajouter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *