Sécurisation de ports d'un switch Cisco
La sécurité d'une infrastructure réseau est à plusieurs niveaux. Elle comprend :
- L'accès aux équipements ;
- L'accès aux applications (sécurité applicative) ;
- Le chiffrement du trafic ;
- Les accès distants (VPN), …
- Etc.
Dans cet atelier, nous mettrons l'accent sur la sécurisation des ports d'un switch Cisco à travers la fonctionnalité Port-Security.
Switchport-Port Security permet de contrôler au plus bas niveau les accès à un réseau informatique. Elle fait partie de l'arsenal disponible pour contrer les attaques de bas niveaux sur les infrastructures commutées parmi :
- BPDU Guard ;
- Deep ARP Inspection ;
- DHCP Snooping ;
- IEEE 802.1X/EAP + Radius ;
- Les VLAN.
Quelques Commandes :
int eX/Y
switchport mode access !! Mettre le port en L2 (une obligation).
switchport port-security !! Activer la sécurité sur ce port.
switchport port-security mac address ab:cd:ef:gh:ij:kl !! n'autoriser que cette machine dont l'adresse MAC est citée à se brancher sur ce port.
switchport port-security maximum 2 !! Uniquement les deux premières machines à se brancher sur ce port n'ont le droit d'utiliser ce port.
switchport port-security sticky !! Au lieu d'indiquer manuellement les adresses MAC autorisées sur un port, l'apprentissage se fera automatiquement, et ces adresses MAC seront écrites en dur dans le fichier de configuration du switch.
switchport port-security violation protect | restrict | shutdown !! donner les mesures à appliquer en cas de violation des règles fixées.
- Le mode protect : Lorsque la violation est constatée, le switch arrête de transférer du trafic sur ce port, sans envoyer de messages Logs ;
- Le mode restrict : Lorsque la violation est constatée, le switch arrête de transférer du trafic sur ce port en envoyant des messages Logs ;
- Le mode shutdown (par défaut) : Lorsque la violation est constatée, ce port passe en mode err-disabled (shutdown) et un message log est envoyé.
Mise en œuvre
Nous allons mettre en place une infrastructure assez simple, composée d'un switch et quelques PCs.
/image%2F3625927%2F20231114%2Fob_8bf585_1.png)
Mise au point
- Nous n'allons autoriser que le PC1 à utiliser le port Eth0/0 du switch. La mesure sera : shutdown ;
- Sur le port Eth0/1, nous n'allons autoriser que les deux premières machines à se brancher (PC2 et la suivante). La mesure sera : protect.
!
interface Ethernet0/0
switchport mode access
switchport port-security mac-address 0050.7966.6800
switchport port-security
switchport port-security violation shutdown
end
!
interface Ethernet0/1
switchport mode access
switchport port-security maximum 2
switchport port-security violation protect
switchport port-security mac-address sticky
switchport port-security
end
Ci-dessous les config des ports du switch
/image%2F3625927%2F20231114%2Fob_578018_2.png)
L'état des ports sécurisés
/image%2F3625927%2F20231114%2Fob_fdbba3_3.png)
Plus en détails
/image%2F3625927%2F20231114%2Fob_418612_4.png)
Le second
/image%2F3625927%2F20231114%2Fob_fad798_5.png)
Actuellement la table MAC du switch est vide car il n'y pas eu de trafic entre les machines. Après un ping entre ces dernières, des informations sont obtenues...
/image%2F3625927%2F20231114%2Fob_a5de1a_6.png)
Nous allons maintenant mettre un autre PC (192.168.1.3/24) à la place du PC1.
/image%2F3625927%2F20231114%2Fob_fd271b_7.png)
Juste après avoir générer du trafic sur ce port, le switch a constaté que c'est une machine dont l'adresse MAC est différente de celle autorisée qui y est dorénavant. Il a donc réagi
/image%2F3625927%2F20231114%2Fob_8a61ef_8.png)
L'état du port en question
/image%2F3625927%2F20231114%2Fob_e236a1_9.png)
Et lorsque nous affichons plus d'informations, nous avons : le statut du port, l'adresse MAC de la machine fautive et son VLAN d'appartenance, ainsi que le nombre de fois de la violation de la règle.
/image%2F3625927%2F20231114%2Fob_7eef8f_10.png)
Passons au port Eth0/1
Remplaçons le PC2 par un autre, nous verrons que le switch acceptera volontiers cette autre machine, car nous avions autorisé jusqu'à deux machines sur ce port.
/image%2F3625927%2F20231114%2Fob_4675b6_11.png)
Lorsque du trafic est généré sur ce port, nous verrons que les adresses MAC apprises dynamiquement sont écrites en dur dans la configuration.
/image%2F3625927%2F20231114%2Fob_6b7c87_12.png)
Mais il ne peut toujours pas y avoir de trafic sur le port Eth0/0 car il est en état err-disabled, donc down.
En tant qu'administrateur réseau, remettons la bonne machine (PC1) sur son port, Eth0/0.
La solution pour réactiver ce port est de faire les actions suivantes :
!
interface Ethernet0/0
shutdown
no shutdown
end
Mais nous allons faire preuve de professionnalisme en disant au switch de remettre les choses dans l'ordre lorsque la bonne machine regagne le bon port.
conf t
errdisable recovery cause psecure-violation
Nous pouvons aussi agir sur le délais de rétablissement comme suit :
conf t
errdisable recovery interval 30
Nous venons de fixer un délais de 30s
/image%2F3625927%2F20231114%2Fob_d29c0e_14.png)
Les message de debug de port-security (debug port-security)
/image%2F3625927%2F20231114%2Fob_947c1c_15.png)
Le switch nous parle dans sa langue que les choses sont maintenant dans l'ordre.
/image%2F3625927%2F20231114%2Fob_224112_16.png)
Et lorsque nous branchons une troisième machine sur le port Eth0/1 du switch, il y aura violation car nous avions indiqué au switch de n'accepter que deux machines sur ce port.
Nous avons ci-dessous la liste des adresses MAC autorisées sur les ports dont la sécurité est activée. Fixées manuellement (SecureConfigured), et apprises automatiquement (SecureSticky).
/image%2F3625927%2F20231114%2Fob_03e037_20.png)
La Fonctionnalité Port-Security est assez efficace lorsqu'il s'agit d'assurer l'identité des machines censées se connecter à un réseau filaire pour envoyer et récevoir du trafic !!!