WLAN Enterprise - WPA2/3 Enterprise, 802.1X, EAP, RADIUS e WLC | Prof. Giagnotti
Anno 5 · Modulo 4 · Lezione 4
Prof. Giagnotti · Sistemi e Reti · 5ª IT Informatica

WLAN Enterprise - WPA2/3 Enterprise, 802.1X, EAP, RADIUS e WLC

Dal PSK domestico all'autenticazione aziendale: come funziona davvero una WLAN enterprise con 802.1X, RADIUS, certificati e controller WLC centralizzato. Lab con 4 LAP per aree aziendali.

🧪 Lab GitHub 📦 File .pkt 🎯 Enterprise Wi-Fi 🔐 WPA3-Enterprise
📋 Obiettivi di apprendimento
✓Distinguere WPA2/WPA3 Personal vs Enterprise spiegando perché la PSK non scala in azienda e cos'è il key management per-utente.
✓Descrivere il framework 802.1X con ruoli Supplicant, Authenticator, Authentication Server e flusso porte virtuali controlled/uncontrolled.
✓Confrontare i metodi EAP (TLS, PEAP-MSCHAPv2, TTLS) analizzando certificati, tunnel TLS, mutual authentication e sicurezza reale.
✓Configurare RADIUS (AAA, port 1812/1813) e WLC Cisco con CAPWAP, LAP, FlexConnect e policy SSID x VLAN x RADIUS attribute.
✓Progettare WLAN enterprise segmentata con 4 SSID (Corp, BYOD, Guest, IoT), 802.11r/k/v, QoS WMM e troubleshooting 802.1X in Packet Tracer.

1. Perché Personal non basta: limiti della PSK in azienda

📌 Definizione da ricordare

WPA-Personal usa una Pre-Shared Key identica per tutti i client: una password condivisa. WPA-Enterprise usa 802.1X + RADIUS per autenticare ogni utente con credenziali individuali e generare chiavi di sessione uniche per client.

In una casa una PSK va bene: la cambi quando cambia coinquilino. In azienda con 200 dipendenti, 50 device BYOD e ospiti giornalieri la PSK diventa un incubo: se un dipendente viene licenziato devi cambiare la password su tutti i device, non hai tracciabilità, non puoi fare accounting, la chiave è vulnerabile a dizionario offline.

WPA-Enterprise risolve 3 problemi insieme:

  • Scalabilità identità: ogni utente usa username/password o certificato personale da AD/LDAP.
  • Segretezza forward: ogni sessione genera PMK → PTK → chiavi dinamiche diverse per ogni client.
  • Revoca istantanea: disabiliti utente su RADIUS/AD senza toccare gli altri.
🎯 Esempio in classe

Istituto con SSID "ITIS-WiFi" con PSK "Password123!" scritta in bacheca: un ex-studente può collegarsi dal parcheggio per mesi. Con Enterprise, SSID "ITIS-Corp" chiede email istituzionale @itis.edu + password; quando l'account viene rimosso da Google Workspace, RADIUS rifiuta istantaneamente. Log con username per GDPR e sicurezza.

01 · KEY

PSK Condivisa

1 chiave per tutti, cambi manuale, niente identità, vulnerabile a cracking se breve.

02 · IDENTITY

Per-User Credential

Ogni client autenticato singolarmente, PMK unica, revoca centralizzata via RADIUS.

03 · TRACE

Accounting & Log

RADIUS accounting 1813 traccia chi, quando, quanto traffico: essenziale per audit.

⚠️ Errore comune

Confondere WPA2-Personal con WPA2-Enterprise perché entrambi usano AES-CCMP. La crittografia è uguale (CCMP), ma il key management cambia tutto: PSK → PMK = PBKDF2(PSK); Enterprise → PMK = da EAP-TLS/PEAP via RADIUS. Stessa cifratura, sicurezza opposta.

2. WPA2-Enterprise vs WPA3-Enterprise: CCMP, GCMP-256 e forward secrecy

WPA2-Enterprise (2004) ha standardizzato CCMP-AES-128 per confidenzialità e 4-way handshake. WPA3-Enterprise (2018) introduce cifratura a 192-bit minimum per suite enterprise, GCMP-256, protezione management frame obbligatoria (PMF/802.11w) e modalità opzionale WPA3-Enterprise 192-bit.

