14/11/2024

Pare-Feu

Administration centralisée des pare-feux pfSense et OPNsense avec Dynfi Manager

I. Présentation

Ce tutoriel explique comment installer et configurer DynFi Manager sur Debian 12. DynFi Manager permet de contrôler plusieurs pare-feux tels que pfSense, OPNsense, et DynFi Firewall à partir d'une seule interface centralisée.

DynFi Manager est une solution centralisée permettant de gérer et superviser plusieurs firewalls à partir d'une interface web unique, ce qui facilite l'administration des politiques de sécurité et des configurations réseau. Cette solution offre des fonctionnalités de supervision en temps réel, de déploiement automatisé de configuration, et de gestion des mises à jour. Par ailleurs, il assure la sauvegarde régulière des configurations et permet une restauration rapide en cas de besoin.

DynFi Manager propose trois licences gratuites, une par pare-feu, ce qui est suffisant pour une petite infrastructure. Cependant, pour une gestion plus étendue, des licences supplémentaires sont disponibles à environ 100 € / an par licence on-premise. Il est important de planifier vos besoins en licences en fonction de la taille de votre réseau.

Configuration réseau utilisée pour ce tutoriel :

  • IP serveur Debian Dynfi : 192.168.194.138
  • IP pfSense : 192.168.194.136
  • IP OPNsense : 192.168.194.139

Tous ces appareils sont sur le même réseau/sous-réseau. Assurez-vous que les règles de pare-feu, telles que WAN, LAN ou IPSEC, ne bloquent pas les communications entre ces dispositifs. Vous devez également disposer d'un accès administrateur sur les firewalls et le futur serveur Dynfi (root).

Nous ne détaillerons pas l'installation de pfSense et d'OPNsense dans ce tutoriel.

II. Mise en place de Dynfi Manager sur Debian

A. Mise à jour et dépendances requises

Commencez par mettre à jour votre système :

sudo apt -y update && sudo apt upgrade && sudo apt full-upgrade && sudo apt autoclean && sudo apt clean

Ensuite, installez les outils nécessaires pour télécharger et gérer les paquets :

sudo apt install -y wget
sudo apt install -y gnupg

B. Installation de Java 11

Java 11 est requis pour utiliser DynFi Manager. Pour l'installer, ajoutez le dépôt de Debian 11 "Bullseye" :

echo "deb http://deb.debian.org/debian bullseye main" | sudo tee /etc/apt/sources.list.d/debian-bullseye.list
sudo apt-get update
sudo apt-get install -y openjdk-11-jre-headless

C. Installation de MongoDB et de ses dépendances

MongoDB est requis pour DynFi Manager. Suivez ces étapes pour l'installer correctement.

Commencez par installer "libssl1.1" et supprimer le dépôt Bullseye, car nous n'en avons plus l'utilité :

sudo apt-get install libssl1.1
sudo rm /etc/apt/sources.list.d/debian-bullseye.list
sudo apt-get update

Ajoutez ensuite la clé et le dépôt MongoDB :

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/debian buster/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt -y update

Enfin, installez et initialisez MongoDB :

sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod

D. Installation de DynFi Manager

Procédez à l'installation de DynFi Manager en important l'installeur, et en l'exécutant :

cd /tmp
wget https://dynfi.com/scripts/DynFi_Manager_Installer.sh.tgz
tar -xvzf DynFi_Manager_Installer.sh.tgz
chmod u+x DynFi_Manager_Installer.sh
sudo ./DynFi_Manager_Installer.sh

Répondez "yes" à chaque étape de l'installation, que ce soit pour démarrer l'installation ou pour la configuration de MongoDB.

Après l'installation, laissez la configuration MongoDB par défaut :

  • IP et port : 0.0.0.0:9090
  • Utilisation HTTPS : no
  • URI du client Mongo : mongodb://localhost
  • Base de données Mongo : dynfitest

Ensuite, attribuez les droits nécessaires sur le fichier de configuration "dynfi.conf" et lancez DynFi :

sudo chown root:root /etc/dynfi.conf
sudo chmod 644 /etc/dynfi.conf
sudo systemctl start dynfi
sudo systemctl enable dynfi

Vérifiez le statut du service DynFi pour vous assurer qu'il fonctionne correctement :

sudo systemctl status dynfi

