Port Security

Course Contents
1. Introduction à Port Security
Par défaut, toutes les interfaces de commutation d’un appareil Cisco sont activées.
Cela signifie que tout appareil physiquement connecté peut instantanément accéder au réseau.

Ce comportement peut sembler pratique, mais il expose le réseau à des risques.
Dans les bureaux partagés, les espaces publics ou les environnements non contrôlés, n’importe qui peut brancher un appareil malveillant et y accéder.
En l’absence de restrictions, le commutateur accepterait la connexion, ce qui permettrait un trafic non autorisé, voire une activité malveillante.
Pour éviter cela, nous utilisons Port Security.
Cette fonction permet de contrôler les adresses MAC autorisées à envoyer du trafic sur chaque port.

Fonctionnement de Port Security
Port Security est une fonction de couche 2.
Il vérifie l’adresse MAC source de chaque trame entrante et vérifie si elle correspond à une adresse autorisée pour ce port.

Avec Port Security, les administrateurs peuvent
- Choisir ce qui se passe en cas de violation
- Définir quels appareils sont autorisés sur quels ports
- Limiter le nombre d’adresses MAC par port
2. Configuration de Port Security
Lors de la configuration de Port Security, vous pouvez décider de la manière dont le commutateur reconnaîtra les périphériques de confiance.
Cisco prend en charge trois méthodes principales :
- Dynamic learning (automatique)
- Static assignment (manuelle)
- Plusieurs adresses MAC par port (pour les ports partagés)
Examinons chaque option à l’aide d’exemples simples.
Dynamic Learning (Défaut)
La méthode par défaut est appelée Dynamic Learning.
- Nous activons Port Security sur l’interface.
- L’appareil légitime est connecté et envoie du trafic par le port.
- Le commutateur apprend dynamiquement l’adresse MAC et la considère comme fiable.

Par défaut, une seule adresse MAC est autorisée par port. Tout appareil supplémentaire entraînera une violation.
Static Assignment
Dans les environnements où un contrôle strict est nécessaire, vous pouvez attribuer manuellement l’adresse MAC autorisée sur un port.
Par exemple, si nous avons un appareil dont l’adresse MAC est AAAA.BBBB.CCCC, nous pouvons configurer statiquement le port du commutateur pour qu’il n’accepte que les trames provenant de cette adresse MAC.

Cela signifie que seul l’équipement avec MAC AAAA.BBBB.CCCC sera accepté.
Cette méthode est très stricte, mais elle nécessite plus d’efforts manuels, surtout lorsqu’il s’agit de gérer de nombreuses interfaces.
Plusieurs adresses MAC par port
Par défaut, une seule adresse MAC est autorisée par port.
Cependant, dans le cas où plusieurs appareils partagent un port (un PC et un téléphone IP connectés à un commutateur), il est possible de modifier le nombre maximum d’adresses MAC autorisées.

Dans cet exemple, le commutateur est configuré pour apprendre et autoriser dynamiquement deux adresses MAC sur le même port.
3. Comportement par défaut de Port Security
Maintenant que vous avez configuré Port Security, examinons comment le commutateur réagit avec les paramètres par défaut et ce qui se passe lorsqu’un appareil non autorisé se connecte.
Étape 1 – Comprendre le comportement par défaut
Imaginez que PC1 soit connecté à SW1 sur l’interface g0/1.

Lorsque Port Security est activée avec les paramètres par défaut :
✅ La première adresse MAC qui envoie du trafic est apprise et approuvée.
🚫 Toute autre adresse MAC sur le même port entraîne une violation de la sécurité.
Étape 2 – Activation de la sécurité des ports
Essayons d’activer Port Security:
SW1(config)# int g0/1
SW1(config-if)# switchport port-security
Command rejected: GigabitEthernet0/1 is a dynamic port.
Il se peut que vous obteniez cette erreur :
Cela se produit parce que Port Security ne peut pas être activé sur un port en dynamic auto mode
Étape 3 – Correction du mode d’interface
Pour que l’interface soit compatible avec Port Security, elle doit être configurée en mode accès ou trunk.
Tout d’abord, vérifiez le mode actuel :
SW1# show interfaces g0/1 switchport Name: Gi0/1 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: static access !!! Output omitted !!!
Reconfigurez maintenant l’interface :
SW1(config)# int g0/1 SW1(config-if)# switchport mode access
Nous pouvons activer la Port Security :
SW1(config-if)# switchport port-security
Étape 4 – Vérification de la Port Security
Pour vérifier la configuration actuelle :
SW1# show port-security interface g0/1 Port Security : Enabled Port Status : Secure-up Violation Mode : Shutdown Aging Time : 0 mins Aging Type : Absolute SecureStatic Address Aging : Disabled Maximum MAC Addresses : 1 Total MAC Addresses : 0 Configured MAC Addresses : 0 Sticky MAC Addresses : 0 Last Source Address:Vlan : 0000.0000.0000:0 Security Violation Count : 0
A ce stade :
- Le port est actif.
- Aucune adresse MAC n’a encore été apprise.
- Le port attend le trafic pour identifier le premier appareil.
Étape 5 – Lorsque le trafic est détecté
Dès que PC1 envoie une trame, le commutateur apprend son adresse MAC :