CaratteristicaWPA2-EnterpriseWPA3-Enterprise
Key Management802.1X + PMK da RADIUS802.1X + PMK + PMF obbligatorio
Cifratura trafficoCCMP AES-128CCMP AES-128 di base, GCMP-256 in modalità 192-bit
Integrità Management802.11w opzionale (spesso off)PMF obbligatorio, no downgrade attack
Session Key Strength128-bit128-bit standard, 192-bit CNSA suite (GCMP-256 / HMAC-SHA384)
Transizione—WPA2/WPA3-Enterprise transition mode per compatibilità
Vantaggio chiaveCompatibilità largaForward secrecy forte, anti-deauth, anti-KRACK evoluto
WPA2/3 PERSONAL 1 PSK per tutti PBKDF2 → PMK → PTK ❌ No identità ❌ Revoca difficile Es. psw coffee-shop WPA2/3 ENTERPRISE 802.1X + RADIUS EAP → PMK unica per user ✓ Identità + Log ✓ Revoca via AD Es. user@azienda.com + cert KEYS DINAMICHE PTK / GTK random PMK ─► 4-way handshake ANonce/SNonce → PTK WPA3: GCMP-256 + PMF Forward secrecy 192-bit
💬 Tip del docente

All'interrogazione: se ti chiedono "differenza WPA2 e WPA3 Enterprise?" non dire solo "più sicuro". Di': WPA3 obbliga PMF (802.11w), introduce GCMP-256 per modalità 192-bit, protezione contro downgrade e deauth spoofing, più suite CNSA. E transition mode per legacy.

3. 802.1X: l'architettura a tre attori e le porte logiche

📌 Definizione da ricordare

802.1X è un framework di controllo accesso basato su porte: prima di dare IP o Internet, blocca tutto tranne EAP. Tre ruoli: Supplicant (client), Authenticator (AP/WLC), Authentication Server (RADIUS). Solo dopo Access-Accept il controlled port si apre e parte DHCP e dato cifrato.

Come funziona in pratica:

  1. Association aperta: client si associa all'AP (open association), ma Authenticator lascia aperto solo uncontrolled port per EAPoL.
  2. EAPoL Start → Request Identity: AP chiede identità, client risponde con anonymous identity (per privacy EAP).
  3. EAP exchange con RADIUS: AP incapsula EAP in RADIUS (EAPoL→RADIUS), RADIUS autentica via AD/cert.
  4. RADIUS Access-Accept + PMK: server invia MSK → PMK all'Authenticator.
  5. 4-way handshake Wi-Fi: genera PTK/GTK dinamici, installa chiavi CCMP/GCMP.
  6. Controlled port open: solo ora passa traffico dati, DHCP, DNS.
SUPPLICANT Laptop / Phone EAPoL (802.1X) Possiede cert/user+pwd AUTHENTICATOR AP + WLC • CAPWAP EAPoL ◄► RADIUS controlled / uncontrolled port Porta chiusa fino ad Accept AUTHENTICATION SERVER RADIUS (NPS / FreeRADIUS) Auth su UDP 1812 • AD/LDAP Access-Accept + MSK→PMK + VLAN Tunnel-Private-Group-ID = VLAN 20 Acct su UDP 1813 (log / tempo) EAPoL RADIUS/EAP dopo Accept → 4-way handshake → PTK → dati CCMP/GCMP + DHCP
🎯 Esempio in classe - Lab

In Packet Tracer configuri WLC con RADIUS su server 10.0.0.2. Supplicant Windows prova user studente01 con PEAP: Wireshark mostra EAPoL Start, EAP-Identity, poi scambio TLS dentro RADIUS. Se password errata vedi Access-Reject. Se corretta vedi Access-Accept con attributo Tunnel-Private-Group-Id = 20 per VLAN studenti.

4. EAP: TLS, PEAP-MSCHAPv2, TTLS - tunnel, certificati e identità

EAP è il contenitore. Il metodo EAP decide quanto è sicuro e quanto costa gestire:

