Provya

Expertise pfSense

Sommaire des articles  -  Liens & Actualités  -  Firewall pour pfSense

[pfSense] Sauvegarder automatiquement son firewall avec un script

icon 29/06/2021 - 5 commentaires

English version: [pfSense] Making automatic backups with a script

Dans cet article, nous présentons une solution pour sauvegarder automatiquement son pfSense avec un script shell.

Nous nous appuyons sur le script shell bm-backup-pfsense proposé par le site Blogmotion.



Principe de fonctionnement


Le script va se connecter sur l'interface web du pfSense à sauvegarder et va "naviguer" dans les menus afin de déclencher le téléchargement du fichier de configuration (config.xml).

L'intérêt de ce script est qu'il passe par l'interface web de pfSense pour effectuer la sauvegarde. Ainsi, il n'y a pas besoin d'activer un accès SSH sur le serveur pfSense que l'on souhaite sauvegarder et l'on peut créer un compte utilisateur avec les droits strictement nécessaires pour effectuer la sauvegarde.

D'une façon générale, nous recommandons de se méfier des scripts ou applications qui nécessitent un accès SSH "root" sur les firewall pfSense ; cela représente un risque trop important en terme de sécurité.

Le script bm-backup-pfsense fonctionne très bien sous pfSense 2.4.x, 2.5.x et 2.6.x.



Création d'un compte utilisateur


Pour commencer, nous allons créer un compte utilisateur dédié à la sauvegarde.
Se rendre dans le menu System > User Manager :

Menu System > User Manager - pfSense - Provya


Depuis l'onglet "Users" (onglet par défaut), cliquer sur le bouton "+ Add".

Nous créons un nouvel utilisateur en précisant simplement un nom d'utilisateur (username) et un mot de passe (password). Les autres champs peuvent être laissés vides.

Exemple de résultat obtenu :

Création d'un utilisateur pour la sauvegarde - pfSense - Provya

Création d'un utilisateur dédié pour la sauvegarde


Pour en savoir plus sur la gestion des utilisateurs sous pfSense, consultez notre article dédié : [pfSense] La gestion des utilisateurs.


Nous pouvons maintenant modifier cet utilisateur afin de lui assigner les bons droits d'accès.
Pour cela, cliquer sur l'icône en forme de crayon se situant sur la ligne de l'utilisateur que nous venons de créer :

Modification d'un utilisateur pour la sauvegarde - pfSense - Provya



Descendre au niveau de la rubrique "Effective Privileges" et cliquer sur le bouton "+ Add" :

Ajout de droits à un utilisateur pour la sauvegarde - pfSense - Provya



Nous ajoutons le droit d'accès à la page de Sauvegarde / Restauration en sélectionnant la ligne "WebCfg - Diagnostics: Backup & Restore" :

Choix des droits pour un utilisateur pour la sauvegarde - pfSense - Provya



Nous validons notre choix en cliquant sur le bouton "Save", puis nous sauvegardons la modification de l'utilisateur en cliquant de nouveau sur le bouton "Save".

Ainsi, notre utilisateur "sauvegarde-auto" peut se connecter sur l'interface web de pfSense mais n'aura accès qu'à la page Backup & Restore :

Menu limité à la sauvegarde - pfSense - Provya

L'utilisateur sauvegarde-auto n'a accès qu'à une seule page de notre pfSense




Configuration du script


Le script bm-backup-pfsense doit pouvoir s'exécuter sur n'importe quelle distribution GNU/Linux ou serveur FreeBSD/pfSense.

Dans notre cas, nous exécuterons ce script depuis un serveur de sauvegarde Linux hébergé sur notre réseau local (LAN).

Nous téléchargerons le script pfmotion_curl.sh.

