Table des matières

Introduction

Ce document décrit la procédure de récupération d'une installation Cisco DNA Center avec un certificat etcd expiré. Cisco DNA Center a introduit les certificats numériques pour l'ETC dans la version 2.3.2.0 afin de garantir une communication sécurisée des données via Kubernetes, à la fois au sein d'un noeud et entre les noeuds d'un cluster. Ces certificats sont valides pendant un an et sont automatiquement renouvelés avant leur expiration. Les certificats renouvelés sont traités par un conteneur auxiliaire, puis mis à la disposition du conteneur ETC. Dans les versions affectées de Cisco DNA Center, le conteneur etcd ne reconnaît pas et n'active pas ces certificats renouvelés de manière dynamique et continue à pointer vers les certificats expirés jusqu'à ce que etcd soit redémarré. Une fois que le certificat expire, Cisco DNA Center devient inutilisable et ce document fournit des étapes pour récupérer l'installation de Cisco DNA Center affectée.

Conditions

Versions concernées :

2.3.2.x

2.3.3.x

Commutateurs 2.3.5.3

Commutateurs 2.3.7.0

Versions fixes :

2.3.3.7 HF4

2.3.5.3 HF5

2.3.5.4 après le 12 octobre 2023

2.3.5.4 HF3

Commutateurs 2.3.7.3

Symptômes

À l'expiration du certificat, un ou plusieurs de ces symptômes seront observés.

1. L'interface utilisateur graphique de Cisco DNA Center est désactivée

2. La plupart des services sont hors service

3. Ces erreurs sont visibles dans l’interface de ligne de commande

WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)'),)': /v2/keys/maglev/config/node-x.x.x.x?sorted=true&recursive=true

Récupération

La restauration doit avoir accès à l'interpréteur de commandes racine. Dans 2.3.x.x, le shell restreint était activé par défaut. Dans les versions 2.3.5.x et ultérieures, la validation du jeton de consentement est requise pour accéder à l'interpréteur de commandes racine. Si l'environnement affecté se trouve dans la version 2.3.5.3, contactez le TAC pour récupérer l'installation.

Étape 1 : Vérifiez le problème

À partir de l'interface de ligne de commande, exécutez la commande

liste des membres etcdctl

Si le problème est dû à l'expiration du certificat, la commande échoue et renvoie une erreur. Si la commande s'exécute correctement, Cisco DNA Center n'est pas affecté par ce problème.  Ceci est un exemple de la sortie d'une installation effectuée avec un certificat expiré.

liste des membres etcdctl

client : le cluster etcd est indisponible ou mal configuré ; erreur #0 : x509 : le certificat a expiré ou n'est pas encore valide : heure actuelle 2023-10-20T20:50:14Z est postérieure à 2023-10-12T22:47:42Z

Étape 2 : Vérifiez le certificat

Exécutez cette commande pour vérifier la date d'expiration du certificat.

pour les certifications en $(ls /etc/maglev/.pki/ | grep etcd | grep -v -e key -e .cnf); do sudo openssl x509 -noout -subject -issuer -dates -in /etc/maglev/.pki/$certs;done

Entrez le mot de passe sudo lorsque vous y êtes invité. Dans le résultat, vérifiez si le certificat a expiré

[sudo] mot de passe pour maglev :

subject=CN = client-etcd

issuer=CN = d0be82b3-0b50-e7bd-6bcd-b817c249f1c6, O = Cisco Systems, OU = Cisco DNA Center

notBefore=8 octobre 00:59:37 2022 GMT

notAfter=Oct 7 00:59:37 2023 GMT

subject=CN = etcd-peer

issuer=CN = d0be82b3-0b50-e7bd-6bcd-b817c249f1c6, O = Cisco Systems, OU = Cisco DNA Center

notBefore=8 octobre 00:59:37 2022 GMT

notAfter=Oct 7 00:59:37 2023 GMT

Étape 4 : Redémarrez Docker

a. Videz les conteneurs sortants

docker rm -v $(docker ps -q -f status=terminé)

Selon le nombre de conteneurs sortis, cette opération peut prendre quelques minutes.

b. Redémarrer Docker

sudo systemctl restart docker

Cette commande redémarre tous les conteneurs et peut prendre de 30 à 45 minutes.

Étape 5 : Vérifiez que le certificat a été renouvelé

Exécutez la même commande à l'étape 2 pour vérifier que le certificat a été renouvelé. Elle aurait dû être renouvelée pour un an.

pour les certifications en $(ls /etc/maglev/.pki/ | grep etcd | grep -v -e key -e .cnf); do sudo openssl x509 -noout -subject -issuer -dates -in /etc/maglev/.pki/$certs;done

Vérifiez que l'interface utilisateur graphique est accessible et que l'accès à la CLI ne comporte aucune erreur.

Solution

Cette solution de contournement permettra à Cisco DNA Center de rester opérationnel pendant un an maximum. Pour obtenir un correctif permanent, veuillez mettre à niveau l'installation de Cisco DNA Center vers une version fixe, comme indiqué dans la note de service FN74065.