Sécurité des ports Cisco : guide complet de configuration et bonnes pratiques
La sécurité des ports (Port Security) est une fonctionnalité de contrôle de trafic de couche 2 sur les commutateurs Cisco Catalyst qui **limite et identifie les adresses MAC** autorisées à accéder au port. C'est la première ligne de défense contre l'inondation MAC (MAC flooding), les périphériques non autorisés et les accès réseau non autorisés.
Fonctionnement
- Apprentissage : Le commutateur apprend les adresses MAC sources sur le port (dynamique) ou vous les configurez (statique/sticky).
- Application : Une trame arrive → l'adresse MAC source est vérifiée contre la table MAC sécurisée pour ce port.
- Action en cas de violation : Si MAC non autorisée ou nombre max dépassé → **shutdown / restrict / protect** (configurable).
Trois modes de fonctionnement
| Mode | Ajout des MAC | Persistance | Cas d'usage |
|---|---|---|---|
| Statique | Manuel : `switchport port-security mac-address 0011.2233.4455` | Survit au redémarrage (dans running-config) | Serveurs, imprimantes, téléphones IP — terminaux fixes connus. |
| Dynamique | Appris depuis les trames entrantes (premier arrivé, premier servi) | Perdu à la coupure lien / redémarrage / shutdown | Environnements à faible admin ; non recommandé pour la sécurité. |
| Sticky (Recommandé) | Appris dynamiquement, puis **converti automatiquement en statique** dans running-config | Survit au redémarrage *si* `copy run start` | Meilleur équilibre : embarquement sans intervention, puis verrouillage. |
Modes de violation (que se passe-t-il quand la limite est dépassée)
| Mode | Action | Syslog / SNMP | État du port | Récupération |
|---|---|---|---|---|
| shutdown (défaut) | Erreur-disabled port, stoppe tout trafic | Oui / Oui | err-disabled | Manuel : `shut` / `no shut` ou `errdisable recovery` |
| restrict | Supprime les trames en violation, garde le port up | Oui / Oui | Up | Auto quand MAC valide revient |
| protect | Supprime les trames en violation, **pas d'alerte** | Non / Non | Up | Auto |
Bonne pratique : Utiliser **`restrict`** pour les ports utilisateurs (visibilité + continuité) ; **`shutdown`** pour les ports serveurs/uplinks.
Commandes clés de configuration (mode config interface)
interface GigabitEthernet1/0/1
switchport mode access
switchport access vlan 10
switchport port-security
switchport port-security maximum 2 ! Autorise 2 MAC (PC + téléphone IP)
switchport port-security violation restrict
switchport port-security mac-address sticky ! Apprentissage sticky
switchport port-security aging time 1440 ! Optionnel : vieillissement après 24h d'inactivité
spanning-tree portfast
spanning-tree bpduguard enable
end
wr
Fonctionnalités avancées
- Vieillissement (Aging) : `switchport port-security aging {static | time | type {absolute | inactivity}}` — supprime les MAC sécurisées obsolètes. Crucial pour le hot-desking.
- Intégration Voice VLAN : `switchport voice vlan 20` + `switchport port-security maximum 3` (1 PC + 1 Téléphone + 1 tampon). MAC téléphone apprise sur voice VLAN, PC sur access VLAN.
- Récupération err-disable : `errdisable recovery cause psecure-violation` + `errdisable recovery interval 300` — récupération auto après 5 min.
- DHCP Snooping / DAI / IP Source Guard : Trio couche 2+3. Port Security = MAC ; DHCP Snooping = liaison IP/MAC ; DAI = validation ARP.
Commandes de vérification
show port-security interface Gi1/0/1
show port-security address
show errdisable detect
show errdisable recovery
Pièges courants
- Oublier `switchport mode access` sur les ports trunk (port-security ne fonctionne que sur access/voice).
- Mettre `maximum 1` sur un port avec téléphone IP → MAC téléphone compte → PC en violation.
- Utiliser `violation protect` — suppressions silencieuses = cauchemar de dépannage invisible.
- Ne pas sauvegarder les MAC sticky (`wr`) → perdu au rechargement.
- Activer sur ports uplink/trunk — casse la commutation.
Contexte moderne (2024)
La sécurité des ports est **fondamentale mais insuffisante seule**. Les campus modernes utilisent **Cisco ISE / TrustSec (SGT)**, **MAB (MAC Auth Bypass)**, **802.1X**, et **Profiling** pour l'accès basé sur l'identité. La sécurité des ports reste le **dernier verrou MAC sur le fil**. L'activer partout, mais construire votre politique dans ISE.