On peut observer sur les dernières ligne que je peux accéder à l'interface. Dans cet exemple à l'adresse "192.168.194.138" sur le port 9090.

Par défaut, tous les flux sont autorisés sur la machine Debian. Pour des raisons de sécurité, il est préférable d'installer un outil pour configurer le pare-feu local. Dans ce cas, il faudra ouvrir le port 9090 pour accéder à l'interface de Dynfi (et autorisez d'autres ports, si besoin). J'ai choisi d'installer UFW comme pare-feu :

sudo apt-get install -y ufw
sudo ufw enable
sudo ufw allow 9090/tcp

Accédez à l'interface DynFi via l'URL suivante : http://votre_ip_dynfi:9090.

III. Configuration de DynFi Manager

Lors de la première connexion à l'interface DynFi, vous devrez accepter les conditions d'utilisation et créer un compte administrateur.

Si le temps de chargement est trop long, vous pouvez inspecter la page, trouver la div nommée " id="app-container" " et modifier le style "opacity" à "0". Pour faire disparaître la barre de chargement, cliquez avec le bouton droit sur "<div class="pace pace-active">" et supprimez le nœud.

Une fois l'interface accessible, générez un mot de passe fort pour le compte administrateur.

Il ne vous reste plus qu'à ajouter vos pare-feux. Il existe plusieurs méthodes pour le faire. Nous allons ici nous concentrer sur l'ajout avec token. Pour cela, rendez-vous dans "Agent de connexion", puis "Tokens", et cliquez sur "Générer un nouveau jeton".

Entrez l'adresse IP de votre pare-feu, laissez le port par défaut 2222, ajoutez une étiquette (par exemple, "pfSense"), définissez une date d'expiration (1 an par exemple), puis cliquez sur "Générer" et fermez.

Ensuite, ouvrez le port "2222" sur votre serveur Debian afin d'autoriser les futures connexions :

sudo ufw allow 2222/tcp

Modifiez le fichier de configuration de DynFi pour activer le service SSH de l’agent de connexion en ajoutant cette ligne à la fin du fichier :

echo connectionAgentPort=2222 | sudo tee -a /etc/dynfi.conf

Redémarrez ensuite le service DynFi :

sudo systemctl restart dynfi

Par défaut, la connexion par token utilise le port 2222. Toutefois, vous pouvez configurer DynFi pour utiliser un autre port si nécessaire. Pour cela, comme précédemment, modifiez simplement le fichier "/etc/dynfi.conf". De plus, n'oubliez pas d'ouvrir le nouveau port configuré sur le pare-feu du serveur DynFi.

A. Ajouter un pare-feu pfSense à DynFi

Pour ajouter un pare-feu pfSense, suivez les étapes décrites ci-dessous.

Accédez à pfSense et allez dans "Diagnostics", puis "Command Prompt". Cela vous permet d'envoyer directement une commande à pfSense.

Copiez et collez la commande suivante pour télécharger et déployer l’agent de connexion :

pkg -C /dev/null add -f https://dynfi.com/files/connection-agent/pfsense/pfSense-pkg-dfconag-1.12.txz

Rechargez la page. Si tout s'est bien passé, vous verrez un nouvel élément "DynFi Connection Agent" apparaître dans le menu "Services". Avant de l'utiliser, rendez-vous dans "System", puis "Advanced", et descendez jusqu'à la section "Secure Shell" pour cocher la case "Enable Secure Shell", puis sauvegardez.

Maintenant, allez dans "Services / DynFi Connection Agent", installez "autossh" pour maintenir la session active avec DynFi, puis connectez-vous.

Sur DynFi, récupérez le token généré précédemment, revenez sur pfSense, collez le token, indiquez l'adresse IP de votre DynFi, et si besoin, sélectionnez une interface spécifique (interface d'écoute du service).

Si vous êtes bloqué, vérifiez vos règles WAN, LAN, IPSEC qui pourraient être bloquantes. Vous pouvez, par exemple, ajouter une règle de pare-feu sur pfSense pour autoriser spécifiquement DynFi.

Connectez-vous à l'interface web de pfSense et accédez à "Firewall > Rules".