Metodo EAPAutenticazioneCertificati necessariSicurezza / Uso
EAP-TLSMutual: client + server si autenticano con cert X.509Server + Client cert (PKI obbligatoria)Top: no password in rete, anti-phishing. Usato in high-security (ospedali, PA). Complesso da distribuire.
PEAP-MSCHAPv2Tunnel TLS server-only, dentro credenziali user/pass MSCHAPv2Solo server cert (client no)Più diffuso: comodo, utenti dominio, ma se user non valida cert → vulnerabile a Evil Twin. Richiede AD.
EAP-TTLSTunnel TLS, dentro PAP/CHAP/MSCHAPv2 o altroSolo server certSimile a PEAP ma più flessibile su inner method, usato in eduroam.
EAP-FAST (legacy)PAC + tunnelOpzionaleCisco legacy, meno usato oggi.
📌 Definizione da ricordare

EAP-TLS = gold standard: handshake TLS mutual → MSK condiviso → PMK. PEAP = tunnel TLS server-side + inner auth: prima validi il server RADIUS col suo certificato, poi dentro il tunnel invii username/password protetti da TLS. Se non validi il server → MITM facile.

RADIUS + EAP CONFIG · FREERADIUS ESEMPIO
# /etc/freeradius/3.0/mods-available/eap eap { default_eap_type = peap tls-config tls-common { private_key_file = /etc/freeradius/certs/server.key certificate_file = /etc/freeradius/certs/server.crt ca_file = /etc/freeradius/certs/ca.crt cipher_list = "HIGH:!aNULL:!MD5" } peap { default_eap_type = mschapv2 tls-config tls-common } tls { tls = tls-common # per EAP-TLS richiede client cert } } # Attributo VLAN per utente in users file: studente01 Cleartext-Password := "Lab123!" Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Tunnel-Private-Group-Id = "20"
⚠️ Errore comune in verifica

Evil Twin attack perché non validano cert RADIUS: su PEAP/TTLS il client DEVE verificare CN del cert RADIUS e CA trusted. Se clicchi "accetta cert non valido", un attaccante può fare fake AP + fake RADIUS e rubare hash MSCHAPv2. In esame scrivi sempre: configurare profilo Wi-Fi con CA e server name (es. radius.itis.local).

💬 Tip del docente

Memorizza frase da 10: "PEAP fa tunnel TLS esterno per proteggere identità e credenziali, MSCHAPv2 interno autentica utente AD. EAP-TLS invece mutua autenticazione con certificati su entrambi i lati, quindi niente password intercettabili." Perfetta per orale.

5. RADIUS e AAA: protocolli, attributi e accounting per WLAN

RADIUS (RFC 2865/2866) è AAA centralizzato: Authentication (chi sei), Authorization (cosa puoi fare → VLAN/QoS), Accounting (cosa hai fatto).

AUTH · UDP 1812

Access-Request / Accept / Reject / Challenge

AP → RADIUS con username + EAP message. Shared secret per integrity + cifratura password. Risposta con MSK/MPPE keys.

ACCT · UDP 1813

Accounting-Request Start/Stop/Interim

Traccia sessione, bytes, tempo connessione per audit e billing. Fondamentale per Guest temporizzato.

Attributi chiave in WLAN enterprise:

  • User-Name + EAP-Message: trasportano scambio EAP.
  • Tunnel-Private-Group-Id: assegna VLAN dinamica per utente (es. Docenti VLAN 10, Studenti VLAN 20).
  • Filter-Id / Cisco-AVPair: policy ACL, QoS, dACL per ruolo.
  • MS-MPPE-Recv-Key / Send-Key: MPPE key per derivare PMK.
  • Session-Timeout: ricolloca re-auth forzata (es. 8h per Corp, 2h per Guest).
CISCO WLC · RADIUS CONFIG CLI
! Config RADIUS primario su WLC 3504 / vWLC config radius auth add 1 10.0.0.2 1812 StrongSecret123! config radius auth enable 1 config radius acct add 1 10.0.0.2 1813 StrongSecret123! config radius acct enable 1! WLAN Enterprise su WLC config wlan create 2 ITIS-Corp ITIS-Corp config wlan security wpa wpa2 enable 2 config wlan security wpa akm 802.1x enable 2 config wlan security wpa wpa2 ciphers aes enable 2 config wlan security 802.1x on 2 config wlan radius_server auth add 2 1 config wlan radius_server acct add 2 1 config wlan mfp required 2 # PMF per WPA3 config wlan enable 2! Dynamic VLAN via RADIUS config wlan aaa-override enable 2
🎯 Esempio in classe

