Port Security

Port Security refusant l'accès à un appareil dont l'adresse MAC est inconnue

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.

Exemple d'un client se connectant à une interface réseau sans que la sécurité des ports soit activée

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.

Cisco Port Security bloque un périphérique non autorisé avec MAC DDDD.EEEE.FFFF sur l'interface G0/1, empêchant l'accès au serveur via SW1.

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.

Port Security refusant l'accès à un appareil dont l'adresse MAC est inconnue

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.
Exemple d'apprentissage dynamique avec Port Security montrant le PC1 connecté au commutateur SW1 sur l'interface G0/1 avec une adresse MAC autorisée et un trafic autorisé vers le serveur.

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.

Exemple de configuration Port Security des ports Cisco avec une adresse MAC statique sur l'interface g0/1

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.

Configuration de Port Security Cisco autorisant deux adresses MAC sur l'interface g0/1 avec un PC et un téléphone IP

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.

Port Security Configuration par défaut de Cisco avec un PC connecté au commutateur 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 :

Port Security Cisco apprend dynamiquement l'adresse MAC de PC1 sur l'interface g0/1

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.

Sécurité du port Cisco bloquant les appareils non autorisés avec une adresse MAC différente sur l'interface g0/1

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 :

  1. Récupération manuelle – nécessite l’intervention d’un administrateur
  2. 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

  1. 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 manuelleErr-Disable Recovery
Nécessite une action de l’administration✅ Oui❌ Non
Commande requiseshutdown + no shutdownerrdisable 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.

Exemple d'un client se connectant à une interface réseau sans que la sécurité des ports soit activée

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.