Il ciclo di vita della posture

La posture in Cisco ISE verifica lo stato di conformità di un endpoint dopo l’autenticazione ma prima di concedere l’accesso pieno alla rete. Il processo è una macchina a stati che parte sempre da Unknown e converge verso Compliant o Non-Compliant, con una CoA (Change of Authorization) a fare da perno tra una fase e l’altra.

Stato Unknown: accesso limitato e redirect

Quando un endpoint supera l’autenticazione 802.1X o MAB ma non ha ancora un report di posture valido, ISE lo classifica come Unknown. L’authorization policy assegna un profilo con due componenti chiave:

  • una dACL (o Airespace ACL sul WLC) che concede solo l’accesso minimo indispensabile: DNS, DHCP, i PSN di ISE e i server di remediation;
  • una Web Redirection – Client Provisioning con una redirect ACL definita localmente sul NAD (switch/WLC).

La redirect ACL sullo switch usa una logica “invertita”: una riga deny significa non reindirizzare (traffico lasciato passare verso ISE/remediation), mentre permit significa reindirizzare verso il portale. Il traffico HTTP dell’utente viene così dirottato al Client Provisioning Portal.

Assessment dell’agent e provisioning

Il portale, tramite la Client Provisioning Policy, distribuisce l’agent appropriato: il Cisco Secure Client (ex AnyConnect) con ISE Posture module per un controllo persistente, oppure il temporal agent per verifiche una tantum. L’agent scarica la posture policy, esegue i requirements (patch, AV/AM aggiornato, firewall attivo, registry/file check, service check…) e invia il report al PSN.

La CoA verso Compliant o Non-compliant

In base al report ISE emette una RADIUS CoA verso il NAD per riautorizzare la sessione:

Esito Authorization result Accesso concesso
Compliant dACL “full access”, nessun redirect Accesso pieno secondo policy
Non-Compliant dACL ristretta / VLAN di quarantena Solo remediation, notifica utente

Il tipo di CoA tipico è Reauth (Reauthenticate), che rilancia la valutazione delle authorization policy senza forzare un nuovo 802.1X completo.

Adaptive Network Control (ANC) e pxGrid

L’ANC è un meccanismo di contenimento reattivo, indipendente dal ciclo di posture. Permette all’amministratore (o a un sistema esterno) di applicare al volo un ANC policy a un endpoint, associata a un’azione:

  • Quarantine — l’endpoint riceve una authorization restrittiva alla successiva valutazione;
  • Port Bounce — spegne e riaccende la porta per forzare un nuovo DHCP/rilevamento;
  • Shutdown — disabilita amministrativamente la porta dello switch.

L’assegnazione di una ANC policy scatena una CoA verso il NAD. Il ruolo di pxGrid è centrale nell’integrazione: sistemi come un Firepower/FMC, uno SIEM o un TrustSec controller pubblicano/consumano eventi sul bus pxGrid e possono invocare le ANC (EPS) actions — quarantena o shutdown — automatizzando il contenimento di un host compromesso senza intervento manuale.

Posture lease e reassessment (PRA)

Due parametri governano quanto spesso si ripete la posture:

  • Posture lease: definisce per quanto tempo un esito Compliant resta valido. Si può richiedere l’assessment a ogni connessione oppure fidarsi del risultato per N giorni (lease). Un lease troppo lungo lascia endpoint “compliant” anche dopo che l’AV è scaduto.
  • PRA (Periodic Reassessment): rivaluta gli endpoint già Compliant a intervalli regolari mentre restano connessi, con azione di enforcement (continue, logoff, remediate) allo scadere.

Trappole tipiche d’esame

  • Scenario: l’endpoint resta bloccato in redirect loop e non diventa mai Compliant, pur avendo l’agent installato → Risposta: la dACL/redirect ACL pre-posture è troppo restrittiva: non permette il traffico verso i server di remediation, i repository di aggiornamento o i PSN. In pre-posture bisogna sempre consentire DNS, DHCP, ISE e remediation.

  • Scenario: dopo il report di posture l’accesso non cambia, l’endpoint mantiene la dACL ristretta → Risposta: manca o non arriva la CoA al NAD; verificare che il device sia configurato per RADIUS CoA (porta 1700), il key/shared secret e che il NAD sia nella Network Device list.

  • Scenario: endpoint mostrati Compliant per giorni anche se l’antivirus è scaduto → Risposta: posture lease impostato su troppi giorni; ridurre il lease o forzare l’assessment a ogni connessione, ed eventualmente abilitare la PRA.

  • Scenario: il redirect non parte affatto sullo switch → Risposta: errore nella logica della redirect ACL locale: le righe permit reindirizzano e deny no; una redirect ACL “permit ip any any” reindirizza tutto, incluso il traffico verso ISE, impedendo il provisioning.

  • Scenario: un endpoint compromesso va isolato immediatamente da un sistema esterno → Risposta: applicare una ANC policy (Quarantine/Shutdown) invocata via pxGrid, che genera una CoA di contenimento, non intervenire sulla posture policy che è troppo lenta e non reattiva.