Aller au contenu principal

Port security et protections de niveau 2

CCNA — Security Fundamentals

Port security et protections de niveau 2

Définition

Le blueprint 200-301 thème 5.7 groupe quatre garde-fous de la couche commutation: port security, qui plafonne les adresses MAC apprises sur un port; DHCP snooping, qui ne laisse qu'un serveur DHCP légitime répondre; dynamic ARP inspection (DAI), qui vérifie chaque requête ARP contre une table de liaisons; et IP source guard (IPSG), qui filtre les paquets IP dont la source ne correspond pas à une liaison connue. Ensemble ils ferment les attaques L2 vues au concept des menaces.

Contexte

L'examen attend de savoir configurer et vérifier ces quatre fonctions sur un port d'accès Catalyst, lire les sorties show, choisir le bon mode de violation et comprendre la chaîne de dépendance: DHCP snooping construit la binding table, DAI et IPSG la consomment. Les questions présentent souvent un symptôme: un port err-disabled, des clients sans adresse IP après activation d'un service, des ARP drops dans les compteurs.

Port security

Le port apprend des MAC "sécurisées" et rejette le reste. Trois réglages définissent son comportement:

Réglage Commande Valeurs possibles Défaut
Nombre max switchport port-security maximum n 1 à 132 selon plateforme 1
Méthode d'apprentissage switchport port-security mac-address ... sticky, manuelle, dynamiquement apprise dynamique
Mode de violation switchport port-security violation {protect | restrict | shutdown} voir tableau ci-dessous shutdown
Mode Trames inconnues Trap syslog Port
protect Drop silencieux Non Reste up
restrict Drop Oui (compteur incrémenté) Reste up
shutdown Drop Oui err-disabled, compteurs à revoir

Le mode shutdown place le port en err-disabled: seul shutdown puis no shutdown manuel, ou errdisable recovery cause psecure-violation avec un intervalle, le ramènent. mac-address sticky convertit les MAC apprises dynamiquement en entrées de running-config, ce qui évite de les taper à la main.

S1(config-if)# switchport mode access
S1(config-if)# switchport port-security
S1(config-if)# switchport port-security maximum 2
S1(config-if)# switchport port-security mac-address sticky
S1(config-if)# switchport port-security violation restrict
S1# show port-security interface GigabitEthernet1/0/7
Port Security              : Enabled
Violation Mode             : Restrict
Sticky Mac Address(es)     : a41b.c6d3.1f20
                             0021.28b8.3a44
Security Violation Count   : 3

Limites: port security ne s'active que sur un port access ou un trunk, pas sur un port en mode dynamic, et il ignore les trames dont la source est la MAC du switch lui-même.

DHCP snooping

Il sépare les ports en trusted (côté serveur, uplinks) et untrusted (côté clients). Tous les ports deviennent untrusted dès l'activation globale: il faut explicitement faire confiance au port du serveur ou au trunk montant, sinon plus personne n'obtient d'adresse. Sur un port untrusted, les OFFER et ACK venant d'un faux serveur sont jetés, et le snooping enregistre chaque bail dans la binding table: IP, MAC, VLAN, port, expiration.

S1(config)# ip dhcp snooping
S1(config)# ip dhcp snooping vlan 10,20
S1(config-if)# interface GigabitEthernet1/0/24
S1(config-if)# ip dhcp snooping trust
S1(config-if)# exit
S1(config-if)# interface GigabitEthernet1/0/7
S1(config-if)# ip dhcp snooping limit rate 15
S1# show ip dhcp snooping binding
10.10.20.15  a41b.c6d3.1f20  00:11:32  00:11:32  20  Gi1/0/7  DHCP-STATIC

Le limit rate protège le pool contre la DHCP starvation: au-delà de 15 Discover par seconde, le port est mis err-disabled (dhcp-snooping comme cause de recovery).

Dynamic ARP inspection et IP source guard

DAI lit la binding table du snooping, ou des liaisons déclarées à la main via une ACL statique (ip arp inspection filter). Une requête ARP sur un port untrusted dont le couple IP/MAC ne figure pas dans la table est dropped. DAI s'active par VLAN et exige les mêmes ports trusted.

IPSG fait la même chose pour le trafic IP: un paquet dont le couple source IP/MAC ne correspond pas à une liaison est filtré, ce qui bloque l'usurpation d'adresse d'un voisin. Il ne fonctionne que sur un port untrusted où le snooping est actif, ou avec une liaison statique.

Fonction Trafic inspecté Se base sur Bloque
Port security Trames L2, MAC source Liste de MAC par port MAC flooding, ports partagés
DHCP snooping Messages DHCP Statut trusted/untrusted Serveur rogue, starvation (avec rate limit)
DAI Requêtes et réponses ARP Binding table ARP spoofing
IPSG Paquets IP forwardés/locaux Binding table Usurpation d'IP source
S1(config)# ip arp inspection vlan 10,20
S1(config-if)# interface GigabitEthernet1/0/7
S1(config-if)# ip arp inspection limit rate 15
S1(config-if)# ip verify source

Erreurs de déploiement classiques

Activer DAI sans trusted sur l'uplink casse la résolution ARP vers la passerelle: tout le trafic sorti du VLAN tombe, le symptôme classique du "ça marchait avant". Sur un serveur fixe en IP statique, le snooping ne le connaît pas: il faut une liaison statique (ip source binding + ip arp inspection filter) ou déclarer son port trusted. Enfin DAI ne valide que ce qu'on lui montre: un hôte configuré manuellement sans liaison ne passe pas.

Exemple concret

Un atelier de 30 postes, VLAN 30, serveur DHCP central côté distribution. Après activation complète en une nuit: le lendemain, 3 plaintes, les 27 autres clients OK. Motif: deux postes avaient changé de NIC la semaine précédente, leurs anciennes liaisons DHCP figuraient encore, les nouvelles MAC ne passent pas DAI jusqu'au renouvellement de bail. Compteur show ip arp inspection statistics: 41 drops sur Gi1/0/12, tous d'une MAC absente de la table. Résolution: clear ip dhcp binding du poste et renouvellement, plus qu'une heure. La fausse impression de panne cache un mécanisme qui a fonctionné.