[Script] Sauvegarder firewall Netasq / Stormshield avec Expect

 

Sauvegarder firewall Netasq / Stormshield avec Expect

 

 

J’ai trouvé sur un forum un script pour la sauvegarde d’un fw Netasq.

je l’ai adapté et modifié pour mes besoins et testé, ca fonctionne a merveille.

Ca me recupere toute la conf.

J’ai testé sur un Stormshield ca fonctionne aussi, il y a juste la partie ftp qui ne devais pas etre activé mais les commandes nsrpc et config sont OK.

 

/!\ Pré-requis

Avoir un configuré prealablement un serveur FTP pour l’envoi des backups journalier.

Faire un cron journalier pour automatiser le process

 

Creation du script, contenu et droit

# vim  /usr/local/sbin/save_fw
#!/usr/bin/expect

# Declaration des variables
set ip [lindex $argv 0]
set pw [lindex $argv 1]
set date [lindex $argv 2]

# Connexion en ssh
spawn ssh -p 22 admin@$ip
expect "?" {send "yes\r"}
expect "Password:" {send "$pw\r"}
expect ">" {send "rm /tmp/*.na\r"}

# Backup de la configuration en local
expect ">" {send "nsrpc admin:'$pw'@127.0.0.1\r"}
expect ">" {send "config backup list=all > /tmp/backup_$date.na\r"}
expect ">" {send "quit\r"}

# Connexion FTP & envoi du backup
expect ">" {send "ftp adresse_du_serveur_ftp\r"}
expect "):" {send "utilisateur_ftp\r"}
expect "Password:" {send "mdp_ftp\r"}
expect "ftp>" {send "put /tmp/*.na\n"}
expect "ftp>" {send "quit\r"}
expect ">" {send "exit\r"}

expect eof

Mettre les droits sur le script

# chmod +x save_fw

 

Pour l’execution du script, appeler la commande et les 3 arguments.

# save_fw ip_du_boitiermot_de_passe$(date +%Y-%m-%d)

 

FAQ

J’ai utilisé Pure-Ftpd serveur, simple a configurer.

Puis crée un utilisateur dedié pour le ftp.

Egalement crée un reperoire dedié a la sauvegarde, seul petit probleme c’est qu’il m’a fallut seter les droits “autres” sinon j’avais un permission denied.

J’ai donc fait un chmod 777 sur le repertoire de recuperation des sauvegardes sur ma machine, c’est moche mais j’ai pas trouvé d’autres solutions.

 

 

Rating: 5.0/5. From 1 vote.
Please wait...

Laisser un commentaire

Votre adresse de messagerie 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.