Chapitre 1219 minIntermédiaire
Sauvegarde, NTP, syslog, SNMPv3 et sécurité des ports
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- synchroniser l'heure des équipements avec NTP ;
- centraliser les journaux et lire un message syslog ;
- superviser en SNMPv3 ;
- sauvegarder et restaurer une configuration sans piège ;
- durcir un équipement et ses ports d'accès.
5 exercices corrigés
Administrer un parc de switchs et de routeurs, c'est d'abord leur donner la bonne heure (NTP), envoyer leurs journaux vers un serveur central (syslog), les superviser de façon sécurisée (SNMPv3), sauvegarder leurs configurations hors des équipements, et durcir leurs ports. Ce chapitre configure tout cela sur les équipements de Sorbier, explique comment restaurer une configuration, et résume la sécurité de couche 2, détaillée dans le cours de cybersécurité.
Pourquoi tout ça compte
Un mardi à 14 h 32, les postes du premier étage perdent le réseau quelques secondes. Pour comprendre, il faut les journaux de SW-ETAGE1, de SW-COEUR et du serveur DHCP, sur la même échelle de temps, conservés ailleurs que sur les équipements (un switch qui redémarre perd ses journaux en mémoire). Et si le switch est à remplacer, il faut sa configuration de la veille. Ces trois besoins (l'heure, les journaux, les sauvegardes) font la différence entre un incident résolu en dix minutes et une journée perdue. À l'E7 SISR, ils reviennent dans les questions sur la détection et la preuve.
L'heure : NTP
Chaque équipement a une horloge, qui dérive et repart souvent du 1er mars 1993 après une coupure de courant. NTP (Network Time Protocol, UDP 123) la synchronise sur un serveur de temps. Chez Sorbier, srv-ad (192.168.10.177) fait serveur de temps pour le domaine, lui-même synchronisé sur des serveurs publics.
SW-COEUR(config)# clock timezone CET 1 0
SW-COEUR(config)# clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
SW-COEUR(config)# ntp server 192.168.10.177
SW-COEUR(config)# ntp source Vlan99
clock timezone CET 1 0: heure d'Europe centrale, UTC + 1 ;clock summer-time … recurring: le passage à l'heure d'été, du dernier dimanche de mars à 2 h au dernier dimanche d'octobre à 3 h ;ntp server: le serveur de temps ; on en déclare idéalement deux ;ntp source Vlan99: les requêtes partent avec l'adresse du VLAN d'administration, celle que le serveur et les ACL attendent.
La synchronisation prend quelques minutes. Pour vérifier :
SW-COEUR# show ntp status
Clock is synchronized, stratum 3, reference is 192.168.10.177
...
SW-COEUR# show ntp associations
address ref clock st when poll reach delay offset disp
*~192.168.10.177 192.0.2.123 2 41 64 377 0.812 -0.214 1.904
* sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
L'astérisque désigne le serveur retenu ; reach 377 (en octal) signifie que les huit dernières interrogations ont réussi. Le stratum indique la distance à une horloge de référence : srv-ad est au stratum 2, SW-COEUR au stratum 3.
Les journaux : syslog
Les équipements Cisco produisent des messages au format :
*Nov 2 14:32:07.418 CET: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/14, changed state to down
Après l'horodatage, %LINK-3-UPDOWN donne la fonction concernée (LINK), la gravité (3) et un mnémonique (UPDOWN), puis le texte. La gravité suit l'échelle de syslog :
| Niveau | Nom (IOS) | Exemple |
|---|---|---|
| 0 | emergencies | Équipement inutilisable |
| 1 | alerts | Action immédiate nécessaire (surchauffe) |
| 2 | critical | État critique (BPDU Guard qui coupe un port : %SPANTREE-2-…) |
| 3 | errors | Erreur (interface qui tombe : %LINK-3-UPDOWN) |
| 4 | warnings | Avertissement (%PM-4-ERR_DISABLE, %SW_MATM-4-MACFLAP_NOTIF) |
| 5 | notifications | Événement normal mais notable (configuration modifiée : %SYS-5-CONFIG_I) |
| 6 | informational | Information (ligne d'ACL journalisée : %SEC-6-IPACCESSLOGP) |
| 7 | debugging | Messages de débogage, très nombreux |
Choisir un niveau, c'est garder ce niveau et tous les plus graves : informational (6) garde les niveaux 0 à 6.
Sur chaque équipement de Sorbier :
SW-COEUR(config)# service timestamps log datetime msec localtime show-timezone
SW-COEUR(config)# logging buffered 64000 informational
SW-COEUR(config)# logging host 192.168.10.180
SW-COEUR(config)# logging trap informational
SW-COEUR(config)# logging source-interface Vlan99
SW-COEUR(config)# login on-failure log
SW-COEUR(config)# login on-success log
service timestamps … localtime: horodater les messages à la milliseconde, à l'heure locale, avec le fuseau ;logging buffered: garder une copie en mémoire (64 000 octets), lisible avecshow logging;logging hostetlogging trap: envoyer au serveursrv-journauxles messages jusqu'au niveau 6, en UDP 514 ;login on-failure logetlogin on-success log: journaliser chaque connexion, réussie ou non. Pour une preuve en cas d'incident, c'est essentiel.
Syslog en UDP circule en clair et sans garantie de livraison : c'est une raison de plus pour que tout le trafic d'administration reste dans le VLAN 99. La centralisation, la conservation et l'analyse des journaux (serveur, SIEM, durées) sont traitées dans le chapitre Journaux, SIEM et détection du cours de cybersécurité.
La supervision : SNMPv3
SNMP permet à un serveur de supervision (Zabbix, chez Sorbier, sur srv-journaux : voir SNMPv3 dans Zabbix) d'interroger les équipements (UDP 161 : débit des ports, charge, température) et de recevoir leurs alertes spontanées, les traps (UDP 162 : un port qui tombe, une violation de sécurité). Les versions 1 et 2c protègent l'accès par une « communauté », un mot de passe qui circule en clair : on ne les utilise plus. SNMPv3 authentifie les messages et les chiffre :
SW-COEUR(config)# snmp-server group SUPERVISION v3 priv
SW-COEUR(config)# snmp-server user zabbix SUPERVISION v3 auth sha MotDePasseAuth-2026 priv aes 128 CleChiffrement-2026
SW-COEUR(config)# snmp-server host 192.168.10.180 version 3 priv zabbix
SW-COEUR(config)# snmp-server enable traps snmp linkdown linkup
SW-COEUR(config)# snmp-server enable traps port-security
Le niveau priv (authPriv) exige l'authentification et le chiffrement : c'est le seul acceptable. Le détail des trois niveaux de sécurité et le choix entre interrogation et trap sont dans le chapitre Sécurité des switchs ; la mise en place du serveur de supervision, dans le cours Supervision.
Sauvegarder les configurations
copy running-config startup-config protège contre une coupure de courant, pas contre la panne de l'équipement, une erreur de manipulation ou un vol. Il faut une copie hors de l'équipement, datée et régulière.
À la main, vers un serveur, avant chaque intervention importante :
SW-COEUR# copy running-config scp://sauvegarde@192.168.10.180/sw-coeur-2026-11-02.cfg
SCP chiffre le transfert et exige un compte. L'ancienne méthode, copy running-config tftp:, envoie la configuration en clair (mots de passe hachés compris) à un serveur TFTP sans authentification : à réserver à la maquette.
Automatiquement, depuis l'équipement, avec la fonction archive d'IOS : une copie à chaque write memory, et au moins une fois par jour.
SW-COEUR(config)# archive
SW-COEUR(config-archive)# path scp://sauvegarde:MotDePasse-SCP@192.168.10.180/configs/$h-
SW-COEUR(config-archive)# write-memory
SW-COEUR(config-archive)# time-period 1440
$h est remplacé par le nom de l'équipement ; IOS ajoute un numéro à chaque copie. Le mot de passe figure dans la configuration : limite les droits de ce compte au seul dépôt des sauvegardes.
Depuis un serveur : la méthode la plus répandue aujourd'hui est inverse. Un outil comme Oxidized (libre) se connecte régulièrement en SSH à chaque équipement, récupère la configuration et la range dans un dépôt Git : on garde toutes les versions, on voit qui a changé quoi et quand, et l'outil alerte quand une configuration change. Il suffit d'un compte en lecture seule sur les équipements.
Dans tous les cas, la sauvegarde ne vaut que si elle est testée : restaure régulièrement une configuration sur un équipement de maquette.
Restaurer une configuration
Attention au piège : copier un fichier vers la running-config ne remplace pas la configuration, il la fusionne.
| Commande | Effet |
|---|---|
copy scp://…/sw-coeur.cfg running-config | Fusion : les lignes du fichier s'ajoutent à la configuration active ; celles qui n'y sont pas restent. Une ACL ajoutée par erreur depuis la sauvegarde reste en place |
configure replace scp://…/sw-coeur.cfg | Remplacement : IOS calcule les différences et applique exactement le fichier |
copy scp://…/sw-coeur.cfg startup-config puis reload | Remplacement complet, au prix d'un redémarrage |
Pour remplacer un équipement en panne par un neuf : on le configure avec son adresse de gestion (ou on passe par la console), on copie la sauvegarde vers sa startup-config, on redémarre, puis on vérifie interface par interface. Les VLAN, stockés dans vlan.dat (chapitre 2), sont recréés à partir de la configuration si le switch est en mode VTP transparent.
Remettre un switch à zéro (avant de le recycler ou de le réaffecter) :
SW-ETAGE1# write erase
SW-ETAGE1# delete flash:vlan.dat
SW-ETAGE1# reload
write erase (ou erase startup-config) efface la startup-config ; le fichier des VLAN se supprime à part. Au redémarrage, le switch propose l'assistant de configuration initiale.
La procédure de récupération du mot de passe. Quelqu'un qui a un accès physique au port console peut interrompre le démarrage d'un équipement et lui faire ignorer sa configuration, donc ses mots de passe. C'est prévu par Cisco pour les administrateurs qui ont perdu leurs identifiants. Conséquence : la sécurité d'un switch commence par une baie fermée à clé. À l'écrit E7, pense à la sécurité physique dès qu'on te demande comment protéger un équipement.
Les mises à jour du système
show version donne la version d'IOS ou d'IOS XE. Cisco publie ses vulnérabilités et leurs correctifs dans ses avis de sécurité : la veille consiste à les suivre pour les modèles et les versions du parc, et à planifier les mises à jour. Sur les Catalyst 9000, la mise à jour se fait en mode « install » (install add file … activate commit), avec un redémarrage. On la prépare comme toute intervention : sauvegarde, créneau, procédure de retour arrière. La méthode générale de durcissement et de mise à jour est dans le chapitre Durcissement des serveurs du cours de cybersécurité.
La sécurité des ports : l'essentiel
Un switch fait confiance à tout ce qu'on branche dessus : rien n'est authentifié en Ethernet. Les attaques de couche 2 et leurs parades sont détaillées, configuration complète à l'appui, dans le chapitre Sécurité des switchs du cours de cybersécurité, et le cours E7 SISR montre comment reconnaître une attaque à ses symptômes dans un sujet. Voici ce que tu dois retenir :
| Menace | Parade sur le switch | Principe |
|---|---|---|
| Inondation de la table MAC (MAC flooding) | Sécurité des ports (port security) | Limiter le nombre d'adresses MAC par port ; réagir en cas de dépassement (protect, restrict ou shutdown) |
| Faux serveur DHCP, épuisement des baux | DHCP snooping | Seuls les ports « de confiance » (vers le vrai serveur ou le relais) peuvent envoyer des réponses DHCP |
| Usurpation ARP (ARP spoofing) | Inspection ARP dynamique (DAI) | Vérifier chaque réponse ARP par rapport à la table du DHCP snooping |
| Usurpation d'adresse IP | IP Source Guard | N'accepter sur un port que l'adresse attribuée par le DHCP |
| Faux pont racine, boucle | PortFast et BPDU Guard, Root Guard | Couper un port d'accès qui reçoit un BPDU (chapitre 4) |
| Saut de VLAN (VLAN hopping) | Ports en access forcé, nonegotiate, VLAN natif inutilisé | Supprimer la négociation de trunk (chapitre 2) |
| Appareil non autorisé | Ports inutilisés désactivés ; 802.1X | Seul un appareil authentifié auprès d'un serveur RADIUS obtient l'accès (802.1X, RADIUS et portail captif) |
La sécurité des ports tient en quelques lignes sur un port d'accès :
SW-ETAGE1(config)# interface range GigabitEthernet1/0/1 - 24
SW-ETAGE1(config-if-range)# switchport port-security
SW-ETAGE1(config-if-range)# switchport port-security maximum 2
SW-ETAGE1(config-if-range)# switchport port-security mac-address sticky
SW-ETAGE1(config-if-range)# switchport port-security violation restrict
Deux adresses au plus (un téléphone IP et le PC branché derrière), apprises et inscrites dans la configuration (sticky) ; au-delà, les trames de l'adresse en trop sont jetées et l'incident est journalisé et signalé par un trap. Le choix entre restrict et shutdown dépend de ce qu'on veut : laisser travailler l'utilisateur légitime, ou isoler l'appareil fautif ; il est expliqué dans le chapitre Les trois réactions de la sécurité des ports.
La liste de durcissement d'un équipement
| Mesure | Commande ou action |
|---|---|
| Comptes nominatifs, mots de passe hachés | username … algorithm-type scrypt secret, enable algorithm-type scrypt secret |
| Administration en SSH seulement, depuis le VLAN 99 | transport input ssh, access-class ADMIN-SSH in (chapitre 9) |
| Sessions inactives fermées | exec-timeout 10 0 sur la console et les vty |
| Freiner les attaques par dictionnaire | login block-for 120 attempts 5 within 60 : 2 minutes de blocage après 5 échecs en 60 secondes |
| Pas d'interface web inutile | no ip http server (et no ip http secure-server si l'interface web n'est pas utilisée) |
| Pas de découverte des voisins vers les postes | no cdp enable ou no lldp transmit sur les ports d'accès (CDP et LLDP révèlent le modèle, la version et l'adresse du switch) |
| Ports inutilisés coupés, dans un VLAN parking | shutdown, switchport access vlan 998 |
| VLAN 1 inutilisé, VLAN natif dédié | Chapitre 2 |
| Heure, journaux, supervision | NTP, syslog, SNMPv3 (ce chapitre) |
| Configurations sauvegardées et testées | archive ou Oxidized |
| Système à jour | Veille sur les avis de sécurité Cisco |
| Accès physique protégé | Baie fermée à clé, port console non accessible |
Exercices
Exercice 1 sur 5 Lire des messages syslog Réussi À revoir
Pour chaque message, donne la gravité (chiffre et nom) et explique ce qui s'est passé.
%SYS-5-CONFIG_I: Configured from console by jmartin on vty0 (192.168.10.209)%PM-4-ERR_DISABLE: psecure-violation error detected on Gi1/0/9, putting Gi1/0/9 in err-disable state%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/1, changed state to down%SEC_LOGIN-4-LOGIN_FAILED: Login failed [user: admin] [Source: 192.168.10.75] [localport: 22] [Reason: Login Authentication Failed]
Voir la réponseMasquer la réponse de l'exercice 1
- Niveau 5, notifications : l'administrateur
jmartina modifié la configuration, depuis une session SSH ouverte depuis le poste d'administration192.168.10.209. Message précieux pour savoir qui a changé quoi. - Niveau 4, warnings : la sécurité des ports a détecté une violation sur Gi1/0/9 (une adresse MAC de trop) et, en mode
shutdown, a coupé le port. - Niveau 5, notifications : le niveau 2 de l'interface Gi0/0/1 est tombé (sur R-LYON, c'est le lien vers Marseille). À croiser avec un
%LINK-3-UPDOWNéventuel et avec les messages OSPF. - Niveau 4, warnings : une tentative de connexion SSH avec le compte
admina échoué, depuis192.168.10.75, une adresse du VLAN des postes. Les connexions d'administration ne devraient venir que du VLAN 99 : l'ACL des vty manque, et c'est peut-être une tentative d'intrusion. À signaler.
Tu avais trouvé ?
Exercice 2 sur 5 Configurer un switch d'étage Réussi À revoir
Écris la configuration de SW-ETAGE2 (adresse de gestion 192.168.10.212, VLAN 99) pour : le fuseau horaire français avec l'heure d'été, la synchronisation sur srv-ad, l'envoi des journaux jusqu'au niveau 5 vers srv-journaux, l'horodatage précis, et la journalisation des connexions.
Voir la réponseMasquer la réponse de l'exercice 2
clock timezone CET 1 0
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
ntp server 192.168.10.177
service timestamps log datetime msec localtime show-timezone
logging buffered 64000 informational
logging host 192.168.10.180
logging trap notifications
login on-failure log
login on-success log
Sur un switch de niveau 2 qui n'a qu'une adresse (Vlan99), les messages partent forcément de cette adresse : ntp source et logging source-interface sont inutiles. Pour que NTP et syslog fonctionnent, il faut ip default-gateway 192.168.10.222 et que les flux du VLAN 99 vers srv-ad (UDP 123) et srv-journaux (UDP 514) soient autorisés.
Tu avais trouvé ?
Exercice 3 sur 5 La restauration qui laisse des traces Réussi À revoir
Après une erreur de configuration sur SW-COEUR, un technicien restaure la sauvegarde de la veille avec copy scp://sauvegarde@192.168.10.180/sw-coeur.cfg running-config. Le problème persiste : une ACL erronée créée ce matin, TEST-TEMP, est toujours appliquée à la SVI du VLAN 10.
- Pourquoi la restauration n'a-t-elle pas supprimé cette ACL ?
- Quelle commande aurait restauré exactement la configuration de la veille ?
- Quelle précaution prendre avant ce genre d'opération sur un équipement distant ?
Voir la réponseMasquer la réponse de l'exercice 3
- Copier un fichier vers la running-config fusionne : les lignes de la sauvegarde sont ajoutées ou réappliquées, mais celles qui n'existent que dans la configuration actuelle (l'ACL
TEST-TEMPet la ligneip access-groupqui l'applique) restent. configure replace scp://sauvegarde@192.168.10.180/sw-coeur.cfg, qui remplace la configuration active par le fichier. Ou copier le fichier vers la startup-config et redémarrer.- Sauvegarder d'abord la configuration actuelle (pour pouvoir y revenir), garder un accès de secours (console ou session ouverte), et programmer un redémarrage de sécurité (
reload in 10, annulé parreload cancelsi tout va bien).
Tu avais trouvé ?
Exercice 4 sur 5 Quelle version de SNMP ? Réussi À revoir
Un audit relève sur SW-COEUR la ligne snmp-server community public RW.
- Que permet cette ligne, et à qui ?
- Pourquoi est-ce grave ?
- Que proposes-tu ?
Voir la réponseMasquer la réponse de l'exercice 4
- Elle active SNMP v1/v2c avec la communauté
public, en lecture et écriture (RW), sans restriction de source : n'importe quelle machine qui joint le switch et connaît ce mot (la valeur par défaut la plus connue) peut lire et modifier sa configuration. - La communauté circule en clair sur le réseau, et
publicest le premier mot qu'un attaquant essaie. Avec l'écriture, il peut couper des ports, changer des VLAN ou récupérer la configuration. - Supprimer la ligne (
no snmp-server community public RW) et passer à SNMPv3 enauthPriv(groupev3 priv, utilisateur avec authentification SHA et chiffrement AES), en lecture seule si la supervision n'a pas besoin d'écrire, et limiter l'accès au serveur de supervision (ACL sur l'utilisateur ou le groupe SNMP).
Tu avais trouvé ?
Exercice 5 sur 5 Auditer un switch Réussi À revoir
Voici un extrait de show running-config d'un switch de la salle de réunion. Relève au moins cinq écarts avec la liste de durcissement.
hostname SW-REUNION
enable secret 5 $1$mERr$hx5rVt7rPNoS4wqbXKX7m0
ip http server
!
interface GigabitEthernet1/0/1
switchport mode access
switchport access vlan 10
interface GigabitEthernet1/0/2
switchport access vlan 10
interface range GigabitEthernet1/0/3 - 24
!
interface Vlan1
ip address 192.168.10.120 255.255.255.192
!
snmp-server community public RO
line vty 0 15
login local
transport input telnet ssh
Voir la réponseMasquer la réponse de l'exercice 5
- Telnet autorisé sur les vty (
transport input telnet ssh) : n'autoriser que SSH, et ajouteraccess-class ADMIN-SSH inetexec-timeout. - Interface web active (
ip http server) : la désactiver si elle ne sert pas. - Gestion dans le VLAN 1, avec une adresse du réseau des postes : déplacer l'adresse de gestion dans le VLAN 99, désactiver
Vlan1. - Ports 3 à 24 sans configuration : ils sont actifs, dans le VLAN 1. Les désactiver et les placer dans le VLAN 998.
- Port 2 en mode dynamique (pas de
switchport mode access) : il peut négocier un trunk. Forcerswitchport mode accessetswitchport nonegotiate. - Aucune protection des ports : ni PortFast avec BPDU Guard, ni sécurité des ports.
- SNMPv2c avec la communauté
public: passer à SNMPv3authPriv. - Mot de passe enable en type 5 (MD5) : acceptable mais ancien ; le reposer en scrypt (type 9) si l'IOS le permet.
- Rien ne montre NTP, syslog ni journalisation des connexions : à ajouter.
Tu avais trouvé ?