In azienda con 4 aree: RADIUS legge gruppo AD. Se user in gruppo DOCENTI → VLAN 10 (10.10.10.0/24) con accesso server didattico. Se STUDENTI → VLAN 20 izolata con rate-limit. Guest → VLAN 30 captive portal con tempo 4h. IoT → VLAN 99 PSK + MAC filtering.

6. WLC: CAPWAP, Lightweight AP, FlexConnect e gestione centralizzata

📌 Definizione da ricordare

WLC = Wireless LAN Controller: cervello centralizzato che gestisce configurazione, sicurezza, roaming, RF e policy di centinaia di AP lightweight (LAP) tramite tunnel CAPWAP (Control and Provisioning of Wireless Access Points) su UDP 5246/5247.

Da Autonomous AP a LWAPP/CAPWAP: autonomous AP era standalone (config su ogni AP). Non scala. LWAPP poi CAPWAP (standard RFC 5415) divide Data plane (traffico utente) e Control plane (gestione). AP leggero fa solo real-time 802.11, tutto il resto al WLC.

CONTROL 5246

CAPWAP Control

DTLS cifrato tra AP e WLC, keepalive, config push, RRM (Radio Resource Management) per canali/potenza.

DATA 5247

CAPWAP Data

Traffico utente incapsulato verso WLC (central switching) o local bridging se FlexConnect.

MODE

Local / Flex / Mesh

Local = tutto al WLC. FlexConnect = switching locale a filiale se WAN down. Mesh = AP si collegano via radio.

WLC 3504 / vWLCCAPWAP Control 5246 / Data 5247 LAP Area A - UfficiCorp SSID VLAN 10Ch 1 / 36 • Flex Local LAP Area B - LabStudent SSID VLAN 20Ch 6 / 40 • Flex Local LAP Area C - Hall/GuestGuest VLAN 30 + WebAuthCh 11 / 44 • Central LAP Area D - Magazzino IoTIoT SSID VLAN 99IoT PSK + ACL + L2 isol. CAPWAP DTLS tunnel • RRM • Roaming 802.11r/k/v Lab: 4 LAP • Switch PoE • WLC • RADIUS 10.0.0.2 • DHCP per VLAN

RRM (Radio Resource Management): WLC misura interferenze e adatta automaticamente canale e potenza AP (TPC/DCA). Evita co-channel interference tra i 4 LAP del lab.

FlexConnect: modalità ibrida per filiali: se link WAN verso WLC centrale cade, LAP continuano a fare switching locale (standalone mode) con PSK o cached PMK.

⚠️ Errore comune

Lasciare tutti gli AP sullo stesso canale perché "prende meglio". Canali 2.4 GHz overlap: usa solo 1,6,11 non sovrapposti. WLC RRM li setta automatico. Se in Packet Tracer vedi interferenze rosse, verifica power e channel assignment.

7. Design enterprise con 4 SSID: Corp-BYOD-Guest-IoT, VLAN mapping e roaming 802.11r/k/v

Design tipico azienda/Istituto con WLC e 4 LAP per aree:

SSID / AreaSecurityVLAN / RADIUS AttrPolicy
ITIS-Corp (uffici/docenti)WPA3-Enterprise + EAP-TLS o PEAPVLAN 10 - Tunnel-Group-Id 10Full access LAN, 802.11r fast roaming, QoS voice
ITIS-Studenti (lab/aula)WPA2/WPA3 Enterprise transition + PEAPVLAN 20 - Group-Id 20 + Filter-Id rate-limitIsolation, solo internet + Moodle, no peer-to-peer
ITIS-Guest (hall)Open + WebAuth Captive portal + RADIUS GuestVLAN 30 - Session-Timeout 14400 (4h)BW limit 5Mbps, L3 ACL deny RFC1918, accounting
ITIS-IoT (magazzino/sensori)WPA2-Personal + MAC-filter + PSK forte per classeVLAN 99 + ACL IoT→Internet only2.4GHz only, PMF opzionale, device onboarding via MDM
ROAMING

802.11r/k/v

r: Fast Transition (FT) evita full 802.1X a ogni AP. k: neighbor list per roaming decision. v: BSS transition management.

QOS

WMM / QoS WLC