Dans l'onglet "WAN" ou l'interface que vous utilisez pour la communication avec DynFi, ajoutez une nouvelle règle :

  • Action : Pass
  • Protocol : TCP
  • Source : Any (ou restreindre à l'IP du serveur DynFi)
  • Destination : This Firewall (self)
  • Destination Port Range : 2222 (ou le port que vous avez configuré dans DynFi)
  • Description : Pass Connexion DynFi Manager

Appliquez les modifications et vérifiez que la règle est active.

Je vous conseille de laisser les paramètres par défaut et de cliquer sur Register.

Normalement, vous devriez observer un résultat similaire à celui-ci :

Sur DynFi, vous devriez voir votre pfSense dans la liste de vos appareils !

B. Ajouter un pare-feu OPNsense à DynFi

Pour ajouter un pare-feu OPNsense, suivez ces étapes. Si vous avez besoin d'aide pour installer un firewall OPNsense, suivez ce tutoriel :

Commencez par accéder à OPNsense en SSH, choisissez l'option 8, et collez cette commande :

pkg add -f https://dynfi.com/files/connection-agent/opnsense/os-dfconag-1.10.txz

Rechargez la page. Si tout s'est bien passé, vous verrez un nouvel élément DynFi Connection Agent apparaître dans le menu.

Avant de vous connecter, allez dans "Système", puis "Paramètres", "Administration" et descendez jusqu'à la section "Secure Shell" pour cocher la case "Enable Secure Shell", puis sauvegardez.

Maintenant, allez dans "DynFi Connection Agent", cliquez sur "Connecter", et entrez le token généré précédemment dans DynFi Manager.

Si vous êtes bloqué, vérifiez vos règles WAN, LAN, IPSEC qui pourraient être bloquantes, vous pouvez par exemple, ajouter une règle de pare-feu sur OPNsense pour autoriser spécifiquement DynFi.

Connectez-vous à l'interface web d'OPNsense et accédez à Pare-feu > Règles.

Dans l'onglet LAN ou l'interface que vous utilisez pour la communication avec DynFi, ajoutez une nouvelle règle :

  • Action : Autoriser
  • Protocol : TCP
  • Source : Any (ou restreindre à l'IP du serveur DynFi)
  • Destination : Ce Pare-feu
  • Plage de ports de destination : 2222 (ou le port que vous avez configuré dans DynFi)
  • Description : Pass Connexion DynFi Manager

Appliquez les modifications et vérifiez que la règle est active.

Je vous conseille de laisser les paramètres par défaut et de cliquer sur "Continuer".

Normalement, vous devriez observer un résultat similaire à celui-ci :

Sur l'interface de DynFi, vous devriez voir votre firewall OPNsense ajouté à vos appareils.

IV. Conclusion

Félicitations ! Vous avez installé et configuré DynFi Manager sur votre serveur Debian 12. Vous pouvez maintenant administrer vos pare-feux pfSense, OPNsense, et DynFi Firewall de manière centralisée et efficace à l'aide d'une console d'administration unique.

N'hésitez pas à poster un commentaire si vous avez des questions ou des retours d'expérience à partager.

author avatar
Killian VAN RUYMBEKE Ingénieur Cybersécurité M1
Ingénieur Cybersécurité M1 en alternance, j'ai une forte appétence pour tous les domaines technologiques. Dans un esprit d'entraide, j’essaie de partager les connaissances que j'ai pu acquérir à travers mes articles.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

4 commentaires sur “Administration centralisée des pare-feux pfSense et OPNsense avec Dynfi Manager

  • bonjour,

    je vient de tester a plusieurs repprise le tutoriel mais j’ai un problème lors de l’execution du code pour installer l’app vous en avez pas trop fait réfferance mais doit t’on crée une db sur mangodb ?

    Répondre
    • Bonjour David,

      Après avoir installer les dépendances et MongoDB en amont, la création de la DB se fait lors de l’exécution du script d’installation de l’installer Dynfi, quel O.S utilisez vous ? Et êtes vous en root lors de l’exécution du script ?

      Répondre
      • bonjour,

        j’ai installer la même version que sur le tutoriel mais quand je l’execute j’ai toujour une erreur lors de l’installaiton de la bdd

        Répondre
        • Je vous invite à me contacter sur linkedin en privée David, on va essayer de debugger ça à 2 et je publierai la solution finale au problème ici pour en faire profiter tout le monde 😉

          Répondre

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.