Vérifier le statut mis à jour :
SW1# show port-security interface g0/1 Port Security : Enabled Port Status : Secure-up Violation Mode : Shutdown Aging Time : 0 mins Aging Type : Absolute SecureStatic Address Aging : Disabled Maximum MAC Addresses : 1 Total MAC Addresses : 1 Configured MAC Addresses : 0 Sticky MAC Addresses : 0 Last Source Address:Vlan : AAAA.BBBB.CCCC:1 Security Violation Count : 0
✅ L’adresse MAC AAAA.BBBB.CCCC est désormais approuvée.
🚫 Toute autre adresse MAC déclenchera une violation.
Étape 6 – Que se passe-t-il si un appareil non autorisé se connecte ?
Supposons que quelqu’un branche un deuxième appareil en utilisant le MAC DDDD.EEEE.FFFF.

Comme cette adresse MAC diffère de l’adresse de confiance, le commutateur déclenche une security violation et ferme le port.
*Jan 21 11:21:46.891: %PM-4-ERR_DISABLE: psecure-violation error detected o
n Gi0/1, putting Gi0/1 in err-disable state
*Jan 21 11:21:46.894: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violatio
n occurred, caused by MAC address DDDD.EEEE.FFFF on port GigabitEthernet0/1
*Jan 21 11:21:48.893: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed
state to down
L’interface est maintenant dans l’état err-disabled. Aucun trafic ne passera par ce port jusqu’à ce qu’il soit rétabli.
Étape 7 – Vérification de l’interface après violation
Pour enquêter sur la security violation, commencez par vérifier l’état Port Security de l’interface :
SW1#show port-security interface g0/1
Port Security : Enabled
Port Status : Secure-shutdown
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1
Total MAC Addresses : 0
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : DDDD.EEEE.FFFF:1
Security Violation Count : 1
Voici ce que nous observons :
- Le statut du port est Secure-shutdown → Le commutateur a fermé le port en réponse à une violation.
- Last Source Address indique l’adresse MAC non autorisée (DDDD.EEEE.FFFF).
- Le Security Violation Count est de 1, ce qui signifie qu’un dispositif non autorisé a été détecté.
Pour confirmer que l’interface est désactivée, vérifiez son état de fonctionnement avec :
SW1# show interfaces status
Port Name Status Vlan Duplex Speed Type
Gi0/0 connected 1 auto auto RJ45
Gi0/1 err-disabled 1 auto auto RJ45
L’interface Gi0/1 est maintenant dans un état err-disabled.
Aucun trafic ne sera autorisé sur ce port jusqu’à ce que la violation soit levée et que l’interface soit rétablie manuellement ou automatiquement.
4. Re-Activer l’Interface
Lorsqu’une violation de la sécurité se produit, l’interface entre dans l’état err-disabled, ce qui met le port complètement hors service. Aucun trafic ne passe jusqu’à ce que vous preniez des mesures.
Il y a deux façons de remettre l’interface en ligne :
- Récupération manuelle – nécessite l’intervention d’un administrateur
- Automatic Recovery – activée par le biais de la récupération errdisable
Décortiquons les deux méthodes.
Récupération manuelle
La récupération manuelle est le moyen le plus direct de rétablir une interface, mais elle nécessite une intervention humaine.
Pour ce faire, il convient d’effectuer un shutdown suivi d’un no shutdown sur l’interface concernée.
Pas à pas : Réinitialiser l’interface
- Entrez dans le mode de configuration de l’interface :
SW1(config)# int g0/1
2. Fermer le port :
SW1(config-if)# shutdown
3. Réactiver le port :
SW1(config-if)# no shutdown
⚠️ Condition préalable importante
Avant de réactiver l’interface, vous devez déconnecter physiquement le dispositif non autorisé.
Si la même adresse MAC est encore connectée lorsque le port est réactivé, la violation se reproduira immédiatement et le port retournera à l’état err-disabled.
Vérifiez maintenant l’état de la sécurité du port :
SW1# show port-security interface g0/1 Port Security : Enabled Port Status : Secure-up Violation Mode : Shutdown Aging Time : 0 mins Aging Type : Absolute SecureStatic Address Aging : Disabled Maximum MAC Addresses : 1 Total MAC Addresses : 0 Configured MAC Addresses : 0 Sticky MAC Addresses : 0 Last Source Address:Vlan : 0000.0000.0000:0 Security Violation Count : 0£
A ce stade :
- Le port est réactivé et revient à l’état « Secure-up ».
- L’adresse MAC qui a déclenché la violation a été effacée.
- Le nombre de violations de sécurité est remis à 0.
Bien que cette méthode fonctionne bien, elle nécessite une intervention manuelle à chaque fois qu’une violation se produit. Dans les grands réseaux, cela peut s’avérer peu pratique. C’est là qu’intervient la récupération automatique.
Err-Disable Recovery
Si la récupération manuelle fonctionne bien, elle nécessite une intervention humaine à chaque fois qu’une violation se produit.
Dans les réseaux à grande échelle, cela peut devenir fastidieux et inefficace.
C’est là qu’intervient la récupération Err-Disable.
Cette fonction permet au commutateur de réactiver automatiquement une interface qui a été fermée en raison d’une violation de la sécurité après un délai configurable.
Vérification de la configuration actuelle de la récupération Err-Disable
Par défaut, la récupération Err-Disable est désactivée pour toutes les causes, y compris les violations de la sécurité des ports (psecure-violation).
Pour vérifier quelles sont les causes actuellement surveillées :
SW1# show errdisable recovery ErrDisable Reason Timer Status ----------------- -------------- arp-inspection Disabled bpduguard Disabled channel-misconfig (STP) Disabled dhcp-rate-limit Disabled dtp-flap Disabled gbic-invalid Disabled inline-power Disabled l2ptguard Disabled link-flap Disabled mac-limit Disabled link-monitor-failure Disabled loopback Disabled oam-remote-failure Disabled pagp-flap Disabled port-mode-failure Disabled pppoe-ia-rate-limit Disabled psecure-violation Disabled security-violation Disabled sfp-config-mismatch Disabled storm-control Disabled udld Disabled unicast-flood Disabled vmps Disabled psp Disabled dual-active-recovery Disabled evc-lite input mapping fa Disabled Recovery command: "clear Disabled Timer interval: 300 seconds Interfaces that will be enabled at the next timeout:
Principales observations
- La récupération pour psecure-violation est désactivée
- Le délai de récupération par défaut est de 300 secondes (5 minutes).
- Aucune interface n’est programmée pour une récupération automatique
Activation de la récupération Err-Disable
Pour activer la récupération automatique en cas de violation de Port Security :
SW1(config)# errdisable recovery cause psecure-violation
Pour réduire le temps d’attente (par exemple, à 60 secondes) :
SW1(config)# errdisable recovery interval 60
Cela permet de régler le délai de récupération sur 60 secondes.
Vérification de la récupération d’Err-Disable
Exécutez à nouveau la même commande :
SW1# show errdisable recovery ErrDisable Reason Timer Status ----------------- -------------- !!! Output omitted !!! psecure-violation Enabled !!! Output omitted !!! Timer interval: 60 seconds Interfaces that will be enabled at the next timeout: Interface Errdisable reason Time left(sec) --------- ----------------- -------------- Gi0/1 psecure-violation 48
- ✅ La récupération psecure-violation est maintenant activée.
- ✅ Le délai de récupération est réglé sur 60 secondes.
- L’interface Gi0/1 se rétablit automatiquement dans 48 secondes.
La récupération automatique en action
Une fois le délai expiré, le commutateur tente de rétablir l’interface. Vous verrez des journaux comme :
*Jan 21 11:22:46.892: %PM-4-ERR_RECOVER: Attempting to recover from psecure-violation err-disable state on Gi0/1 *Jan 21 11:22:48.918: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up *Jan 21 11:22:49.918: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up
Le port est à nouveau actif sans aucune action manuelle.
Rappel important : Déconnectez les appareils non autorisés !
Bien que la récupération Err-Disable soit pratique, vous devez déconnecter l’appareil non autorisé avant l’expiration du délai. Voici pourquoi :
1. Si un MAC statique sécurisé est configuré, le port reviendra immédiatement à err-disabled dès que le même MAC enverra du trafic.
2. Si l’adresse MAC sécurisée a été apprise dynamiquement, elle est effacée lorsque l’interface passe en mode err-disabled.
- Si l’appareil non autorisé est toujours connecté lorsque le port se rétablit, son adresse MAC peut être assimilée à la nouvelle adresse MAC sécurisée, ce qui compromet la sécurité du réseau.
Récapitulation
Fonctionnalité | Récupération manuelle | Err-Disable Recovery |
---|---|---|
Nécessite une action de l’administration | ✅ Oui | ❌ Non |
Commande requise | shutdown + no shutdown | errdisable recovery Commandes |
Timeout configurable | ❌ Non (réinitialisation manuelle instantanée) | ✅ Oui |
S’adapte aux réseaux de grande taille | ❌ Pas idéal | ✅ Recommandé |
Il faut encore retirer le dispositif | ✅ Oui | ✅ Oui |
5. Sticky Secure MAC Address
Il arrive que l’on veuille sécuriser les ports automatiquement, sans avoir à saisir manuellement les adresses MAC. C’est exactement ce à quoi sert Sticky Secure MAC Address.
Cette fonction permet à un commutateur d’apprendre dynamiquement les adresses MAC et de les ajouter automatiquement à la configuration en cours d’exécution en tant qu’adresses sécurisées.
Pourquoi utiliser Sticky MAC ?
C’est parfait quand :
- Vous souhaitez l’automatisation, mais vous avez encore besoin de contrôle.
- Vous voulez éviter de taper chaque MAC à la main.
- Vous souhaitez « verrouiller » la MAC Address actuel sur le port une fois que le trafic est détecté.
Une fois la configuration enregistrée, les adresses sticky deviennent aussi solides que les adresses statiques.
Activer le Sticky MAC Learning
Voici comment l’activer sur une interface :
SW1(config)# int g0/1 SW1(config-if)# switchport port-security SW1(config-if)# switchport port-security mac-address sticky
Dès que le trafic est reçu sur ce port, le commutateur:
- Enregistrez-la dans la running configuration.
- Apprendre l’adresse MAC.
- Sécurisez-le.
Verifier le Sticky Learning
Avant que le port ne reçoive le moindre trafic, vous remarquerez que le nombre d’adresses MAC sticky est de 0 :
SW1# show port-security interface g0/1 Port Security : Enabled Port Status : Secure-up Violation Mode : Shutdown Aging Time : 0 mins Aging Type : Absolute SecureStatic Address Aging : Disabled Maximum MAC Addresses : 1 Total MAC Addresses : 0 Configured MAC Addresses : 0 Sticky MAC Addresses : 0 Last Source Address:Vlan : 0000.0000.0000:0 Security Violation Count : 0
Supposons maintenant que le PC1 envoie du trafic à travers le commutateur.