Il existe deux autres versions de bm-backup-pfsense : une version utilisant le programme wget et une version permettant de sauvegarder plusieurs pfSense (à condition que le nom d'utilisateur et le mot de passe soient identiques sur tous les pfSense à sauvegarder).

Le fichier pfmotion_curl.sh est très simple à paramétrer ; il suffit de compléter les variables suivantes :

  • PFSENSE_HOST (ligne 14) : l'adresse IP du serveur pfSense à sauvegarder
  • PFSENSE_USER (ligne 17) : le compte utilisateur pour se connecter à pfSense. Dans notre cas : sauvegarde-auto
  • PFSENSE_PASS (ligne 18) : le mot de passe associé au compte utilisateur
  • BACKUP_DIR (ligne 21) : le dossier de sauvegarde (par défaut, les sauvegardes seront enregistrées dans le dossier conf_backup du répertoire où est exécuté le script)

Exemple de résultat obtenu :

Configuration du script pfMotion-backup - pfSense - Provya


Il ne nous reste plus qu'à lancer le script :

Lancement du script pfMotion-backup - pfSense - Provya

Le script s'est déroulé avec succès. Sauvegarde effectuée


Nous pouvons automatiser le lancement de ce script, toutes les nuits par exemple, via une tâche cron.

Enfin, et pour être complet, nous proposons d'ajouter deux fonctionnalités complémentaires au script :

  • Une alerte par e-mail si la sauvegarde ne s'effectue pas correctement
  • La suppression des sauvegardes de plus de 30 jours


Alerte par e-mail si la sauvegarde ne s'effectue pas correctement


Il suffit d'ajouter le code suivant aux lignes 71 et 78 :

echo "Erreur lors de la sauvegarde de pfSense" | mail -s "Sauvegarde auto pfSense - ERREUR" mon@adresse.tld

Ce qui donnera quelque chose comme ceci :

Alerte par e-mail en cas de problème avec pfMotion-backup - pfSense - Provya


Il faut, bien-sûr, remplacer mon@adresse.tld par l'adresse e-mail destinée à recevoir les notifications.

Il faut également avoir préalablement configuré sur son serveur un programme d'envoi d'email tel que Postfix ou Sendmail.
Nous proposons un article succinct sur l'installation et la configuration de Postfix sur un serveur Ubuntu ou Debian : [Postfix] Installer et configurer Postfix pour envoyer ses e-mails depuis un serveur dédié


Suppression des sauvegardes de plus de 30 jours


Nous proposons d'ajouter le code suivant qui va s'occuper de rechercher et supprimer les fichier de plus de 30 jours se trouvant dans le dossier de sauvegarde.

# Suppression au dela de 30 jours
find "$BACKUP_DIR/" -type f -mtime +30 -exec rm {} \;

Ce code est à placer en fin de script, juste avant les deux dernières lignes :

echo
exit 0

Voilà, nous disposons d'une solution simple, pratique et efficace pour sauvegarder automatiquement notre serveur pfSense.
Merci à Mr Xhark du site Blogmotion pour sa réalisation et son partage.



Pour aller plus loin


[pfSense] Sauvegarder automatiquement sa configuration avec AutoConfigBackup
[Postfix] Installer et configurer Postfix pour envoyer ses e-mails depuis un serveur dédié
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors visitez notre boutique en ligne.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtra-SFP+ pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] La gestion des packages sous pfSense

icon 08/06/2021 - 2 commentaires

English version: [pfSense] The package system in pfSense

pfSense propose l'installation de packages afin de pouvoir lui ajouter des fonctionnalités supplémentaires.

Dans cet article, nous présentons le fonctionnement des packages, leur gestion (installation, mise à jour, suppression), ainsi que les principaux packages.



Qu'est-ce qu'un "package"


Dans son installation par défaut, pfSense offre une large palette de fonctionnalités. Il est en plus possible de lui adjoindre des fonctionnalités supplémentaires par l'installation de packages. Ces packages peuvent offrir des services complémentaires ou des informations statistiques avancées.

Ces packages sont intégrés à pfSense. C'est-à-dire que leur utilisation se fait généralement via l'interface web de pfSense.
De même, la liste des packages disponibles est maintenue et vérifiée par Netgate, l'éditeur du logiciel pfSense, afin de s'assurer que les packages proposés soient correctement mis à jour et maintenus.

