Introduction
Ce document décrit comment sauvegarder le fichier .chassisidfile (ID de châssis) sur StarOS versions 20 et ultérieures.
Informations générales
La clé de châssis est utilisée pour chiffrer et déchiffrer les mots de passe chiffrés dans le fichier de configuration. Si plusieurs châssis sont configurés avec la même valeur de clé de châssis, les mots de passe chiffrés peuvent être déchiffrés par n'importe quel châssis partageant la même valeur de clé de châssis. En corollaire, une valeur de clé de châssis donnée ne peut pas déchiffrer les mots de passe qui ont été chiffrés avec une valeur de clé de châssis différente.
La clé de châssis est utilisée pour générer l'ID de châssis qui est stocké dans un fichier et est utilisée comme clé primaire pour protéger les données sensibles (telles que les mots de passe et les secrets) dans les fichiers de configuration
Pour les versions 15.0 et ultérieures, l'ID de châssis est un hachage SHA256 de la clé de châssis. La clé de châssis peut être définie par les utilisateurs à l'aide d'une commande CLI ou de l'Assistant de configuration rapide. Si l'ID de châssis n'existe pas, une adresse MAC locale est utilisée pour générer l'ID de châssis.
Pour les versions 19.2 et ultérieures, l'utilisateur doit définir explicitement la clé du châssis à l'aide de l'Assistant de configuration rapide ou de la commande CLI. S'il n'est pas défini, un ID de châssis par défaut utilisant l'adresse MAC locale est généré. En l'absence de clé de châssis (et donc d'ID de châssis), les données sensibles n'apparaissent pas dans un fichier de configuration enregistré.
L'ID de châssis correspond au hachage SHA256 (codé au format base36) de la clé de châssis saisie par l'utilisateur, plus un nombre aléatoire sécurisé de 32 octets. Cela garantit que la clé de châssis et l'ID de châssis ont une entropie de 32 octets pour la sécurité des clés.
Si un ID de châssis n'est pas disponible, le chiffrement et le déchiffrement des données sensibles dans les fichiers de configuration ne fonctionnent pas.
Problème : Insuffisant pour sauvegarder la valeur de clé de châssis à exécuter pour la même configuration sur le même noeud.
En raison du changement de comportement à partir de la version 19.2, il ne suffit plus de sauvegarder la valeur de la clé du châssis pour pouvoir exécuter la même configuration sur le même noeud.
En outre, en raison du nombre aléatoire de 32 octets attaché à la clé de châssis configurée, il existe toujours différents ID de châssis générés sur la base des mêmes clés de châssis.
C'est la raison pour laquelle la commande cli chassis keycheck est maintenant masquée, car elle renvoie toujours une valeur négative même si la même ancienne clé est entrée.
Pour pouvoir récupérer une machine StarOS à partir d'une configuration enregistrée (lorsque, par exemple, tout le contenu du lecteur /flash a été perdu), il est nécessaire de sauvegarder le .chassisid (où StarOS stocke l'ID du châssis)
L'ID de châssis est stocké dans le fichier /flash/.chassisid sur le disque dur StarOS. La méthode la plus simple pour sauvegarder ce fichier est de le transférer via un protocole de transfert de fichiers vers un serveur de sauvegarde :
Comme vous le voyez le .chassisid fichier est un masqué et avec les versions plus récentes, il n'est pas possible d'effectuer des opérations de gestion de fichiers avec des fichiers masqués. Par exemple, cette erreur s'affiche avec la version 20.0.1 :
[local]sim-lte# copy /flash/.chassisid /flash/backup
Failure: source is not valid.
[local]sim-lte#
OU:
[local]sim-lte# show file url /flash/.chassisid
Failure: file is not valid.
Solution
Il existe toujours un moyen d'accéder à ce fichier via cette procédure :
Étape 1. Assurez-vous que le fichier .chassisid est présent dans /flash/.chassisid.
[local]sim-lte# dir /flash/.chassisid
-rw-rw-r-- 1 root root 53 Jun 23 10:59 /flash/.chassisid
8 /flash/.chassisid
Filesystem 1k-blocks Used Available Use% Mounted on
/var/run/storage/flash/part1 523992 192112 331880 37% /mnt/user/.auto/onboard/flash
Étape 2. Connectez-vous en mode masqué.
[local]sim-lte# cli test-commands
Password:
Warning: Test commands enables internal testing and debugging commands
USE OF THIS MODE MAY CAUSE SIGNIFICANT SERVICE INTERRUPTION
[local]sim-lte#
Remarque : si aucun mot de passe en mode masqué n'est configuré, configurez-le comme suit :
[local]sim-lte(config)# tech-support test-commands password <password>
Étape 3. Démarrez un shell de débogage.
[local]sim-lte# debug shell
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Cisco Systems QvPC-SI Intelligent Mobile Gateway
[No authentication; running a login shell]
Étape 4. Se déplacer dans le répertoire /flash. Vérifiez si le fichier s'y trouve.
sim-lte:ssi#
sim-lte:ssi# ls
bin cdrom1 hd-raid param rmm1 tmp usr
boot dev include pcmcia1 sbin usb1 var
boot1 etc lib proc sftp usb2 vr
boot2 flash mnt records sys usb3
sim-lte:ssi#
sim-lte:ssi# cd flash
sim-lte:ssi# ls -a
. ldlinux.sys restart_file_cntr.txt
.. module.sys sftp
.chassisid patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
Étape 5. Copiez le fichier masqué dans un fichier non masqué.
sim-lte:ssi# cp .chassisid chassisid.backup
sim-lte:ssi#
sim-lte:ssi#
sim-lte:ssi# ls
chassisid.backup patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
ldlinux.sys restart_file_cntr.txt
module.sys sftp
Étape 6. Quittez l'interpréteur de commandes debug. Vous devriez pouvoir transférer le fichier de sauvegarde créé sans aucun problème.
sim-lte:ssi# exit
Connection closed by foreign host.
[local]sim-lte#
[local]sim-lte# copy /flash/chassisid.backup /flash/chasisid.backup2
********************************************************************************
Transferred 53 bytes in 0.003 seconds (17.3 KB/sec)
[local]sim-lte#
[local]sim-lte#
[local]sim-lte# show file url /flash/chassisid.backup
1ke03dqfdb9dw3kds7vdslvuls3jnop8yj41qyh29w7urhno4ya6
UPDATE pour procédure de mise à niveau Ultra-M
La mise à niveau de N5.1 vers N5.5 détruira l'instance vpc et le protocole OSP. Avant de lancer la procédure de mise à niveau, nous devons sauvegarder le fichier de configuration vPC et l'ID de châssis si nous devons les réutiliser.
Étape 1. Sauvegardez l’ID du châssis et le dernier fichier de configuration :
bash-2.05b# ls -alrt
-rwxrwxr-x 1 root root 53 Jul 11 14:43 .chassisid
-rwxrwxr-x 1 root root 381973 Jul 11 14:41 GGN-2017-07-28.cfg
from copied file :
cpedrode@CPEDRODE-xxxxx:~/Desktop$ more 2017-07-28.chassis-id
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5^@
Remarque : le fichier de configuration contient une clé dérivée de .chasssisid:
[local]GGN# show configuration url /flash/GGN-2017-07-28.cfg | more
Monday July 11 14:59:34 CEST 2016
#!$$ StarOS V21.1 Chassis c95bf13f030f6f68cae4e370b2d2482e
config
Étape 2. Procéder à la mise à niveau Ultra-M
Étape 3. Une fois le système mis à niveau et le démarrage de StarOS vpc CF, copiez chassisid (le fichier normal) et le fichier de configuration (assurez-vous que l'adresse IP O&M appropriée a également été modifiée) dans /flash/sftp (StarOS >R20)
Étape 4. Sauvegardez le fichier .chassisid masqué par défaut à partir de /flash en mode "test-command" et supprimez-le.
Étape 5. Copiez le fichier chassisid de /flash/sftp dans /flash en mode masqué sous la forme ".chassisid". Copiez également le fichier de configuration
Remarque : vous pouvez vérifier la clé dérivée qui émet cli - show configuration url /flash/xxxxxx.cfg | plus et comparez-le au fichier de configuration de sauvegarde
Étape 6. Ajoutez la priorité de démarrage pointant vers le nouveau fichier de configuration
Remarque : à ce stade, StarOS génère une erreur :
[local]GGN(config)# boot system priority 6 image /flash/staros.bin config /flash/GGN-2017-07-28.cfg
Monday July 28 08:45:28 EDT 2017
Warning: Configuration was generated using a different chassis key, some encrypted information may not
be valid
Si vous avez suivi les étapes correctes, vous disposez d'un fichier de configuration avec une clé dérivée de châssis égale au fichier de configuration de sauvegarde et un ID de châssis égal à l'ID de châssis de sauvegarde.
Notez que lorsque vous affichez le fichier chassisid, il ajoute l'invite PS1 :
bash-2.05b# cat .chassisid
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5bash-2.05b#
Étape 7. Redémarrer vPC
À ce stade, le système doit redémarrer et vous pouvez utiliser les informations de connexion du fichier de configuration de sauvegarde.