Cos'e'#
Il NAC (Network Access Control) e' il "buttafuori" della rete aziendale: verifica identita' e postura del dispositivo PRIMA che ottenga accesso alla rete. Non si limita ad autenticare l'utente, ma controlla lo stato di salute del dispositivo stesso.

Esegue un Health Check (Posture Assessment) sul dispositivo prima della connessione, concede accesso completo se conforme, isola in Quarantine VLAN se non conforme, guida la remediation automatica.
TL;DR#
Il NAC funziona come un check-in medico obbligatorio prima di entrare in un ospedale:
- Il laptop di un dipendente cerca di connettersi al Wi-Fi aziendale
- Il NAC blocca la porta (stato UNAUTHORIZED) prima di far passare qualsiasi traffico
- Esegue il Posture Assessment: AV aggiornato? Patch OK? BitLocker attivo?
- Se il check passa, la porta diventa AUTHORIZED e il dispositivo ottiene IP e accesso
- Se fallisce, il dispositivo finisce in Quarantine VLAN dove puo' solo scaricare aggiornamenti
- Dopo la remediation, il check viene ripetuto automaticamente
Posture Assessment#
Il Posture Assessment e' la lista di controlli che il NAC esegue sul dispositivo prima di concedere l'accesso. La lista e' definita dall'IT aziendale e puo' variare per tipo di dispositivo o ruolo.
I 3 Tipi di Agente NAC#
Il NAC raccoglie le informazioni di postura dal dispositivo usando uno dei tre approcci, scelto in base al tipo di device e al contesto di deployment.
| Tipo | Come Funziona | Caso d'Uso | Limitazioni |
|---|---|---|---|
| Persistent | Software installato permanentemente in background | Laptop aziendali gestiti dall'IT | Richiede gestione software su ogni device |
| Dissolvable (Transient) | Scaricato via web, eseguito per il check, si auto-cancella | BYOD, ospiti, consulenti temporanei | Dipende dal browser, meno info disponibili |
| Agentless | Il NAC interroga direttamente l'Active Directory | PC in dominio Windows. Zero manutenzione | Check solo al login/logoff, non schedulabile liberamente |
flowchart TD
classDef question fill:#1d355733,stroke:#457b9d,stroke-width:2px,color:#000
classDef agent fill:#2a9d8f33,stroke:#2a9d8f,stroke-width:2px,color:#000
DEVICE["Dispositivo si connette"]:::question
Q1{"E' un device aziendale
gestito dall'IT?"}:::question
Q2{"E' in dominio
Active Directory?"}:::question
PERSISTENT["Persistent Agent
Sempre in background
Piu' dati, piu' controllo"]:::agent
AGENTLESS["Agentless
Interroga Active Directory
Zero manutenzione, meno preciso"]:::agent
DISSOLVABLE["Dissolvable Agent
Si scarica, fa il check, si cancella
Per BYOD e ospiti"]:::agent
DEVICE --> Q1
Q1 -->|"Si"| PERSISTENT
Q1 -->|"No"| Q2
Q2 -->|"Si"| AGENTLESS
Q2 -->|"No"| DISSOLVABLE
- Persistent: come un JWT salvato nel LocalStorage, sempre presente in ogni richiesta.
- Dissolvable: come un Session Token in memoria che muore al logout o alla chiusura del browser.
- Agentless: come l'autenticazione Kerberos/SSO nativa in Active Directory, senza token espliciti sul client.
Quarantine VLAN e Remediation#
Se il Posture Assessment fallisce, il dispositivo non viene bloccato completamente: viene isolato in una VLAN di quarantena dove ha "just enough access" per correggere il problema.
flowchart LR
classDef ok fill:#2a9d8f33,stroke:#2a9d8f,stroke-width:2px,color:#000
classDef fail fill:#e6394633,stroke:#e63946,stroke-width:2px,color:#000
classDef neutral fill:#1d355733,stroke:#457b9d,stroke-width:2px,color:#000
DEVICE["Dispositivo
si connette"]:::neutral
ASSESSMENT["Posture Assessment
NAC verifica conformita'"]:::neutral
OK["Porta AUTHORIZED
Accesso completo alla rete"]:::ok
QUARANTINE["Quarantine VLAN
Accesso limitato:
solo update server"]:::fail
REMEDIATION["Remediation
Scarica patch, attiva AV"]:::fail
RECHECK["Ri-esecuzione
Posture Assessment"]:::neutral
DEVICE --> ASSESSMENT
ASSESSMENT -->|"Check superato"| OK
ASSESSMENT -->|"Check fallito"| QUARANTINE
QUARANTINE --> REMEDIATION
REMEDIATION --> RECHECK
RECHECK -->|"OK"| OK
RECHECK -->|"Ancora non conforme"| QUARANTINE

La Quarantine VLAN e' progettata per il principio di minimo privilegio: il dispositivo non conforme puo' raggiungere solo i server di aggiornamento (Windows Update, server AV), non la rete produttiva. Questo evita che un laptop non patchato infetti il resto della LAN mentre si sta correggendo.
802.1X — Infrastruttura Port-Based NAC#
Il NAC come concetto richiede un'infrastruttura di autenticazione sottostante. Lo standard industriale e' 802.1X, che implementa il controllo a livello di porta fisica o virtuale (wireless).

Il flusso 802.1X e' sempre lo stesso, cablato o wireless:
flowchart LR
classDef device fill:#8338ec33,stroke:#8338ec,stroke-width:2px,color:#000
classDef auth fill:#2a9d8f33,stroke:#2a9d8f,stroke-width:2px,color:#000
classDef server fill:#1d355733,stroke:#457b9d,stroke-width:2px,color:#000
SUP["Supplicant
Device dell'utente"]:::device
AUTH["Authenticator
Switch / AP
(relay)"]:::auth
RADIUS["RADIUS Server
Verifica credenziali
(Authentication Server)"]:::server
SUP -->|"1 - EAP Request
(credenziali o certificato)"| AUTH
AUTH -->|"2 - Invia al RADIUS
(RADIUS Access-Request)"| RADIUS
RADIUS -->|"3 - RADIUS Access-Accept
o Access-Reject"| AUTH
AUTH -->|"4 - Porta AUTHORIZED
o rimane UNAUTHORIZED"| SUP
NAC vs Altri Tool#
Il NAC si confonde spesso con strumenti che hanno ruoli simili ma diversi.
| Tool | Quando agisce | Cosa controlla |
|---|---|---|
| NAC | PRIMA della connessione | Il DISPOSITIVO (salute, conformita') |
| Firewall | Durante la connessione | Il TRAFFICO (IP, porta, protocollo) |
| EDR | DOPO la connessione | Il COMPORTAMENTO (processi, anomalie) |
| MDM | Continuo sul device mobile | Policy, app, configurazione |
Il NAC e l'EDR si complementano: il NAC filtra all'ingresso (solo device conformi entrano), l'EDR monitora cosa fanno i device una volta dentro. Un device puo' superare il NAC al mattino e poi essere compromesso durante la giornata: solo l'EDR lo rileva.
Integrazione con MDM (Mobile Devices)#
Il NAC si integra con l'MDM per estendere il controllo ai dispositivi mobili BYOD. Il flusso e' lo stesso del posture assessment desktop, ma orchestrato dall'MDM:
- Il device BYOD si connette all'MDM per enrollment
- L'MDM verifica conformita': patch, AV, jailbreak/root, certificato
- Se il device non e' conforme, l'MDM segnala la violazione al server NAC
- Il NAC blocca l'accesso al Wi-Fi aziendale e alla VPN
- Il dispositivo continua a funzionare sulla rete cellulare 4G personale
- Dopo remediation, il ciclo si ripete
Dev Parallel#
In un ambiente CI/CD, il NAC e' analogo alle policy di branch protection: prima che il codice entri nel repository principale, i check automatici (test, lint, security scan, SAST) devono passare. Una pull request con test falliti o dipendenze vulnerabili viene bloccata esattamente come un device con AV disattivato viene bloccato dal NAC. La Quarantine VLAN corrisponde a una PR "bloccata" che puo' solo ricevere commenti di revisione e aggiornamenti, non fare merge.
In Docker e Kubernetes, l'equivalente del NAC sono gli Admission Controllers (OPA Gatekeeper, Kyverno): verificano la conformita' del container alle policy (no root, image firmata, resource limits definiti, no privileged mode) prima di ammettere il pod nel cluster. Un pod che non soddisfa le policy viene rifiutato a livello di API server, esattamente come un device non conforme viene bloccato dal NAC prima di ottenere un IP.
Scenario Reale Blue Team#
# Scenario: verificare quale dispositivo e' in quarantena sul RADIUS
# (Cisco ISE / FreeRADIUS con logging abilitato)
# Analisi log RADIUS per autenticazioni fallite (dispositivi in quarantena)
grep "Access-Reject" /var/log/freeradius/radius.log | \
awk '{print $NF}' | sort | uniq -c | sort -rn | head -20
# Su Wazuh: alert per device con NAC posture failure
curl -k -u admin:admin \
-X GET "https://wazuh-manager:9200/.wazuh-alerts-*/_search" \
-H "Content-Type: application/json" \
-d '{
"query": {
"bool": {
"must": [
{"match": {"rule.description": "NAC posture"}},
{"range": {"@timestamp": {"gte": "now-1h"}}}
]
}
}
}'Collegato a#
- aaa-radius — RADIUS e' il backend di autenticazione del NAC
- zero-trust — NAC implementa il principio "never trust, always verify" prima della connessione
- edr — EDR monitora il dispositivo dopo che il NAC lo ha ammesso in rete
- ids-ips — IDS/IPS complementa NAC rilevando anomalie nel traffico post-connessione