Les packages sont les seuls outils additionnels que l'on peut installer aisément sur un pfSense existant. En effet, le logiciel pfSense tournant sur une base FreeBSD modifiée, l'ensemble des packages ou logiciels habituellement disponibles sous FreeBSD (via pkg, par exemple, l'outil de gestion des paquets de FreeBSD) ne pourra pas forcément être installé sur pfSense (pour des problématiques de dépendances, principalement).

Enfin, il est important de rappeler que l'installation de packages sur pfSense doit se faire de manière mesurée et pragmatique ; pour des raisons de sécurité, il est recommandé de n'installer que les package strictement nécessaires.



Comment installer un package


L'installation d'un package s'opère depuis le menu System > Package Manager :

Menu System > Package Manager - pfSense - Provya


La gestion des packages est organisée sous la forme de deux onglets :

Gestion des packages - pfSense - Provya


Le premier onglet (Installed Packages) permet de visualiser les packages installés. Il est également possible depuis cet onglet de réinstaller un package ou de le mettre à jour.

Le deuxième onglet (Available Packages) permet de parcourir la liste complète des packages disponibles et pas encore installés.

Pour chaque package, les informations suivantes sont présentées :

  • Name : le nom du package ; un lien peut être présent sur le nom du package en priorité vers la page de documentation associée, vers la catégorie dédiée sur le forum pfSense ou vers le site de l'éditeur.
  • Version : la version installée ou installable.
  • Description : une description succincte en anglais du package.

Depuis l'onglet "Available Packages", il est également possible de lancer une recherche sur un mot clef.

Pour installer un package donné, il suffit de cliquer sur le bouton "Install" se situant sur la même ligne.

Installer un paquet - pfSense - Provya


Une confirmation nous sera demandée, il suffira de cliquer sur le bouton "Confirm" :

Installer un paquet - pfSense - Provya


Le processus d'installation se déroule et les informations d'installation sont affichées à l'écran. Une fois l'installation réalisée avec succès, un message d'information est affiché :

Installation réussie d'un paquet - pfSense - Provya


De la même façon, en cas d'erreur ou d'anomalie lors de l'installation d'un package, un message d'erreur explicite est affiché.



Gérer les mises à jour de package


Les packages disposent de leur propre rythme de mise à jour.
Aussi, lorsque l'on installe un package, il est important de maintenir ce dernier à jour.

Lorsqu'un package dispose d'une mise à jour, son nom apparaît en jaune et l'icône Icône de mise à jour d'un package sous pfSense - Provya est également affichée :

Mettre à jour un package sous pfSense - Provya

Les packages ntopng et openvpn-client-export peuvent être mis à jour


Pour lancer la mise à jour, il suffit de cliquer sur l'icône de mise à jour Icône de mise à jour d'un package sous pfSense - Provya.

Pour les packages à jour, l'icone affichée est la suivante : Icône d'un package à jour sous pfSense - Provya.

Icône d'un package à jour sous pfSense - Provya

Le package acme est à jour



Point d'attention concernant les mises à jour : lors de la sortie d'une nouvelle version de pfSense, les dépôts proposés par défaut sont mis à jour pour correspondre à la nouvelle version de pfSense ; ainsi les packages (et les mises à jour) proposés sont ceux correspondant à la nouvelle version de pfSense.
Si on n'utilise pas la dernière version de pfSense et que l'on souhaite installer ou mettre à jour un package, il faut modifier la branche de version utilisée pour les dépôts. Nous détaillons la procédure dans le paragraphe suivant.

Enfin, lors d'une mise à jour de pfSense, il faut d'abord mettre à jour pfSense, avant de mettre à jour les packages. Nous présentons la procédure complète pour mettre à jour son pfSense dans notre article dédié : [pfSense] Mettre à jour son serveur pfSense



Installer et mettre à jour des packages pour les anciennes versions de pfSense


Si une nouvelle mise à jour de pfSense est sortie et que l'on ne souhaite pas y passer, mais que l'on veut continuer à pouvoir installer/mettre à jour ses packages, il faut modifier les dépôts cibles.

Pour cela, il faut se rendre dans le menu System > Update :

Menu System > Update - pfSense - Provya


Se rendre sur l'onglet "Update Settings" et dans liste déroulante "Branch", choisir la branche correspondant à notre version de pfSense actuellement installée :

Changement branche mise à jour - pfSense - Provya


Il faut, bien-sûr, cliquer sur le bouton "Save" pour valider le changement.



Désinstaller ou réinstaller un package


Il peut parfois être utile de réinstaller un package lorsque celui-ci rencontre des problèmes de stabilité ou suite à une mise à jour qui ne s'est pas bien passée.

Il y a deux approches possibles : réinstaller le package ou désinstaller puis installer de nouveau le package.

Pour cela, deux icônes sont proposées pour chaque package installé ; la première icône permet de désinstaller le package Désinstaller un package sous pfSense - Provya, la seconde de le réinstaller Réinstaller un package sous pfSense - Provya.

Il faudra confirmer l'action choisie en cliquant sur le bouton "Confirm".

Gestion des packages sous pfSense - Provya




Présentation des principaux packages


Il existe plus ou moins une soixantaine de packages. Nous proposons ici de présenter succinctement les principaux :


ACME


Le paquet ACME (Automated Certificate Management Environment) permet la gestion des certificats auprès des fournisseurs supportant le protocole ACME, comme Let's Encrypt par exemple.


arping et arpwatch


Ces deux paquets permettent d'envoyer des requêtes ARP de type who-has et de surveiller / alerter dès qu'une nouvelle adresse MAC est détectée sur le réseau.


apcupsd


Ce paquet permet de contrôler tous les modèles d'onduleurs APC. Il peut surveiller et enregistrer l'état actuel de l'alimentation et de la batterie, effectuer un arrêt automatique et peut aussi fonctionner en mode réseau pour mettre hors tension d'autres hôtes sur le réseau.


BIND


Ce paquet fournit une interface graphique pour le serveur DNS BIND (permettant de mettre en place un serveur DNS faisant autorité ou un résolveur DNS).


Cron


Propose une interface graphique pour manipuler le programme cron (qui est un planificateur de tâches) de pfSense.


HAproxy


Installe le logiciel HAProxy qui est un reverse proxy et équilibreur de charge (load balancing) puissant.


LADVD et lldpd


Ces deux paquets offrent des fonctionnalités similaires et permettent la prise en charge des protocoles LLDP (Link Layer Discovery Protocol), CDP (Cisco Discovery Protocol), EDP (Extreme Discovery Protocol) et NDP (Nortel Discovery Protocol).


squid, squidGuard et Lightsquid


Ce paquets permettent d'installer le serveur proxy squid, de filtrage d'URL ou de noms de domaine squidGuard et l'analyseur de logs Lightsquid.


ntopNG


ntopNG agit comme une sonde réseau qui montre l'utilisation détaillée du réseau. ntopNG dispose d'un émetteur/collecteur NetFlow/sFlow.


OpenVPN Client Export


Ce paquet permet de générer des fichiers de configuration OpenVPN pré-configurés pour les clients, des installateurs de clients Windows pré-configurés et des bundles de configuration Viscosity.


pfBlockerNG


Installe le logiciel pfBlockerNG qui est un utilitaire très complet permettant de contrôler les connexions à travers le pare-feu sur la base de critères plus généraux que les règles du pare-feu elles-mêmes (par exemple, par pays, par nom de domaine, etc.).
pfBlockerNG gère des listes d'adresses IP dans des formats de type "Deny, Permit ou Match", permet d'accéder à la base de données GeoIP, gère des liste noire DNS (DNSBL), etc.


Siproxd


Ce paquet permet d'installer un proxy SIP pour la VoIP. Pour la plupart des configurations SIP modernes, ce type de logiciel n'est absolument plus du tout nécessaire. Le paquet Siproxd ne doit donc être installé / utilisé que si c'est vraiment utile.


Snort et Suricata


Ces paquets offrent des fonctionnalités très similaires. Ils permettent d'installer un système de prévention d'intrusion de type IDS/IPS.


System Patches


Ce paquet permet l'installation de correctifs (patches) personnalisés.


Zabbix-agent et Zabbix-proxy


Ces paquets permettent la collecte et la remontée d'informations de supervision vers un serveur Zabbix.


Nous avons fait le tour de la gestion des packages sous pfSense et listé les principaux d'entre eux.

Dans de prochains articles, nous présenterons plus en détail certains packages : leurs intérêts concrets et leurs utilisations détaillées.



Pour aller plus loin


[pfSense] Mettre à jour son serveur pfSense
Best practices / Recommandations pour la configuration de votre firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtra-SFP+ pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :