Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit la configuration et l'utilisation de la synchronisation d'état de posture introduite dans la version 3.1 de Cisco Identity Service Engine(ISE).
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Il est supposé que vous avez une configuration Posture à la place de n'importe quel type.
Pour mieux comprendre les concepts décrits plus loin, il est recommandé de passer en revue les points suivants :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Le flux de posture ISE ne permet généralement pas de mettre à jour l'état de posture sur le client à partir de l'ISE. Le module Cisco Secure Client Posture permet d'évaluer l'état de la position du terminal et de le conserver jusqu'à la modification du réseau, la réévaluation périodique ou d'autres déclencheurs côté client. Si l'état de la position du terminal change sur ISE en raison d'une fermeture de session ou d'autres raisons, le module Secure Client Posture Module peut ne pas être au courant de ce changement, de sorte que le terminal reste dans l'état Posture inconnue avec un accès réseau limité jusqu'à ce que l'un des déclencheurs côté client se produise.
Ce document se concentre sur une nouvelle fonctionnalité - Synchronisation de l'état de la position, qui a été développée pour résoudre ce type de problème et permettre à ISE de fournir des commentaires au module Secure Client Posture sur l'état actuel de la position du terminal.
Le port de sonde d'état de position a été introduit sur chaque noeud PSN ISE lorsque la synchronisation d'état de position est activée - TCP 8449 par défaut. Il est censé être accessible à partir du point de terminaison si l'état de la position du point de terminaison est Inconnu ou En attente et inaccessible si l'état du point de terminaison est Conforme.
La configuration de la fonction de synchronisation d'état de posture se compose de deux parties :
1.1 Dans l'interface utilisateur graphique de Cisco ISE, accédez à Policy > Policy Elements > Results > Client Provisioning > Resources.
1.2 Sélectionnez le profil de posture AnyConnect que vous utilisez déjà ou créez-en un nouveau.
1.3 Dans la zone Comportement de l'agent, configurez l'intervalle de synchronisation d'état de posture sur une valeur comprise entre 1 et 300 secondes, 0 - désactive la synchronisation d'état de posture
1.4 Vous pouvez configurer la liste de sauvegarde de l'analyse de position - Secure Client utilise cette liste pour vérifier l'état de position sur les PSN sélectionnés. Si vous ne choisissez aucun PSN, le PSN connecté et deux serveurs de sauvegarde sont utilisés comme sauvegardes pour la synchronisation d'état.
2. Configuration d'une liste de contrôle d'accès téléchargeable (dACL) pour bloquer l'accès au port de synchronisation d'état de position sur Cisco ISE lorsque l'état de position du client est Conforme ou Non conforme. Vous devez ajouter une entrée de refus de contrôle d'accès avec le port de synchronisation d'état de position pour chaque PSN en haut des ACL utilisées pour les points d'extrémité conformes pour restreindre l'accès au port de synchronisation d'état de position si l'état du point d'extrémité est connu, par exemple :
deny tcp any host PSN1-IP-ADDRESS eq 8449
deny tcp any host PSN2-IP-ADDRESS eq 8449
permit ip any any
permit ip any any n'est pas obligatoire, vous pouvez le remplacer par n'importe quel ensemble de règles selon vos besoins.
Remarque : si l'entrée deny dans dACL n'est pas configurée, l'alarme de détection de configuration de posture est déclenchée sur le tableau de bord Cisco ISE et la synchronisation d'état de posture est désactivée sur le terminal jusqu'à ce que le client sécurisé Cisco soit redémarré.
Le port de synchronisation d'état de posture (port bidirectionnel) peut être modifié sur la page de configuration du portail d'approvisionnement du client. Accédez à Administration > Device Portal Management > Client Provisioning > Select desirable portal > Portal Behavior and Flow Settings et ouvrez Portal Settings. Impossible de modifier le port de synchronisation d'état de posture pour le portail d'approvisionnement du client par défaut.
La synchronisation de l'état de la position peut être vérifiée du côté client en consultant les journaux du module Cisco Secure Client Posture (AnyConnect_ISEPosture.txt) du bundle DART :
1. L'évaluation de la posture est terminée, l'état de la posture est 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. État de la position La recherche de synchronisation a démarré.
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. La connexion HTTPS au PSN ISE sur le port de synchronisation d'état de posture (8449) est initiée.
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. Délai d'attente pour l'analyse de synchronisation Posture Status.
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...
La capture de paquets effectuée sur le client montre les paquets SYN envoyés vers le noeud PSN ISE sur le port de synchronisation d'état de posture (8449) sans réponse SYN-ACK d'ISE PSN :
La configuration correcte de la synchronisation d'état de posture ne peut pas être vérifiée du côté ISE, car la connexion sur le port de synchronisation d'état de posture (8449) est supposée échouer.
1) Des informations d'état de session ont été reçues d'ISE avec l'état de position « Inconnu » alors que le client sécurisé Cisco est dans un état « 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 accuse réception du changement d'état de la position et redémarre la détection de position :
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 arrête la synchronisation d'état de posture jusqu'à l'évaluation de la posture :
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.
S'il n'y a aucune indication de démarrage de la synchronisation d'état de posture dans le fichier journal AnyConnect_ISEPosture.txt et que le client n'essaie pas d'établir une connexion avec le noeud PSN ISE sur le port de synchronisation d'état de posture (8449), vérifiez le fichier de configuration de posture ISEPostureCFG.xml à partir du bundle DART ou directement sur l'ordinateur client : « %ProgramData%\Cisco\Cisco Secure Client\ISE Posture\ » pour un PC Windows.
Le paramètre responsable de la synchronisation d'état de posture est "StateSyncProbeInterval", il est supposé être défini avec une valeur supérieure à 0 :
L'absence de "StateSyncProbeInterval" ou une valeur de "0" signifie que la synchronisation d'état de position est désactivée.
Si "Intervalle de synchronisation d'état de posture" est défini dans le profil de posture sur ISE mais n'est pas reflété dans un fichier de configuration sur le client, alors le provisionnement de posture doit être examiné.
Si la synchronisation d'état de posture échoue avec l'alarme sur ISE, cela signifie que le client sécurisé Cisco a pu atteindre ISE sur le port de synchronisation d'état de posture (8449) et a demandé un état pour la session avec l'état « Conforme ».
La connexion TCP sur le port de synchronisation d'état de posture (8449) est établie :
Vérifiez AnyConnect_ISEPosture.txt dans l'offre groupée DART :
1) La connexion HTTPS au PSN ISE sur le port de synchronisation d'état de posture (8449) est initiée.
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) Des informations sur l'état de la session ont été reçues d'ISE avec l'état de posture « 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 synchronisation d'état de posture s'arrête en raison de la détection d'une configuration incorrecte :
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.
La synchronisation d'état de posture ne peut pas être redémarrée à partir de l'interface utilisateur graphique du client sécurisé Cisco en redémarrant l'évaluation de la posture ou une modification du réseau. Au lieu de cela, le client sécurisé Cisco doit être redémarré pour que la synchronisation d'état de posture fonctionne à nouveau.
1. Validez que la dACL appropriée est configurée pour le profil d'autorisation Posture « Compliant » :
2. Validez que la dACL du rapport d'authentification détaillé a été envoyée correctement suite à l'authentification du point d'extrémité « Conforme ».
3. Vérifiez que la dACL est correctement appliquée sur un périphérique d’accès réseau :
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 synchronisation d'état de posture peut échouer avec l'alarme sur ISE même si la dACL appropriée est appliquée sur un périphérique d'accès réseau au point d'extrémité client. Cela se produit si la sonde de synchronisation d'état de posture est exécutée plus rapidement que l'application de la dACL ou si la sonde de synchronisation d'état de posture est déjà en cours lorsque la dACL est appliquée. Le problème a été étudié dans l'ID de bogue Cisco CSCwd58316 . Pour contourner ce problème, vous devez définir le « délai de transition réseau » sur 10 secondes dans le profil de posture Anyconnect (Paramètres du profil d'agent de posture ISE).
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
18-Oct-2024 |
Première publication |