Les switch font partie des matériels clés sur un réseau, qu’importe l’architecture. Ils peuvent être aussi un point crucial pour les attaques informatiques… Des règles de sécurité sont donc à mettre en œuvre.
Pour éviter que n’importe qui se connecte sur un port d’un switch, il est possible de faire un contrôle sur les adresses MAC des machines connectées pour chaque port.
Ainsi, si le switch détecte qu’un PC a changé de mac (usurpation MAC), et que cette nouvelle adresse mac n’est pas celle qui est entrée dans ses paramètres, la connexion va alors se couper (le port va automatiquement s’éteindre, se mettre en position “down”).
Les options du “Port-Security”
Il y a 3 paramètres spécifiques (options) pour spécifier :
- port-security violation shutdown → “Shutdown” bloquera le port si une usurpation MAC est détectée
- port-security violation protect → “Protect” bloquera les trames avec les MAC inconnues
- port-security violation restrict → Message envoyé au “Syslog” + compteur incrémentiel
Adressage IP
Pour ce cas, il est préférable d’avoir au minimum trois postes & 1 switch dans votre réseau virtuel. Votre switch doit supporter l’administration CLI (lignes de commandes). Le réseau peut être n’importe lequel, qu’il soit de classe A, B, C ou D, mais veillez à ce que les machines soient toutes dans le même réseau.
Voici notre configuration (exemple) :
- Le “Serveur0″ est connecté sur le port “fastEthernet0/1” - IP : 192.168.1.250
- PC0 →“fastEthernet0/2” – IP : 192.168.1.1
- PC1 →“fastEthernet0/3” - IP : 192.168.1.2
- PC2 →“fastEthernet0/4” - IP : 192.168.1.3
Configuration du switch & des ports
Cinq ports Ethernet sont concernés pour cette nouvelle sécurité, il faut alors les configurer 1 par 1. Nous allons devoir entrer dans la configuration “avancée” du switch, pour modifier les paramètres des ports concernés :
enable
Switch# conf t
Switch(config)#
Dès lors que le switch affiche ” (config) “, vous êtes dans la partie vous permettant d’administrer les VLAN, les interfaces, les protocoles… La majorité des options disponibles du switch.
Nous allons commencer par la première interface, “fastEthernet0/1″.
Mode opératoire :
- Entrer dans l’interface concernée (fastEthernet0/1) ;
- Activer le mode “switchport access” → Autoriser l’accessibilité du port, le switch laisse passer les trames / la communication dans ce port ;
- Activer le mode “port-security” pour initialiser la sécurité ;
- Entrer l’adresse MAC du PC / Serveur autorisé à communiquer avec ce port ;
- Sélectionner & activer l’option “port-security” à attribuer sur ce port concerné ;
- Ne pas oublier de sauvegarder la configuration générale du switch (“copy running-config startup-config“)
- Répétez les étapes 1 à 6 pour tous les ports concernés.
Rappel : la commande “no shutdown” n’éteint pas l’interface. Cette commande “allume” / “monte” le port.
Exemples par ligne de commandes :
Switch(config)# interface fastEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security mac-address 0011.2233.4455
Remarquez le format de l’adresse MAC → Il ne s’agit plus de six groupes de deux caractères, mais de trois groupes de quatre caractères. Il s’agit toutefois d’une adresse MAC, c’est seulement Cisco iOS qui impose cette écriture…
Il existe une option alternative pour la ligne “switch port-security mac-address [...]“. En effet, le switch peut être capable “d’observer” les adresses MAC qui transitent dans ses interfaces, et n’autoriser une ou plusieurs adresses. Ainsi, lors de la commande “switchport port-security mac-address“, il ne faut pas mettre l’adresse MAC d’une machine, mais l’attribut “sticky“.
Switch(config-if)# show port-security mac-address sticky
Par défaut, il n’y aura qu’une seule adresse MAC autorisée avec l’option sticky. Vous pouvez donc changer cette valeur grâce à la commande ci-dessous :
Switch(config-if)# show port-security maximum n # Nombre d'adresse MAC autorisée(s) par port, où "n" est un nombre de 1 à 99
Par cette commande, vous pouvez autoriser une ou plusieurs adresses MAC sur un même port, mais à certaines conditions, comme présentées ci-dessous… :-).
À partir de ce moment, vous avez 3 solutions possibles :
- Switch(config-if)# switchport port-security violation shutdown → Bloquer le port s'il y a une tentative d’usurpation MAC ;
- Switch(config-if)# switchport port-security violation protect → Bloque les trames avec des adresses MAC inconnues de ce port ;
- Switch(config-if)# switchport port-security violation restrict → Si une usurpation MAC est détectée, un message sera envoyé sur le “Syslog”, en plus d’augmenter la valeur du compteur incrémentiel (Le nombre d’échecs est comptabilisé.)
N’oubliez pas après de “monter” la configuration de l’interface, grâce à la commande… :
Switch(config-if)# no shutdown
Lors d’une usurpation…
port-security violation shutdown
En activant le mode “violation shutdown”, dès qu’une usurpation MAC est détectée, le port va automatiquement & instantanément s’éteindre. Ainsi, il sera reconnu comme “down” dans le switch, et ne se “remontera” pas, même avec la bonne adresse MAC.
Pour réactiver le port, il faut entrer dans l’interface “descendue”, et la “remonter” manuellement :
Switch> enable
Switch# conf t
Switch(config)# interface fastEthernet0/1
Switch(config-if)# shutdown
Switch(config-if)# no shutdown
Lors de l’exécution de la commande “shutdown”, un message apparaîtra :
Switch#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
Le switch a alors repéré que vous venez de “monter” le port (interface) administrativement, c'est-à-dire en ligne de commande. La commande “no shutdown” permet de sauvegarder l’état en cours de l’interface.
Rappel : la commande “no shutdown” n’éteint pas l’interface. Cette commande permet de sauvegarder la configuration d’un port.
Commandes utiles
- Afficher la configuration du switch en cours d'utilisation
switch> enable
switch# sh run
- Afficher la configuration générale de tous les 'port-security'
switch> enable
switch# show port-security
- Afficher la configuration port-security d'un port spécifique
switch> enable
switch# show port-security interface fastEthernet0/1
Vous pouvez changer fastEthernet0/1 par un autre numéro correspondant au port choisit → fastEthernet0/3, fastEthernet1/23…