“Si ta chambre était mieux rangée, tu retrouverais plus rapidement tes affaires”. Il en est de même avec les infrastructures réseau. Quand tout est proprement défini c’est quand même plus simple de troubleshooter, et on s’évite d’ailleurs un bon nombre de problèmes…
Cisco DNA Center permet depuis la release 2.3.3 de vérifier la compliance des équipements d’un point de vue configuration. Je rappelle que d’autres fonctions de compliance étaient déjà disponibles: validation et de la sauvegarde des configurations, vérification de l’absence de failles de sécurité… Ici on veut s’assurer qu’un template provisionné par Cisco DNA Center n’a pas été altéré par une modification ultérieure (par exemple un changement directement sur l’équipement en CLI)
Passons au test… J’ai défini un template basic dans Cisco DNA Center. J’ai souhaité faire simple pour cet article, je n’ai mis aucune variable ni même de scripting. Je rappelle que vous avez une souplesse énorme notamment grâce aux templates Jinja et les API qui vous permettent de coder plus ou moins ce que vous voulez.
J’ai ensuite défini comment ce template allait être déployé via un network profile. Je rappelle ici qu’un network profile permet de mapper un ensemble de configurations sur des équipements selon leur type, leur localisation, des tags… Ca vous permet réellement d’automatiser la mise en oeuvre de services sur le réseau de manière programmatique. On ne veut pas mapper les templates sur des équipements de manière unitaire car cela ne permettrait pas d’avoir un réseau homogène et automatisé.
Je provisionne ensuite un Catalyst 9300 “concerné” par ce profile (bon type d’équipement, dans le bon site, avec le bon tag), et ce dernier est automatiquement configuré avec mon template. Je vous épargne ici les captures d’écran. Evidemment il faut générer une non conformité, aussi je me connecte en CLI sur l’équipement et je fais les modifications suivantes.
CAT9K-DEMO-1#conf t CAT9K-DEMO-1(config)#template TEST-COMPLIANCE CAT9K-DEMO-1(config-template)#no switchport voice vlan 666 CAT9K-DEMO-1(config-template)#end CAT9K-DEMO-1#wr Building configuration... [OK] CAT9K-DEMO-1#conf t CAT9K-DEMO-1(config)#template TEST-COMPLIANCE CAT9K-DEMO-1(config-template)#no spanning-tree portfast CAT9K-DEMO-1(config-template)#end
Vous noterez que je modifie 2 lignes de mon template mais que je ne sauvegarde qu’un des 2 changements. Si vous avez été attentifs au tout début de l’article vous devriez comprendre où je veux en venir 🙂
Dans l’inventaire je vois que mon équipement est marqué comme “non compliant”. On peut lancer des vérifications de compliance à la demande ou bien les programmer régulièrement (par exemple chaque samedi à 2H du matin).
Si je clique sur le lien je vois les raisons de cette non compliance:
- Une différence entre la running-config et la startup-config (rappelez-vous que je n’ai pas sauvegardé mon dernier changement)
- Une anomalie sur un template de mon network profile (évidemment la configuration a été altérée et ne correspond plus à mon objectif, ou “intent”)
Je n’ai pas défini de “golden image” IOS-XE ni lancé un scan de failles de sécurité aussi je n’ai pas d’informations à ce niveau. Notez que toutes les compliances sont regroupées au même niveau ce qui permet d’avoir une vérification globale de la conformité, bien au-delà de la vérification des configurations.
Je peux voir les détails sur les anomalies de mon CLI template. On voit clairement en rouge les lignes qui ont été supprimées par rapport au template initial. Notez qu’on voit toutes les modifications faites, qu’elles aient été sauvegardées ou non.
Et si je regarde les différences “startup vs running” on voit là aussi clairement que mon dernier changement de configuration n’a pas été sauvegardé ce qui peut causer un risque si l’équipement devait être redémarré. Il m’est proposé de sauvegarder la configuration pour résoudre cette non conformité.
Les innovations sur les vérifications de compliance vont se poursuivre avec par exemple la capacité de voir si les équipements sont en fin de vente, support… D’autres développements vont être faits cette année aussi je vous encourage à lire les prochaines release notes attentivement sur ce sujet.
Références:
- Cisco DNA Center compliance user guide
- Release notes Cisco DNA Center 2.3.3