Mappatura DSCP → WMM (Voice, Video, Best Effort). WLC fa AVC e QoS profile per SSID.

SECURITY

PMF + IDS

PMF obbligatorio in WPA3, wIPS su WLC rileva rogue AP, Evil Twin, deauth flood, blocca contenimento.

PACKET TRACER WLC · LAB 4 LAP
Topology: [VPC Docenti/Stud] --wifi--> [LAP1..4 PoE] --trunk--> [Switch PoE 2960] --trunk VLAN 10,20,30,99--> [WLC 3504 mgmt 10.0.0.10] --> [RADIUS + DHCP Server 10.0.0.2] Steps: 1) Sul RADIUS server FreeRADIUS/NPS: - Client WLC 10.0.0.10 secret StrongSecret123 - Users: docente01 / Docenti123 docenti group -> VLAN 10 studente01 / Stud123 studenti -> VLAN 202) WLC GUI: WLANs -> Create: WLAN ID 10 Profile Corp / SSID ITIS-Corp / Security WPA2/WPA3-Ent / AAA override WLAN ID 20 SSID ITIS-Studenti / VLAN 20 WLAN ID 30 SSID ITIS-Guest / Layer3 Web Policy + Passthrough + sess 14400s WLAN ID 99 SSID ITIS-IoT / WPA2-Personal "IoT_Strong_Psk_2026!"3) Interfaces: management 10.0.0.10/24, dynamic interfaces vlan10 10.10.10.254, vlan20 10.20.20.254, vlan30 10.30.30.254, vlan99 10.99.99.2544) CAPWAP: APs join automaticamente se nello stesso VLAN mgmt o via DNS cisco-capwap-controller.local5) Verifica: debug client mac, show client detail, RADIUS logs /var/log/freeradius/radius.log - test 802.11r: fast roaming enabled (WLAN -> Advanced -> Fast Transition -> enabled + FT over DS)
💬 Tip del docente per il lab

Nel .pkt se LAP non joinano WLC: controlla che switch PoE abbia power inline auto, che WLC management IP sia raggiungibile e che AP e WLC siano nello stesso broadcast domain o che DHCP abbia option 43 con IP WLC. Altrimenti AP resta in discovery.

8. Verifica / Esercizio progettuale

🔬 Attività — Progetta la WLAN Enterprise del nostro Istituto con WLC e 4 aree

Hai 4 LAP (Uffici, Laboratori, Hall, Magazzino IoT), 1 WLC 3504, 1 RADIUS/NPS su AD, switch PoE. Progetta 4 SSID con autenticazione corretta, VLAN, QoS e sicurezza. Obiettivo: mobilità docenti + isolamento studenti + guest temporizzato + IoT sicuro.

  1. Scelta sicurezza: Per ogni SSID scegli WPA2 vs WPA3-Personal vs Enterprise e metodo EAP (TLS/PEAP/TTLS). Motiva quando usi certificato client vs password e rischi Evil Twin.
  2. Flusso 802.1X: Descrivi passo-passo dal association al 4-way handshake, includendo ruoli Supplicant/Authenticator/AS e porte controlled/uncontrolled. Indica dove appare PMK, PTK, GTK.
  3. RADIUS design: Elenca IP, porte 1812/1813, shared secret, attributi Tunnel-Private-Group-Id per VLAN, Session-Timeout per Guest. Come mappi gruppo AD → VLAN?
  4. WLC & CAPWAP: Confronta Local vs FlexConnect per questa scuola. Configura interfacce dinamiche VLAN 10/20/30/99, RRM DCA/TPC e policy 802.11r/k/v per roaming veloce tra uffici e lab.
  5. Troubleshooting: Studente non si connette: EAP failure, cert RADIUS non valido, VLAN mismatch. Quali log guardi su WLC (debug client), su RADIUS e su client? Proponi verifica con Wireshark filter eapol || radius.
✅ Soluzione ragionata

1) Sicurezza per SSID: Corp (docenti) → WPA3-Enterprise EAP-TLS (cert client da CA interna, max security). Studenti → WPA2/WPA3 transition PEAP-MSCHAPv2 (solo server cert, facile deploy via GPO). Guest → Open + WebAuth captive portal + voucher RADIUS 4h (low security ma accounting). IoT → WPA2-Personal PSK 20 char + MAC ACL + VLAN isolata 99 con L3 deny a LAN. Scelta motivata: TLS elimina password in aria, PEAP comodo per dominio, Evil Twin mitigato forzando validazione CN radius.itis.local.

