(modifié le 20 août 2018 à 23:18)

Si vous utilisez des équipements Juniper de la gamme SRX sous Junos OS il peut être utile de sauvegarder régulièrement et automatiquement leur configuration.

Voyons comment faire avec Windows.

Fonctionnement

Nous allons utiliser une connexion SCP à travers l'utilitaire PSCP de PuTTY et un compte dédié sur chaque boitier SRX pour récupérer la configuration.

La connexion se fera au moyen d'une clé SSH afin de faciliter la connexion aux pare-feu Juniper SRX (SRX100 dans mon cas).

Téléchargez le script sur GitHub.

1 - Génération des clés

Nous allons générer un couple de clé publique/privée grâce à PuTTYGen :

Cliquer sur le bouton generate puis bougez la souris dans le carré :

Supprimer le commentaire, ne pas saisir de passphrase.

Cliquer sur Save Private key, ignorer l'avertissement avec le bouton "oui" et enregistrez la clé : bm.ppk.

Cliquez sur Save public key, enregistrez la clé sous bm_pub.txt

Note : certains vont me dire que pour des raisons de sécurité c'est pas top, mais je pars du principe que pour un script automatisé nous devrons forcément taper le mot de passe en clair dans le script, alors ça ne change pas grand chose... il faut juste que cette clé ne se balade pas partout sur vos machines car elle est sensible (comme toutes les clés privées).

Gardez Putty Key Generator ouvert pour la suite.

2 - Création du compte sur le pare-feu Juniper

Nous allons créer un compte "backup" en super-user dédié à notre script, car le mode lecture seule provoquerait des erreurs de récupération des fichiers de configuration *gz "Permission denied".

Vous pouvez le faire en interface graphique si vous préférez, mais voici comment faire en ligne de commande (CLI). Cela suppose que vous disposez d'un accès en terminal sur vos équipements SRX, et nous allons aussi activer SSH.

xhark@SRX100> configure
Entering configuration mode

[edit]
xhark@SRX100# set system services ssh
xhark@SRX100# set system login user backup class super-user authentication ssh-rsa "ssh-rsa AAAz...w=="
xhark@SRX100# commit

Coller le contenu de votre clé publique après : ssh-rsa "collez-ici".

Attention, cela doit tenir sur une seule ligne sans aucun retour chariot. C'est pour cette raison que je vous demandais de garder PuTTY Key Generator ouvert. Si vous partez du fichier backup_pub.txt il faudra bien penser à supprimer tous les retours à la ligne.

Il n'est pas utile de définir un mot de passe, toutefois si vous souhaitez pouvoir vous connecter aussi en interface web :

set system login user backup class super-user authentication plain-text-password

Saisir puis confirmer le mot de passe.

Pour vérifier que votre utilisateur existe bien en interface web allez dans l'onglet Configure >Ssystem Properties > User Management.

3 - Tester la connexion

Lancer PuTTY (ou KiTTY) et essayez la connexion avec votre clé privée :

Connection > SSH > Auth > Private Key File et sélectionner bm.ppk précédemment générée.

Un login vous sera alors demandé (dans mon cas : bm) et aucun mot de passe si tout fonctionne :

login as: bm
Authenticating with public key ""
--- JUNOS 12.8X89-D75.5 built 2017-05-19 21:36:43 UTC
bm@SRX100>

4 - Script

Le script batch va récupérer toutes les configurations présentes dans l'équipement Juniper SRX, y compris les sauvegardes au format GZ. Puis il va les déposer dans un dossier portant le nom de chaque IP d'équipement.

Vous devez donc renseigner toutes les IP des pare-feux à sauvegarder dans le fichier srxip.txt avec une IP par ligne :

192.168.1.123
192.168.1.124
192.168.1.125

Pensez à bien créer le répertoire de sortie (variable DESTDIR).

Enfin il ne vous reste plus qu'à lancer le script à la main (dé-commentez les 3 dernières lignes pour vous faciliter la vie).

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter