La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive la configurazione e l'utilizzo della sincronizzazione dello stato della postura introdotta nella versione 3.1 di Cisco Identity Service Engine (ISE).
Cisco raccomanda la conoscenza dei seguenti argomenti:
Si suppone che abbiate una configurazione di postura al posto di qualsiasi tipo.
Per comprendere meglio i concetti descritti più avanti, si consiglia di esaminare:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Il flusso ISE Posture in genere non consente di aggiornare lo stato della postura sul client dall'ISE. Il modulo Cisco Secure Client Posture viene usato per valutare lo stato della postura dell'endpoint e lo mantiene fino alla modifica della rete, alla rivalutazione periodica o ad altri trigger sul lato client. Se lo stato di postura dell'endpoint cambia in ISE a causa della terminazione di una sessione o per altri motivi, il modulo Secure Client Posture potrebbe non essere a conoscenza della modifica, quindi l'endpoint rimane in stato di postura sconosciuta con accesso limitato alla rete fino a quando non si verifica uno dei trigger lato client.
Questo documento è incentrato su una nuova funzione - Sincronizzazione dello stato della postura, che è stata sviluppata per risolvere questo tipo di problema e consentire ad ISE di fornire un feedback al Secure Client Posture Module sullo stato corrente della postura dell'endpoint.
La porta probe dello stato della postura è stata introdotta su ciascun nodo PSN ISE quando la sincronizzazione dello stato della postura è abilitata - TCP 8449 per impostazione predefinita. Deve essere raggiungibile dall'endpoint se lo stato della postura dell'endpoint è Sconosciuto o In sospeso e non raggiungibile se lo stato dell'endpoint è Conforme.
La configurazione della feature Sincronizzazione stato postura (Posture State Synchronization) è costituita da due parti:
1.1 Nell'interfaccia utente di Cisco ISE, selezionare Policy > Policy Elements > Results > Client Provisioning > Resources (Policy > Elementi della policy > Risultati > Provisioning client > Risorse).
1.2 Selezionare il profilo di postura di AnyConnect già in uso o crearne uno nuovo.
1.3 Nell'area Comportamento agente, configurare l'intervallo di sincronizzazione dello stato della postura su un valore compreso tra 1 e 300 secondi, 0 - disattiva la sincronizzazione dello stato della postura
1.4 È possibile configurare l'elenco di backup di verifica della postura. Secure Client utilizza questo elenco per controllare lo stato della postura sui nomi di servizio (PSN) selezionati. Se non si sceglie un PSN, il PSN connesso e i due server di backup vengono utilizzati come backup per la sincronizzazione dello stato di postura.
2. Configurazione di un ACL (dACL) scaricabile per bloccare l'accesso alla porta di sincronizzazione dello stato della postura su Cisco ISE quando lo stato della postura del client è Conforme o Non conforme. Per limitare l'accesso alla porta di sincronizzazione dello stato della postura se lo stato dell'endpoint è noto, è necessario aggiungere la voce di rifiuto del controllo di accesso con la porta di sincronizzazione dello stato della postura per ogni PSN nella parte superiore degli ACL utilizzati per gli endpoint conformi, ad esempio:
deny tcp any host PSN1-IP-ADDRESS eq 8449
deny tcp any host PSN2-IP-ADDRESS eq 8449
permit ip any any
allow ip any any non è obbligatorio, è possibile sostituirlo con qualsiasi set di regole in base alle proprie esigenze.
Nota: se non è configurata la voce deny in dACL, viene attivato l'allarme di rilevamento della configurazione della postura sul dashboard di Cisco ISE e la sincronizzazione dello stato della postura viene disabilitata sull'endpoint finché Cisco Secure Client non viene riavviato.
La porta di sincronizzazione dello stato della postura (porta bidirezionale) può essere modificata nella pagina di configurazione del portale di provisioning client. Passare a Amministrazione > Gestione portale dispositivi > Provisioning client > Selezionare il portale desiderato > Impostazioni comportamento portale e flusso e aprire Impostazioni portale. Impossibile modificare la porta di sincronizzazione stato postura per il portale di provisioning client predefinito.
La sincronizzazione dello stato della postura può essere verificata dal lato client esaminando i log di Cisco Secure Client Posture Module (AnyConnect_ISEPosture.txt) dal bundle DART:
1. Valutazione della postura completata. Lo stato della postura è Conforme.
2022/11/09 12:22:47 [Information] aciseagent Function: Authenticator::sendUIStatus Thread Id: 0xC60 File: authenticator.cpp Line: 1905 Level: debug MSG_SU_STEP_STATUS, {Status:4,Compliant:2,RemStatus:2,Phase:0,StepNumber:-1,Progress:-1,Attention:1,Cancellable:0,Restartable:0,ErrorMessage:0,Description1:"Compliant.",Description2:"Network access allowed."}.
2. Il probe di sincronizzazione dello stato della postura è stato avviato.
2022/11/09 12:22:47 [Information] aciseagent Function: PeriodicProbe::ProcessMessage Thread Id: 0xC60 File: periodic_probe.cpp Line: 143 Level: info Session Sync Periodic Probing start.
2022/11/09 12:22:47 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x296C File: periodic_probe.cpp Line: 335 Level: info Session sync periodic probing thread start.
3. È stata avviata la connessione HTTPS a ISE PSN sulla porta di sincronizzazione dello stato della postura (8449).
2022/11/09 12:22:47 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x296C File: periodic_probe.cpp Line: 357 Level: debug Sending http session sync periodic probe to [ISE-PSN-FQDN].
2022/11/09 12:22:47 [Information] aciseagent Function: HttpConnection::MakeRequest Thread Id: 0x296C File: httpconnection.cpp Line: 330 Level: debug Url=https://ISE-PSN-FQDN:8449/auth/StateSynch.
4. Timeout per il probe di sincronizzazione dello stato della postura.
2022/11/09 12:22:54 [Information] aciseagent Function: hs_transport_winhttp_post Thread Id: 0x296C File: hs_transport_winhttp.c Line: 5815 Level: debug unable to send request: 12002.
2022/11/09 12:22:54 [Information] aciseagent Function: hs_transport_post Thread Id: 0x296C File: hs_transport.c Line: 1425 Level: trace posting data failed.
2022/11/09 12:22:54 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x296C File: periodic_probe.cpp Line: 394 Level: debug HTTP Probe failed/timed-out, Retrying...
L'acquisizione dei pacchetti sul client mostra i pacchetti SYN inviati al nodo PSN ISE sulla porta di sincronizzazione dello stato della postura (8449) senza risposta SYN-ACK da PSN ISE:
Impossibile verificare la configurazione corretta della sincronizzazione dello stato della postura dal lato ISE perché la connessione sulla porta di sincronizzazione dello stato della postura (8449) dovrebbe avere esito negativo.
1) ISE ha ricevuto informazioni sullo stato della sessione con stato postura "Sconosciuto" mentre Cisco Secure Client è in stato "Conforme".
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 430 Level: debug --- Http Response Headers ---.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug HTTP-Version: 1.1.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Status-Code: 200.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Connection: keep-alive.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Date: Wed, 09 Nov 2022 11:26:24 GMT.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Keep-Alive: timeout=20.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Content-Length: 0.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Server: server.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug X-Frame-Options: SAMEORIGIN.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Strict-Transport-Security: max-age=31536000; includeSubDomains.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug X-Content-Type-Options: nosniff.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' http://www.cisco.com/ data:;.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug X-XSS-Protection: 1; mode=block.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug Accept-CH: Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Platform, Sec-CH-UA.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 437 Level: debug X-ISE-POSTURE_STATUS: Unknown.
2022/11/09 12:26:24 [Information] aciseagent Function: dump_http_headers Thread Id: 0x296C File: hs_httpheader.c Line: 442 Level: debug --------------------.
2) Cisco Secure Client riconosce la modifica dello stato della postura e riavvia il rilevamento della postura:
2022/11/09 12:26:24 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x296C File: periodic_probe.cpp Line: 379 Level: debug Different Session state on ISE = [ ISE-PSN-FQDN]. Restarting discovery.
2022/11/09 12:26:24 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x296C File: periodic_probe.cpp Line: 387 Level: debug MSG_NS_SWIFT_RESTART_SEARCH, {manualRescan:0,stopPeriodicProbe:1}.
2022/11/09 12:26:24 [Information] aciseagent Function: SwiftHttpRunner::restartDiscovery Thread Id: 0xC60 File: swifthttprunner.cpp Line: 1431 Level: debug Restarting Discovery.
3) Cisco Secure Client interrompe la sincronizzazione dello stato della postura finché non viene eseguita la valutazione della postura:
2022/11/09 12:26:24 [Information] aciseagent Function: SwiftHttpRunner::processMessage Thread Id: 0xC60 File: swifthttprunner.cpp Line: 383 Level: debug Periodic Probes requested to be stopped.
2022/11/09 12:26:24 [Information] aciseagent Function: SwiftHttpRunner::restartDiscovery Thread Id: 0xC60 File: swifthttprunner.cpp Line: 1436 Level: debug MSG_PN_STOP_PERIODIC_PROBE sent.
2022/11/09 12:26:24 [Information] aciseagent Function: SwiftHttpRunner::restartDiscovery Thread Id: 0xC60 File: swifthttprunner.cpp Line: 1437 Level: debug MSG_PN_STOP_PERIODIC_PROBE, .
2022/11/09 12:26:24 [Information] aciseagent Function: hs_transport_free Thread Id: 0xC60 File: hs_transport.c Line: 606 Level: trace de-initialization done.
2022/11/09 12:26:24 [Information] aciseagent Function: PeriodicProbe::ProcessMessage Thread Id: 0xC60 File: periodic_probe.cpp Line: 210 Level: debug MSG_PN_STOP_PERIODIC_PROBE received..
2022/11/09 12:26:24 [Information] aciseagent Function: PeriodicProbe::ProcessMessage Thread Id: 0xC60 File: periodic_probe.cpp Line: 224 Level: debug Periodic Probing stopped.
2022/11/09 12:26:24 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x296C File: periodic_probe.cpp Line: 411 Level: info Session sync periodic probing thread end.
Se non viene indicato l'avvio di Sincronizzazione stato postura nel file di log AnyConnect_ISEPosture.txt e il client non tenta di stabilire una connessione con il nodo PSN ISE sulla porta di sincronizzazione stato postura (8449), controllare il file di configurazione postura ISEPostureCFG.xml dal bundle DART o direttamente sul computer client: "%ProgramData%\Cisco\Cisco Secure Client\ISE Posture\" per un PC Windows.
Il parametro responsabile per la sincronizzazione dello stato della postura è "StateSyncProbeInterval", che deve essere impostato con un valore superiore a 0:
L'assenza di "StateSyncProbeInterval" o il valore "0" indica che la sincronizzazione dello stato della postura è disabilitata.
Se "Intervallo di sincronizzazione stato postura" è impostato in Profilo postura su ISE ma non è riflesso in un file di configurazione sul client, è necessario indagare sul provisioning postura.
Se la sincronizzazione dello stato della postura non riesce con l'allarme su ISE, Cisco Secure Client è riuscito a raggiungere ISE sulla porta di sincronizzazione dello stato della postura (8449) e ha richiesto uno stato per la sessione con stato "Conforme".
La connessione TCP sulla porta di sincronizzazione dello stato della postura (8449) è stabilita:
Controllare AnyConnect_ISEPosture.txt dal bundle DART:
1) Viene avviata la connessione HTTPS a ISE PSN sulla porta di sincronizzazione dello stato della postura (8449).
2022/11/09 12:26:34 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x2750 File: periodic_probe.cpp Line: 357 Level: debug Sending http session sync periodic probe to [ISE-PSN-FQDN].
2) ISE ha inviato informazioni sullo stato della sessione con lo stato della postura "Conforme".
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 430 Level: debug --- Http Response Headers ---.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug HTTP-Version: 1.1.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Status-Code: 200.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Connection: keep-alive.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Date: Wed, 09 Nov 2022 11:26:34 GMT.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Keep-Alive: timeout=20.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Content-Length: 0.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Server: server.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug X-Frame-Options: SAMEORIGIN.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Strict-Transport-Security: max-age=31536000; includeSubDomains.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug X-Content-Type-Options: nosniff.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' http://www.cisco.com/ data:;.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug X-XSS-Protection: 1; mode=block.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug Accept-CH: Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Platform, Sec-CH-UA.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 437 Level: debug X-ISE-POSTURE_STATUS: Compliant.
2022/11/09 12:26:34 [Information] aciseagent Function: dump_http_headers Thread Id: 0x2750 File: hs_httpheader.c Line: 442 Level: debug --------------------.
3) La sincronizzazione dello stato della postura si interrompe a causa del rilevamento di una configurazione errata:
2022/11/09 12:26:34 [Error] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x2750 File: periodic_probe.cpp Line: 370 Level: error Incorrect configuration detected by ISE = [ISE-PSN-FQDN], compliant status is not expected.
2022/11/09 12:26:34 [Information] aciseagent Function: PeriodicProbe::sessionSyncProbe Thread Id: 0x2750 File: periodic_probe.cpp Line: 371 Level: debug MSG_PN_STOP_PERIODIC_PROBE, .
2022/11/09 12:26:34 [Information] aciseagent Function: PeriodicProbe::ProcessMessage Thread Id: 0xC60 File: periodic_probe.cpp Line: 210 Level: debug MSG_PN_STOP_PERIODIC_PROBE received..
2022/11/09 12:26:34 [Information] aciseagent Function: PeriodicProbe::ProcessMessage Thread Id: 0xC60 File: periodic_probe.cpp Line: 224 Level: debug Periodic Probing stopped.
Impossibile riavviare Sincronizzazione stato postura dall'interfaccia utente di Cisco Secure Client riavviando la valutazione della postura o una modifica di rete. Al contrario, è necessario riavviare Cisco Secure Client per consentire il riavvio della sincronizzazione dello stato della postura.
1. Verificare che il dACL corretto sia configurato per il profilo di autorizzazione "Conforme" della postura:
2. Convalida che l'ACL del report di autenticazione dettagliato è stato inviato correttamente come risultato dell'autenticazione dell'endpoint "conforme".
3. Verificare che dACL sia applicato correttamente su un dispositivo di accesso alla rete:
avakhrus_3560C#sh authe sess int fa0/12 det
Interface: FastEthernet0/12
MAC Address: 0050.56a8.be02
IPv6 Address: Unknown
IPv4 Address: 192.168.255.193
User-Name: TRAINING\bob
Status: Authorized
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Session timeout: N/A
Restart timeout: N/A
Periodic Acct timeout: 172800s (local), Remaining: 92111s
Session Uptime: 1515s
Common Session ID: C0A8FF0C00000012679EAF14
Acct Session ID: 0x00000012
Handle: 0x5D000005
Current Policy: POLICY_Fa0/12
Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)
Server Policies:
ACS ACL: xACSACLx-IP-avakhrus_posture_probe_ACL-636b75ac
Method status list:
Method State
mab Stopped
dot1x Authc Success
avakhrus_3560C#sh access-lists | s xACSACLx-IP-avakhrus_posture_probe_ACL-636b75ac
Extended IP access list xACSACLx-IP-avakhrus_posture_probe_ACL-636b75ac (per-user)
1 deny tcp any host PSN1-IP-ADDRESS eq 8449
2 deny tcp any host PSN2-IP-ADDRESS eq 8449
3 permit ip any any
La sincronizzazione dello stato della postura può non riuscire con un allarme su ISE anche se un corretto dACL viene applicato su un dispositivo di accesso alla rete all'endpoint del client. Questo si verifica se la sonda di sincronizzazione dello stato della postura viene eseguita più rapidamente di quanto sia stato applicato dACL o se la sonda di sincronizzazione dello stato della postura è già in corso quando dACL è applicato. Il problema è stato esaminato con l'ID bug Cisco CSCwd58316 . Per risolvere questo problema, è necessario impostare il "ritardo di transizione della rete" su 10 secondi nel profilo Anyconnect Posture (impostazioni del profilo ISE Posture Agent).
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
18-Oct-2024 |
Versione iniziale |