Le commutateur apprend dynamiquement son adresse MAC et vous pouvez le vérifier :
SW1# show port-security interface g0/1
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1
Total MAC Addresses : 1
Configured MAC Addresses : 0
Sticky MAC Addresses : 1
Last Source Address:Vlan : AAAA.BBBB.CCCC:1
Security Violation Count : 0
Vous voyez ? L’adresse MAC AAAA.BBBB.CCCC de PC1 est maintenant apprise.
Vérification de la Running Configuration
Vous constaterez également que l’adresse MAC sticky est automatiquement ajoutée à la running configuration:
SW1# show run int g0/1
interface GigabitEthernet0/1
switchport mode access
switchport port-security mac-address sticky
switchport port-security mac-address sticky AAAA.BBBB.CCCC
switchport port-security
Les adresses MAC collantes ne sont enregistrées que dans la running configuration. Si vous redémarrez le commutateur sans sauvegarder, la configuration sera perdue. Veillez à sauvegarder votre configuration en utilisant :
SW1# copy running-config startup-config
6. Conclusion
Récapitulons rapidement ce que vous avez appris sur Port Security:
Qu’est-ce que le Port Security ?
C’est une fonctionnalité de sécurité qui restreint l’accès aux interfaces de commutation en fonction des adresses MAC source. Elle empêche les appareils non autorisés de se connecter au réseau.
Apprentissage de l’adresse MAC
- Dynamic learning: le commutateur apprend automatiquement les adresses MAC.
- Static configuration: vous définissez manuellement les adresses MAC.
- Sticky learning: les adresses apprises dynamiquement sont ajoutées à la running configuration.
Nombre de dispositifs autorisés
Vous pouvez limiter le nombre d’adresses MAC acceptées par port, en fonction de votre cas d’utilisation (exemple : PC + téléphone IP).
Récupération des interfaces
- Manual recovery: en utilisant shutdown / no shutdown.
- Automatic recovery: activer errdisable recovery pour rétablir le port après un délai d’attente.
Sticky MAC Addresses
L’apprentissage collant sécurise automatiquement les adresses MAC.
N’oubliez pas de sauvegarder la configuration avec :
copy running-config startup-config
Pour plus d’informations sur Port Security
Prochaines étapes
Maintenant que vous comprenez comment Port Security contrôle l’accès et comment récupérer les violations, passons aux modes de violation et à leur impact sur le comportement du commutateur.