Il est dangereux et risqué de laisser des ports non utilisés sur un switch pour la sécurité de notre réseau local. Une personne mal intentionnée pourrait s’y connecter et compromettre notre réseau. La solution première pourrait être de mettre en shutdown tous les ports qui ne sont pas utilisés, puis de les mettre dans un VLAN qui n’est pas utilisé.
Nous allons voir dans cet article qu’il est possible, avec un switch, de limiter les connexions locales en filtrant par les adresses MAC. Cela s’appelle le Port Security. Pour rappel, l’adresse MAC est l’adresse physique de la machine, soit sa carte réseau. Plus simplement, c’est l’identité de l’ordinateur, et il n’est pas possible d’avoir la même adresse MAC.
exemple : 0012.4275.E012
est une adresse MAC
Les différentes raison d’appliquer le mode port Security
- Permet de contrôler les adresses MAC autorisées sur un port. En cas de violation, il est possible d’appliquer différentes actions sur le port (voir plus bas).
- Permet d’autoriser seulement les ordinateurs que l’on souhaite voir circuler dans notre réseau, en récupérant leur adresse MAC. Cela permet de contrer la connexion de pirates sur un switch physique.
- Permet d’éviter certaines attaques comme le spoofing d’adresse MAC.
Le switch Port Security est l’un des premiers barrages aux attaques sur le réseau local, car il se positionne au niveau de l’accès réseau (niveau 2). Les autres mesures que l’on peut utiliser sont les VLAN, private VLAN, et BPDU Guard avec spanning tree…
Les 3 façons d’apprendre les adresses MAC au switch
Apprentissage statique :
L’admin réseau va renseigner manuellement chaque adresse MAC qui a le droit d’être connectée au switch. Nous verrons plus bas comment faire. On peut récupérer sa MAC sur Windows en allant dans le cmd et en tapant ipconfig
, et sur Linux en tapant ip a
.
Apprentissage dynamique :
L’adresse MAC est apprise dynamiquement, c’est-à-dire automatiquement, dès que l’on se connecte à une interface du switch. L’adresse MAC sera stockée dans la table MAC du switch.
Si vous redémarrez le switch, votre adresse MAC sera supprimée de cette table. Cet apprentissage ne sera pas utile pour le switchport port-security, mais il est important de le noter.
Apprentissage sticky :
Un peu comme l’apprentissage dynamique, le mode sticky permet d’autoriser la première adresse MAC qui se connecte au port ; dès que celle-ci envoie une trame au port de ce switch Cisco, les prochaines adresses MAC seront rejetées.
Le mode sticky apprend seulement la première adresse MAC qui envoie une trame ICMP par exemple (il est possible d’apprendre plusieurs adresses MAC avec la commande maximum de port security, voir plus bas). En plus de cela, cette adresse MAC sera enregistrée dans le running config.
Il s’active par la commande switchport port-security mac-address sticky
.
L’avantage de l’apprentissage sticky est que cela évite à l’administrateur de renseigner chaque adresse MAC une par une, ce qui peut vite devenir fastidieux dans un grand réseau.
Configutation du port security
Activation de la fonction switchport port-security
Par défaut, la commande n’est pas activée. Si elle est simplement activée, une seule adresse MAC est apprise ; dès qu’il y a un cas de violation, le port est mis en shutdown.
Activation de la fonction :
Switch(config)#interface fastethernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Il est important de mettre le port en mode access ou en mode trunk, sinon il ne sera pas possible d’appliquer la commande port-security. La commande switchport port-security
permet d’activer le Port Security en mode Enable.
Si nous souhaitons le désactiver, il faudra utiliser :
Switch(config-if)#no switchport port-security
Fixer un nombre d’adresse MAC à autoriser
On peut fixer le nombre d’adresses MAC autorisées à se connecter à ce port, par exemple 5 :
Switch(config-if)#switchport port-security maximum 5
Par défaut, une seule adresse MAC est autorisée par port, mais il est maintenant possible d’augmenter ce nombre.
Apprendre les adresses MAC de façon dynamique et statique
Sécuriser ses ports dynamiquement
Il est possible d’inscrire l’adresse MAC de façon dynamique en utilisant la commande port-security mac-address sticky
. Cela permet que l’adresse MAC du premier hôte qui se connecte sur cette interface soit apprise par le switch Cisco.
Dès que le premier client enverra sa première trame, son adresse MAC sera enregistrée automatiquement et inscrite dans le running config.
Switch>enable
Switch#Configure terminal
Switch(config)#interface FastEthernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security mac-address sticky
Sécuriser ses ports statiquement
Les adresses MAC autorisées peuvent être fixées manuellement par l’administrateur réseau :
Switch>enable
Switch#Configure terminal
Switch(config)#interface FastEthernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security mac-address E8-4D-AD-27-CA-0C
Nous avons d’abord activé l’interface en mode accès et non dynamique, puis activé la fonction port security et inclus notre règle en acceptant une seule adresse MAC spécifique.
Les différents modes de violation
Les différents modes de violation permettent de faire réagir le switch de trois façons différentes en cas de violation, si une adresse MAC non autorisée se connecte à un port.
(config-if)#switchport port-security violation {protect | restrict | shutdown}
Mode protect :
Dès que la violation est détectée, il va supprimer tous les paquets ou arrêter de transférer le trafic d’une adresse MAC non reconnue. Ce mode ne permet pas d’envoyer de message de log.
(config-if)#switchport port-security violation protect
Mode restrict :
Dès que la violation est détectée, le switch agit comme en mode protect, en supprimant les trames et en gardant une trace dans son journal de log. Il envoie même une trame SNMP si nous avons un serveur de supervision, comme pour la gestion des logs avec rsyslog. Le mode restrict renseigne en incrémentant le nombre de fois où il y a eu des violations (visible avec la commande show port-security interface fastEthernet x/x
).
(config-if)#switchport port-security violation restrict
Mode shutdown :
dès que la violation est détectée, le port passe dans l’état err-disabled (shutdown) et garde une trace dans son journal de log.
(config-if)#switchport port-security violation shutdown
Dès que la violation est détectée, le port passe dans l’état err-disabled (shutdown) et garde une trace dans son journal de log.
Switch>enable
Switch#Configure terminal
Switch(config)#interface FastEthernet 0/2
Switch(config-if)#shutdown
Switch(config-if)#no shutdown
cas concret d’une violation
Si nous avons choisi une adresse MAC particulière pour un port, celle d’un ordinateur, et que, par exemple, nous branchons un hub ou un autre switch, le port sera bloqué, car le switch verra arriver des trames depuis une adresse MAC non autorisée ou différente de celle renseignée, ce qui déclenchera l’action de blocage.
Commande de diagnostic du port-security
1) show port-security
Cette commande fournit un aperçu général des paramètres et de l’état du Port Security sur le switch.
Switch#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
--------------------------------------------------------------------------------
Fa0/1 1 1 0 Shutdown
Fa0/2 5 3 2 Restrict
Fa0/3 2 1 0 Protect
On peut voir les actions configurées pour chaque port en cas de violation (Shutdown, Restrict ou Protect).
2) show port-security interface fastEhernet x/x
Pour voir le détail complet de la protection d’une interface :
Switch#show port-security interface fastEthernet 0/2
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Restrict
Aging Time : 0 mins
Maximum MAC Addresses : 5
Total MAC Addresses : 3
Configured MAC Addresses : 1
Sticky MAC Addresses : 2
Last Source Address : E8-4D-AD-27-CA-0C
Security Violation Count : 2
Port Security en Enable indique que la sécurité du port est bien active. De plus, le statut Port Status en Secure-up montre que le mode fonctionne correctement. Le mode de violation est en mode restrict, le nombre max d’adresses MAC sur le port est renseigné à 5, et le compteur de violations est à 2.
3) show interface status
La commande permet de voir l’état des différents ports du switch.
Switch#show interface status
Port Name Status Vlan Duplex Speed Type
-----------------------------------------------------------------
Fa0/1 connected 10 a-full a-100 10/100BaseTX
Fa0/2 err-disabled 20 auto auto 10/100BaseTX
Fa0/3 notconnect 1 auto auto 10/100BaseTX
Fa0/4 connected 1 a-full a-100 10/100BaseTX
L’interface Fa0/2 est en état err-disabled, indiquant qu’une violation de Port Security a désactivé le port.
4) show port-security address
Affiche les adresse mac sécurisé de l’ensemble des ports du switch :
Switch#show port-security address
Secure Mac Address Type Ports Remaining Age
---------------------------------------------------------------------
0012.4275.E012 SecureSticky Fa0/1 -
0002.9821.CA00 SecureDynamic Fa0/2 -
0004.1180.5632 SecureConfigured Fa0/3 -
Dans cet exemple, l’adresse 0012.4275.E012 a été apprise en mode sticky sur le port Fa0/1, tandis que 0004.1180.5632 est une adresse configurée manuellement pour le port Fa0/3.
Conclusion sur le port security
Le Port Security est un outil supplémentaire pour renforcer la sécurité des réseaux locaux en contrôlant les connexions au niveau des ports d’un switch. En limitant le nombre d’adresses MAC autorisées et en définissant des actions en cas de violation, on réduit les risques d’intrusions non autorisées et d’attaques de type spoofing.
De plus, les différents modes de configuration, qu’ils soient statiques, dynamiques ou sticky, offrent une flexibilité adaptée aux besoins spécifiques de chaque réseau. Grâce au Port Security, les administrateurs réseau peuvent établir une première ligne de défense efficace contre les accès non sécurisés, renforçant ainsi la fiabilité et la résilience du réseau.