O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve a configuração e o uso da sincronização de estado de postura introduzida na versão 3.1 do Cisco Identity Service Engine (ISE).
A Cisco recomenda que você tenha conhecimento destes tópicos:
Supõe-se que você tenha uma configuração Posture no lugar de qualquer tipo.
Para entender melhor os conceitos descritos mais adiante, é recomendável passar por:
As informações neste documento são baseadas nestas versões de software e hardware:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
O fluxo de postura do ISE geralmente não permite que o status de postura seja atualizado no cliente a partir do ISE. O Cisco Secure Client Posture Module é usado para avaliar o status de postura do endpoint e o mantém até que a rede altere, reavalie periodicamente ou outros acionadores do lado do cliente. Se o status da postura do endpoint mudar no ISE devido ao encerramento de uma sessão ou por outros motivos, o Módulo de postura do cliente seguro pode não estar ciente dessa mudança, de modo que o endpoint permanece no estado Postura desconhecida com acesso limitado à rede até que um dos acionadores do lado do cliente aconteça.
Este documento se concentra em um novo recurso - a Sincronização de Status de Postura, que foi desenvolvida para tratar desse tipo de problema e permitir que o ISE forneça feedback ao Módulo de Postura de Cliente Seguro sobre o Status de Postura atual do endpoint.
A porta de investigação de status de Postura foi introduzida em cada nó PSN do ISE quando a Sincronização de Estado de Postura está habilitada - TCP 8449 por padrão. Ele deve estar acessível do ponto final se o status da postura do ponto final for Desconhecido ou Pendente e inacessível se o status do ponto final for Compatível.
A configuração do recurso Sincronização de Estado de Postura consiste em duas partes:
1.1 Na GUI do Cisco ISE, navegue para Policy > Policy Elements > Results > Client Provisioning > Resources.
1.2 Selecione o Perfil de postura do AnyConnect que você já usa ou crie um novo.
1.3 Na área Agent Behavior, configure o Posture State Synchronization Interval com qualquer valor entre 1 e 300 segundos, 0 - desabilita a Sincronização de Estado de Situação
1.4 Você pode configurar a Lista de backup de sondagem de postura - O Secure Client usa essa lista para verificar o estado de postura em PSNs selecionadas. Se você não escolher nenhuma PSN, a PSN conectada e dois servidores de backup serão usados como backups para sincronização de estado de postura.
2. Configuração de uma ACL(dACL) para download para bloquear o acesso à porta de sincronização de estado de postura no Cisco ISE quando o status da postura do cliente for Compatível ou Não Compatível. Você precisa adicionar a entrada de negação de controle de acesso com a porta de Sincronização de Estado de Postura para cada PSN na parte superior das ACLs usadas para pontos de extremidade Compatíveis para restringir o acesso à porta de Sincronização de Estado de Postura se o status do ponto de extremidade for conhecido, por exemplo:
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ão é obrigatório, você pode substituí-lo por qualquer conjunto de regras de acordo com suas necessidades.
Observação: se a entrada deny no dACL não estiver configurada, o alarme Posture Configuration Detection será acionado no painel do Cisco ISE e a Sincronização de estado Posture será desativada no endpoint até que o Cisco Secure Client seja reiniciado.
A porta de sincronização de estado de postura (porta bidirecional) pode ser alterada na página de configuração do Portal de provisionamento do cliente. Navegue até Administração > Gerenciamento do portal de dispositivos > Provisionamento do cliente > Selecione o portal desejado > Configurações de comportamento e fluxo do portal e abra Configurações do portal. A porta de Sincronização de Estado de Situação do Portal de Provisionamento de Cliente padrão não pode ser alterada.
A Sincronização de status de postura pode ser verificada no lado do cliente, examinando os logs do Cisco Secure Client Posture Module (AnyConnect_ISEPosture.txt) do pacote DART:
1. A avaliação da postura foi concluída, o status da postura é Compatível.
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. Sondagem de Sincronização de Status da Postura iniciada.
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. A conexão HTTPS com o ISE PSN na porta de Sincronização de Estado de Postura (8449) é iniciada.
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. Tempo limite para sondagem de Sincronização de Status de 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...
A captura de pacote realizada no cliente mostra pacotes SYN enviados para o nó PSN do ISE na porta de sincronização de estado de postura (8449) sem resposta SYN-ACK do PSN do ISE:
A configuração de Sincronização de Status de Situação Correta não pode ser verificada do lado do ISE, pois a conexão na porta de Sincronização de Estado de Situação (8449) deve falhar.
1) As informações de estado da sessão foram recebidas do ISE com Status de postura "Desconhecido" enquanto o Cisco Secure Client está em um estado "Compatível".
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) O Cisco Secure Client confirma a alteração do status da postura e reinicia a descoberta de 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) O Cisco Secure Client interrompe a Sincronização do Status da Situação até que a avaliação da Situação seja realizada:
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 não houver indicação de que a sincronização de status de postura começa no arquivo de log AnyConnect_ISEPosture.txt e o cliente não tentar estabelecer uma conexão com o nó ISE PSN na porta de sincronização de estado de postura (8449), verifique o arquivo de configuração de postura ISEPostureCFG.xml do pacote DART ou diretamente na máquina do cliente: "%ProgramData%\Cisco\Cisco Secure Client\ISE Posture\" para um PC com Windows.
O parâmetro responsável pela Sincronização de Status de Postura é "StateSyncProbeInterval", ele deve ser definido com um valor superior a 0:
A ausência de "StateSyncProbeInterval" ou um valor de "0" significa que a Sincronização de Status da Postura está desabilitada.
Se "Intervalo de sincronização de estado de postura" estiver definido no perfil de postura no ISE, mas não estiver refletido em um arquivo de configuração no cliente, o provisionamento de postura precisará ser investigado.
Se a Sincronização de estado de postura falhar com o alarme no ISE, isso significa que o Cisco Secure Client conseguiu acessar o ISE na porta de Sincronização de estado de postura (8449) e solicitou um status para a sessão com o status "Compatível".
A conexão TCP na porta de Sincronização de Estado de Postura (8449) foi estabelecida:
Verifique o AnyConnect_ISEPosture.txt do pacote DART:
1) A conexão HTTPS com o ISE PSN na porta de sincronização de estado de postura (8449) é iniciada.
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) As informações de estado da sessão foram recebidas do ISE com o status de postura "Compatível".
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) A Sincronização de Estado de Postura é interrompida devido à detecção de uma configuração incorreta:
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.
A sincronização de estado de postura não pode ser reiniciada na GUI do Cisco Secure Client reiniciando a avaliação de postura ou uma alteração na rede. Em vez disso, o Cisco Secure Client precisa ser reiniciado para que a Sincronização de Estado de Postura funcione novamente.
1. Valide se o dACL apropriado está configurado para o perfil de autorização "Compatível" com Postura:
2. Validar relatório de autenticação detalhado dACL enviado corretamente como resultado da autenticação do ponto final "Compatível".
3. Valide se o dACL está corretamente aplicado em um dispositivo de acesso à rede:
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
A sincronização de estado de postura pode falhar com alarme no ISE, mesmo se o dACL apropriado for aplicado em um dispositivo de acesso à rede para o endpoint do cliente. Isso acontece se a Sonda de sincronização de estado de postura for executada mais rapidamente do que o dACL for aplicado ou se a Sonda de sincronização de estado de postura já estiver em andamento quando o dACL estiver sendo aplicado. O problema foi investigado no bug da Cisco ID CSCwd58316 . Como solução alternativa, você precisa definir o "atraso de transição da rede" como 10 segundos no perfil de postura do Anyconnect (Configurações de perfil do agente de postura do ISE).
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
18-Oct-2024 |
Versão inicial |