/bm-backup-pfsense

Script to backup pfSense XML config file (accross web interface)

Primary LanguageShell

bm-backup-pfsense (blogmotion backup pfsense)

english version below

Description

Présentation ➡️ https://blogmotion.fr/systeme/script-backup-pfsense-configuration-16496

Ce script permet de sauvegarder la configuration d'un pare-feu pfSense, en récupérant à distance le fichier XML via HTTP(S).

3 versions du script existent :

  • une basée sur le binaire wget
  • une basée sur le binaire cURL (plus rapide)
  • une basée sur le binaire cURL (plus rapide) version multi

Suivant si l'un ou l'autre binaire est présent, choisissez la version en adéquation.

La version multi permet de sauvegarder plusieurs pare-feu dans le même script.

Variables

Vous devez éditer le script (nano, vim, etc.) pour saisir à minima :

  • IP ou le nom FQDN (sans slash de fin)
  • identifiant
  • mot de passe

Je vous recommande de créer un utilisateur dédié (System > User Manager) ayant à minima le privilège "WebCfg - Diagnostics: Backup & Restore". Pour des questions de sécurité le compte "admin" est déconseillé (mot de passe en clair dans le script).

🚦 Configuration minimale

Nécessite

  • shell ou bash
  • wget ou cURL

Fonctionne en théorie sur n'importe quelle distribution Linux. Testé sur Debian, CentOS, pfSense.

Note : la modification des variables BACKUP_RRD, BACKUP_PKGINFO, BACKUP_PASSWORD n'est pour l'instant pas supportée.

Compatibilité

Ce script est compatible avec pfSense:

  • 2.6.x
  • 2.5.x
  • 2.4.x
  • 2.3.x
  • 2.2.x

Non testé sur les versions inférieures.

Validé avec les versions :

  • 2.6.0
  • 2.5.2
  • 2.4.3, 2.4.0
  • 2.3.4-RELEASE-p1, 2.3.3, 2.3.2, 2.3.1
  • 2.2.5

🚀 Utilisation

Il est recommandé de créer un répertoire dédié pour y stocker le script. Les configurations XML sont stockées dans un sous-répertoire dédié.

Version cURL:

chmod +x pfmotion_curl.sh
./pfmotion_curl.sh

Version cURL multi:

chmod +x pfmotion_curl_multi.sh
./pfmotion_curl_multi.sh

Version wget :

chmod +x pfmotion_curl_wget.sh
./pfmotion_curl_wget.sh

Le fichier de backup contient le nom du pare-feu :

/tmp/conf_backup/config-<nom-hote>_<domaine>-<YYYYmmJJHHMMSS>.xml

Exemple :

/tmp/conf_backup/config-pf_blogmotion.fr-20171007002812.xml

[EN] Description

soon