Lors de la mise en place du mini-LAB virtuel, nous avons installé pfSense sans le configurer. En effet, après l'installation, s'il trouve les interfaces adéquates (une avec un IP reçue en DHCP pour le WAN, et une autre disponible pour le LAN), pfSense est fonctionnel.
Nous allons voir ici les éléments de configuration qu'il est important ou utile de mettre en place pour un fonctionnement optimal de pfSense.
Cette configuration initiale de pfSense est par défaut très permissive au niveau du pare-feu. Nous verrons par ailleurs comment mettre en place des règles plus strictes.
Depuis la VM client (debian-gui) du lab, on utilise le navigateur WEB pour accéder à la configuration web de pfSense (webadmin), sur https://192.168.1.1
:
Comme nous utilisons une IP privée locale comme adresse source HTTPS, on a bien sûr l’avertissement habituel sur les risques d’un certificat auto-signé. Nous acceptons ce "risque", et nous voilà sur la page de connexion à pfSense :
Par défaut, l’identifiant est admin et le mot de passe pfsense.
Au premier lancement, le "wizard" de configuration apparaît (il est également possible de l’appeler plus tard depuis le menu system) :
Le bouton "next" nous amène à la suite :
Netgate, l’éditeur, propose de considérer la souscription au support avancé pour pfSense.
On laisse ensuite le hostname et le domaine proposés, et on fixe les serveurs DNS que nous souhaitons utiliser :
Selon votre environnement, il est possible que ces DNS vous soient imposés ; il convient de saisir ici les valeurs adéquates. Mais par défaut, le choix des DNS de CloudFlare (1.1.1.1 et 1.0.0.1) est recommandé.
Il faut décocher l’option "override" pour que nos choix DNS ne soient pas remplacés par ceux fournis par le WAN (par DHCP).
On définit ensuite le serveur NTP principal que va utiliser pfSense, ainsi que la timezone de notre système. On prend ici des réglages adaptés à la France :
L’étape suivante concerne le paramétrage de l’interface WAN ; celle-ci utilise par défaut DHCP pour sa configuration. Sur cette page on veillera aussi à désactiver le blocage des flux RFC1918 (plages d’adresses IP privées) arrivant sur le WAN ; en effet ce genre de situation peut se produire, et d’ailleurs dans le cas du mini-LAV l’interface WAN est sur un réseau privé (mais aucune connexion n'est censée entrer par le WAN pour le moment).
On peut également débloquer les réseaux Bogon notamment si on est amené à utiliser des plages IP réservées à des usages de test (comme celles de la RFC5737), ou plus généralement si on veut lever toute restriction initiale sur le pare-feu.
L’étape suivante consiste à renseigner (confirmer) l’adresse IP de pfSense sur le réseau LAN. Laissons ce réglage intact :
Enfin, il convient de personnaliser le mot de passe associé à l’utilisateur admin. En réalité, les bonnes pratiques de sécurité obligent même à désactiver ce compte et à en créer un autre ; nous ferons cela un peu plus loin. Pour le moment, limitons-nous à modifier ce mot de passe.
Il ne reste plus qu’à recharger (reload) le système avec cette nouvelle configuration :
Et voilà ! le système est (presque) configuré, on clique sur "finish" :
L’affichage du "placard" informatif ci-dessus est notamment le signe que le système accède à Internet. On est invité à accepter les conditions, puis encore une invitation à participer à l’amélioration du système, et on arrive sur le dashboard par défaut :
Le tableau de bord peut afficher des informations plus pertinentes que les informations relatives à Netgate (dont vous pouvez prendre connaissance malgré tout !).
Utiliser les croix en haut à droite de chaque élément du dashboard, puis l’option + pour en ajouter, comme celui qui permet de visualiser l’état des passerelles (gateways) ou l’activité sur les interfaces (traffic graph) :
On obtient un dashboard plus informatif. Il est possible (entre autres) de déplacer les éléments, il ne faut pas oublier alors d’enregistrer cette disposition avec l’icône "disquette" en haut à droite.
Il convient de réaliser quelques opérations supplémentaires pour finaliser la configuration initiale.
La plupart des CPU actuels disposent d’un jeu d’instructions AES-NI pour le chiffrement symétrique, lequel est notamment utilisé lors de connexions VPN. Par principe, on l’active d’emblée sur une nouvelle instance pfSense. On vérifie d’abord que l’option est disponible, depuis le dashboard > system information > CPU Type > AES-NI > Yes (inactive)
Si c’est “Yes” (comme sur la capture ci-dessus), on l’active :
Menu system > advanced > Miscellaneous > Cryptographic & thermal sensor :
On active AES-NI, et on clique sur "save" en bas de page.
Désormais, la mention "active" est présente sur le dashboard dans la section CPU > AES-NI.
On va créer un utilisateur administrateur et désactiver le compte admin par défaut. Menu system > user manager > users > add :
Créer l’utilisateur (username et mot de passe au moins) et l’ajouter au groupe admins :
Puis sauvegarder.
Se déconnecter de l’admin actuel (icone en haut à droite de la page), puis se reconnecter avec ce nouvel utilisateur.
Désactiver maintenant l’utilisateur admin standard :
Sauvegarder.
Attention, si vous souhaitez plus tard activer l'administration de pfSense via une console SSH, il faudra réactiver l'admin par défaut (qui est root).
Notre interface WAN ne dispose que d’une IPv4 ; pour plus de clarté, on va désactiver la gestion de l’IPv6 sur cette interface.
Menu interfaces > WAN :
Sauvegarder et appliquer les changements :
Depuis la version 2.7.2, pfSense nous invite à laisser de côté le serveur historique ISC DHCP qui est déprécié, au profit de son successeur Kea DHCP. Alors allons-y :
On peut également en profiter pour modifier la plage des adresses DHCP, dans le menu services > DHCP Server :
Sauvegardez, et appliquez les changements.
De nombreux services sont activés sur pfSense pour assurer la gestion du réseau (DHCP, NTP, DNS, FIREWALL, …). Pour alléger le fonctionnement du DNS, qui est la source de bien des soucis (« it’s always DNS ! »), on va désactiver le serveur DNS intégré (résolveur). Les requêtes DNS seront gérées directement par les serveurs externes prédéfinis plus haut.
Menu Services > DNS resolver
Sauvegarder et appliquer les changements :
Attention, il faudra réactiver et configurer le résolveur DNS si vous souhaitez par exemple utiliser le paquet pfBlocker-NG, souvent utilisé pour améliorer la sécurité.
Tout ceci n’est peut-être pas exhaustif ou parfait, mais c’est basé sur l’expérience, et le fait qu’on soit sur un labo. Par exemple, sur un pfSense en production, on pourra notamment protéger le menu de la console par un mot de passe (menu system > advanced > admin access) :
Afin de propager les réglages DNS notamment, il convient de redémarrer l'ensemble des VM.