2) Flusso: Association open (AP = authenticator blocca controlled port). EAPoL Start, Request-Identity, Response identity (anonima @itis.local). AP incapsula in RADIUS Access-Request. RADIUS → challenge EAP-TLS ServerHello cert. Dopo mutual auth, server invia MSK → PMK al WLC. WLC + Supplicant derivano PTK via 4-way handshake (ANonce,SNonce,MAC). Installa PTK+GTK CCMP/GCMP. Controlled port open → DHCP da VLAN assegnata.

3) RADIUS: 10.0.0.2 UDP 1812 auth / 1813 acct, secret 16 char complesso. Attributi: per gruppo Docenti → Tunnel-Type VLAN=13, Tunnel-Medium-Type 802=6, Tunnel-Private-Group-Id=10, Filter-Id=ROLE_DOCENTE. Session-Timeout 28800 (8h). Studenti Group-Id 20 + WISPr-Bandwidth-Max-Up 2M. Guest Group-Id 30 + Session-Timeout 14400 + Idle-Timeout 600. Mapping AD via NPS network policy condizione Windows Group membership.

4) WLC: Essendo campus unico non filiale → Local mode (central switching) per tutte le 4 LAP per avere wIPS centralizzato e QoS. Se fosse plesso staccato → FlexConnect central auth + local switching per survivability se WAN down. Interfacce dinamiche: VLAN 10 10.10.10.254/24 gateway, 20 10.20.20.254 etc. RRM: DCA auto channel 1,6,11 2.4GHz e UNII 5GHz 36,40,44,48 power TPC threshold -70dBm. 802.11r FT enabled adaptive + FT over the DS, 802.11k neighbor list, 802.11v BSS Transition per roaming docenti che camminano con Teams.

5) Troubleshooting: WLC → debug client <mac>, show client detail <mac> mostra 802.1X state, PMK cache, VLAN. RADIUS → /var/log/freeradius/radius.log o NPS event viewer: Access-Reject reason (bad password, cert expired). Client Win → Event Viewer WLAN-AutoConfig ID 12013 per cert validation fail. Wireshark laptop in monitor mode vicino AP filter eapol vede 4-way, filter radius su mirror port WLC→RADIUS vede Access-Challenge. Se VLAN mismatch → client prende IP sbagliato → verifica AAA override enabled su WLAN.

✓Personal ≠ Enterprise: PSK condivisa vs credenziali per-utente + chiavi dinamiche PMK/PTK + accounting via RADIUS.
✓WPA2-Enterprise CCMP-128, WPA3-Enterprise PMF obbligatorio + opzione GCMP-256 192-bit. Transition mode per legacy.
✓802.1X tre attori: Supplicant (client EAPoL), Authenticator (AP/WLC con porte controlled/uncontrolled), Authentication Server (RADIUS 1812/1813).
✓EAP-TLS mutual cert = più sicuro; PEAP-MSCHAPv2 tunnel TLS + password AD = più diffuso ma richiede validazione cert server anti-Evil Twin.
✓RADIUS attributi guidano VLAN: Tunnel-Private-Group-Id per VLAN dinamica, Filter-Id per ACL ruolo, Session-Timeout per guest temporizzato.
✓WLC + CAPWAP: Control 5246 DTLS + Data 5247, gestione centralizzata RRM, policy, roaming 802.11r/k/v, wIPS, QoS WMM.
✓Design 4 SSID: Corp EAP-TLS VLAN10, Studenti PEAP VLAN20 isolation+rate-limit, Guest WebAuth VLAN30 4h + deny RFC1918, IoT PSK VLAN99 isolated.

📚 Prossimo passo — IoT wireless LoRaWAN Zigbee mesh e MQTT

Ora che sai rendere sicura e scalabile una WLAN enterprise, vedremo l'altro lato dell'ecosistema wireless: reti IoT a lungo raggio e bassa potenza LoRaWAN, mesh Zigbee e protocollo applicativo MQTT. Passeremo da VLAN enterprise a sensori battery-powered e topic publish/subscribe.