Sicurezza Porte Cisco: Guida Completa alla Configurazione e Best Practice
Port Security è una funzionalità di controllo traffico Layer 2 su switch Cisco Catalyst che **restringe l'input a un'interfaccia limitando e identificando gli indirizzi MAC** autorizzati ad accedere alla porta. È la prima linea di difesa contro MAC flooding, dispositivi rogue e accesso non autorizzato alla rete.
Come Funziona
- Apprendimento: Lo switch apprende i MAC sorgente sulla porta (dinamico) o li configuri tu (statico/sticky).
- Applicazione: Arriva un frame → il MAC sorgente viene verificato rispetto alla tabella MAC sicura per quella porta.
- Azione di Violazione: Se MAC non autorizzato o conteggio max superato → **shutdown / restrict / protect** (configurabile).
Tre Modalità di Funzionamento
| Modalità | Come vengono aggiunti i MAC | Persistenza | Caso d'uso |
|---|---|---|---|
| Statico | Manuale: `switchport port-security mac-address 0011.2233.4455` | Sopravvive al riavvio (in running-config) | Server, stampanti, telefoni IP — endpoint noti, fissi. |
| Dinamico | Appreso dai frame in entrata (primo arrivato, primo servito) | Perso su link-down / riavvio / shutdown | Ambienti a bassa amministrazione; non consigliato per sicurezza. |
| Sticky (Consigliato) | Appreso dinamicamente, poi **convertito automaticamente in statico** in running-config | Sopravvive al riavvio *se* `copy run start` | Miglior equilibrio: onboarding zero-touch, poi blocco. |
Modalità di Violazione (Cosa Succede Quando il Limite è Superato)
| Modalità | Azione | Syslog / SNMP | Stato Porta | Recupero |
|---|---|---|---|---|
| shutdown (default) | Err-disable porta, ferma tutto il traffico | Sì / Sì | err-disabled | Manuale: `shut` / `no shut` o `errdisable recovery` |
| restrict | Scarta frame in violazione, mantiene porta attiva | Sì / Sì | Attiva | Automatico quando MAC valido ritorna |
| protect | Scarta frame in violazione, **nessun avviso** | No / No | Attiva | Automatico |
Best practice: Usa **`restrict`** per porte utente (visibilità + continuità); **`shutdown`** per porte server/uplink.
Comandi di Configurazione Chiave (Modalità Config Interfaccia)
interface GigabitEthernet1/0/1
switchport mode access
switchport access vlan 10
switchport port-security
switchport port-security maximum 2 ! Consenti 2 MAC (PC + telefono IP)
switchport port-security violation restrict
switchport port-security mac-address sticky ! Apprendimento sticky
switchport port-security aging time 1440 ! Opzionale: invecchia dopo 24h inattività
spanning-tree portfast
spanning-tree bpduguard enable
end
wr
Funzioni Avanzate
- Invecchiamento: `switchport port-security aging {static | time | type {absolute | inactivity}}` — rimuove MAC sicuri obsoleti. Fondamentale per hot-desking.
- Integrazione Voice VLAN: `switchport voice vlan 20` + `switchport port-security maximum 3` (1 PC + 1 Telefono + 1 buffer). Il MAC del telefono viene appreso sulla voice VLAN, il PC sulla access VLAN.
- Recupero Err-disable: `errdisable recovery cause psecure-violation` + `errdisable recovery interval 300` — recupero automatico dopo 5 min.
- DHCP Snooping / DAI / IP Source Guard: Trio Layer 2+3. Port Security = MAC; DHCP Snooping = binding IP/MAC; DAI = validazione ARP.
Comandi di Verifica
show port-security interface Gi1/0/1
show port-security address
show errdisable detect
show errdisable recovery
Pitfall Comuni
- Dimenticare `switchport mode access` su porte trunk (port-security funziona solo su access/voice).
- Impostare `maximum 1` su una porta con telefono IP → il MAC del telefono conta → il PC riceve violazione.
- Usare `violation protect` — drop silenziosi = incubi di troubleshooting invisibili.
- Non salvare i MAC sticky (`wr`) → persi al ricaricamento.
- Abilitare su porte uplink/trunk — rompe lo switching.
Contesto Moderno (2024)
Port Security è **fondamentale ma insufficiente da sola**. I moderni campus fabric usano **Cisco ISE / TrustSec (SGT)**, **MAB (MAC Auth Bypass)**, **802.1X**, e **Profiling** per accesso basato sull'identità. Port Security rimane il **blocco MAC dell'ultima istanza** sul cavo. Abilitala ovunque, ma costruisci la tua policy in ISE.