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 comparação do fluxo de postura no ISE 2.2 com o fluxo de postura em versões do ISE anteriores à 2.2.
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Este documento descreve uma nova funcionalidade no Identity Service Engine (ISE) 2.2 que permite que o ISE suporte um fluxo de postura sem qualquer tipo de suporte de redirecionamento em um dispositivo de acesso à rede (NAD) ou no ISE.
A postura é um componente essencial do Cisco ISE. A postura como componente pode ser representada por três elementos principais:
Observação: este documento é baseado no módulo de postura do AnyConnect ISE, que é o único que suporta postura totalmente sem redirecionamento.
Na postura de fluxo anterior ao ISE 2.2, os NADs não são usados apenas para autenticar usuários e restringir o acesso, mas também para fornecer informações ao software do agente sobre um nó ISE específico que deve ser contatado. Como parte do processo de redirecionamento, as informações sobre o nó ISE são retornadas ao software do agente.
Historicamente, o suporte ao redirecionamento no NAD ou no ISE era um requisito essencial para a implementação da postura. No ISE 2.2, o requisito de suporte ao redirecionamento é eliminado tanto para o processo inicial de provisionamento como para o processo de postura do cliente.
Provisionamento de cliente sem redirecionamento - No ISE 2.2, você pode acessar o Client Provisioning Portal (CPP) diretamente por meio do Fully Qualified Domain Name (FQDN) do portal. Isso é semelhante à maneira como você acessa o Portal do patrocinador ou o Portal do MyDevice.
Processo de postura sem redirecionamento - Durante a instalação do agente a partir do portal CPP, as informações sobre os servidores ISE são salvas no lado do cliente, o que torna a comunicação direta possível.
Esta imagem mostra uma explicação passo a passo do fluxo do módulo de postura do Anyconnect ISE anterior ao ISE 2.2:
Figura 1-1
Etapa 1. A autenticação é a primeira etapa do fluxo, pode ser dot1x, MAB ou VPN.
Etapa 2. O ISE precisa escolher uma política de autenticação e autorização para o usuário. No cenário de postura, a política de autorização escolhida deve conter uma referência ao status da postura, que inicialmente deve ser desconhecido ou não aplicável. Para cobrir estes dois casos, podem ser utilizadas condições com um estado de postura que permita uma conformidade desigual.
O perfil de autorização escolhido deve conter informações sobre o redirecionamento:
Por exemplo, o ASA sempre processa a DACL antes de redirecionar a ACL. Ao mesmo tempo, algumas plataformas de switch o processam da mesma forma que o ASA, e outras plataformas de switch processam primeiro a ACL de redirecionamento e verificam a ACL de DACL/Interface se o tráfego precisar ser descartado ou permitido.
Observação: depois de ativar a opção de redirecionamento da Web no perfil de autorização, o portal de destino para redirecionamento deverá ser escolhido.
Etapa 3. O ISE retorna Access-Accept com atributos de autorização. A URL de redirecionamento nos atributos de autorização é gerada automaticamente pelo ISE. Ele contém estes componentes:
Etapa 4. O NAD aplica uma política de autorização à sessão. Além disso, se o DACL estiver configurado, seu conteúdo será solicitado antes da aplicação das políticas de autorização.
Considerações importantes:
show authentication session interface details
para aplicar com êxito o redirecionamento e as ACLs. O endereço IP do cliente é aprendido pelo recurso de rastreamento de dispositivo IP (IPDT).
Etapa 5. O cliente envia uma solicitação DNS para o FQDN que é inserido no navegador da Web. Nesse estágio, o tráfego DNS deve ignorar o redirecionamento e o endereço IP correto deve ser retornado pelo servidor DNS.
Etapa 6. O cliente envia TCP SYN para o endereço IP que é recebido na resposta DNS. O endereço IP origem no pacote é o IP do cliente e o endereço IP destino é o IP do recurso solicitado. A porta de destino é igual a 80, exceto nos casos em que um proxy HTTP direto é configurado no navegador da Web do cliente.
Etapa 7.NAD intercepta solicitações de clientes e prepara pacotes SYN-ACK com um IP de origem igual ao IP de recurso solicitado, o IP de destino igual ao IP de cliente e a porta de origem igual a 80.
Considerações importantes:
Etapa 8. O cliente conclui o handshake triplo TCP com ACK.
Etapa 9. O HTTP GET para o recurso de destino é enviado por um cliente.
Etapa 10. O NAD retorna um URL de redirecionamento para o cliente com o código HTTP 302 (página movida), em alguns NADs, o redirecionamento pode ser retornado dentro da mensagem HTTP 200 OK no cabeçalho do local.
Figura 1-2
Etapa 11. O cliente envia uma solicitação DNS para o FQDN da URL de redirecionamento. O FQDN deve ser resolvível no lado do servidor DNS.
Etapa 12. A conexão SSL na porta recebida na URL de redirecionamento está estabelecida (padrão 8443). Esta conexão é protegida por um certificado de portal do lado do ISE. O Client Provisioning Portal (CPP) é apresentado ao usuário.
Etapa 13.Antes de fornecer uma opção de download para o cliente, o ISE deve selecionar a política de provisionamento do cliente de destino (CP). O Sistema Operacional (SO) do cliente detectado do agente de usuário do navegador e outras informações necessárias para a seleção de política CPP são recuperados da sessão de autenticação (como grupos AD/LDAP e assim por diante). O ISE conhece a sessão de destino a partir da ID da sessão apresentada na URL de redirecionamento.
Etapa 14. O link de download do Network Setup Assistant (NSA) é retornado ao cliente. O cliente faz o download do aplicativo.
Observação: normalmente, você pode ver a NSA como parte do fluxo de BYOD para Windows e Android, mas também esse aplicativo pode ser usado para instalar o Anyconnect ou seus componentes do ISE.
Etapa 15.O usuário executa o aplicativo NSA.
Etapa 16. O NSA envia a primeira sonda de descoberta - HTTP /auth/discovery para o gateway padrão. Como resultado, a NSA espera a URL de redirecionamento.
Observação: para conexões via VPN em dispositivos MAC OS, esse teste é ignorado, pois o MAC OS não tem um gateway padrão no adaptador VPN.
Etapa 17.O NSA envia uma segunda sonda se a primeira falhar. A segunda sonda é um HTTP GET /auth/discovery para enroll.cisco.com
. Este FQDN deve ser resolvível com êxito pelo servidor DNS. Em um cenário de VPN com um túnel dividido, o tráfego para enroll.cisco.com
deve ser roteado através do túnel.
Etapa 18. Se qualquer uma das sondas for bem-sucedida, o NSA estabelece uma conexão SSL na porta 8905 com informações obtidas do redirect-url. Esta conexão é protegida pelo certificado de administrador do ISE. Dentro dessa conexão, a NSA faz o download do Anyconnect.
Considerações importantes:
ip host
CLI). Isso pode causar problemas com a validação do Nome da Entidade (SN)/Nome Alternativo da Entidade (SAN). Se o cliente for redirecionado para o FQDN da interface G1, por exemplo, o FQDN do sistema pode diferir do FQDN na URL de redirecionamento do certificado de comunicação 8905. Como solução para esse cenário, você pode adicionar FQDNs de interfaces adicionais nos campos SAN do certificado do administrador ou pode usar um curinga no certificado do administrador.Figura 1-3
Etapa 19.O processo de postura do Anyconnect ISE é iniciado.
O módulo de postura do Anyconnect ISE inicia em qualquer uma destas situações:
Etapa 20. Neste estágio, o módulo de postura do Anyconnect ISE inicia a detecção do servidor de política. Isso é realizado com uma série de testes que são enviados ao mesmo tempo pelo módulo de postura do Anyconnect ISE.
enroll.cisco.com
. Este FQDN precisa ser resolvível com êxito pelo servidor DNS. Em um cenário de VPN com um túnel dividido, o tráfego para enroll.cisco.com
deve ser roteado através do túnel. O resultado esperado para o teste é redirect-url.Observação: como resultado desse teste, a postura pode ser realizada com êxito mesmo sem o redirecionamento de trabalho em algumas circunstâncias. A postura bem-sucedida sem redirecionamento requer que a PSN atual que autenticou a sessão seja a mesma que a PSN conectada anteriormente com êxito. Lembre-se de que, antes do ISE 2.2, uma postura bem-sucedida sem redirecionamento é mais uma exceção do que uma regra.
As próximas etapas descrevem o processo de postura no caso em que a URL de redirecionamento é recebida (fluxo marcado com a letra a) como resultado de um dos testadores.
Etapa 21. O módulo de postura do AnyConnect ISE estabelece uma conexão com o portal de provisionamento do cliente com o uso de um URL recuperado durante a fase de descoberta. Nesse estágio, o ISE faz a validação da política de provisionamento do cliente mais uma vez com o uso das informações das sessões autenticadas.
Etapa 22.Se a política de provisionamento do cliente for detectada, o ISE retornará o redirecionamento para a porta 8905.
Etapa 23. O agente estabelece uma conexão com o ISE pela porta 8905. Durante essa conexão, o ISE retorna URLs para o perfil de postura, módulo de conformidade e atualizações do anyconnect.
Figura 1-4
Etapa 24.Faça o download da configuração do módulo de postura do ISE AC a partir do ISE.
Etapa 25.Atualiza o download e a instalação, se necessário.
Etapa 26. O módulo de postura AC ISE coleta informações iniciais sobre o sistema (como versão do SO, produtos de segurança instalados e sua versão de definição). Neste estágio, o módulo de postura do ISE AC envolve a API OPSWAT para coletar informações sobre produtos de segurança. Os dados coletados são enviados ao ISE. Como resposta a essa solicitação, o ISE fornece uma lista de requisitos de postura. A lista de requisitos é selecionada como resultado do processamento da política de postura. Para corresponder à política correta, o ISE usa a versão do SO do dispositivo (presente na solicitação) e o valor de ID da sessão para selecionar outros atributos necessários (grupos AD/LDAP). O valor de ID da sessão também é enviado pelo cliente.
Etapa 27. Nesta etapa, o cliente envolve chamadas OPSWAT e outros mecanismos para verificar os requisitos de postura. O relatório final com a lista de requisitos e seu status são enviados ao ISE. O ISE precisa tomar a decisão final sobre o status de conformidade do endpoint. Se o ponto de extremidade estiver marcado como não compatível nesta etapa, um conjunto de ações de correção será retornado. Para o endpoint em conformidade, o ISE grava o status de conformidade na sessão e também coloca o último carimbo de data/hora de postura nos atributos do endpoint se o Posture Lease estiver configurado. O resultado da postura é enviado de volta ao endpoint. No caso de Reavaliação de postura (PRA), o tempo para PRA também é colocado pelo ISE nesse pacote.
Em um cenário não compatível, leve em conta estes pontos:
Observação: quando o produto de segurança tiver que se comunicar com recursos externos (servidores de Atualização Interna/Externa), você deve garantir que essa comunicação seja permitida em Redirect-ACL/DACL.
Etapa 28.O ISE envia uma solicitação COA ao NAD que deve disparar uma nova autenticação para o usuário. A NAD deve confirmar esta solicitação pelo COA ACK. Tenha em mente que, para os casos de VPN, o envio de COA é usado, portanto, nenhuma nova solicitação de autenticação é enviada. Em vez disso, o ASA remove parâmetros de autorização anteriores (URL de redirecionamento, ACL de redirecionamento e DACL) da sessão e aplica novos parâmetros da solicitação COA.
Etapa 29.Nova solicitação de autenticação para o usuário.
Considerações importantes:
Etapa 30. Uma nova política de autorização é selecionada no lado do ISE com base no status da postura.
Etapa 31. Access-Accept com novos atributos de autorização é enviado ao NAD.
O próximo fluxo descreve o cenário quando a URL de redirecionamento não é recuperada (marcada com a letra b) por qualquer sonda de postura e o PSN conectado anteriormente foi consultado pela última sonda. Todos os passos aqui são exatamente os mesmos do caso com o URL de redirecionamento, exceto a repetição que é retornada pela PSN como resultado da Sonda 4. Se esse teste foi aterrado no mesmo PSN que é um proprietário da sessão de autenticação atual, a reprodução conterá o valor de ID da sessão que será usado mais tarde pelo agente de postura para concluir o processo. Caso o headend conectado anteriormente não seja o mesmo que o proprietário da sessão atual, a pesquisa de sessão falha e uma resposta vazia é retornada ao módulo de postura do ISE AC. Como resultado final, a No Policy Server Detected
é retornada ao usuário final.
Figura 1-5
O ISE 2.2 oferece suporte a estilos antigos e novos simultaneamente. Esta é a explicação detalhada para o novo fluxo:
Figura 2-1
Etapa 1.A autenticação é a primeira etapa do fluxo. Pode ser dot1x, MAB ou VPN.
Etapa 2.O ISE deve escolher a política de autenticação e autorização para o usuário. Em postura, o cenário escolhido para a política de autorização deve conter uma referência ao status da postura, que inicialmente deve ser desconhecido ou não aplicável. Para cobrir estes dois casos, podem ser utilizadas condições com um estado de postura que permita uma conformidade desigual. Para uma postura sem redirecionamento, não há necessidade de usar qualquer configuração de Redirecionamento da Web no perfil de autorização. Você ainda pode considerar o uso de uma DACL ou de uma ACL de espaço aéreo para limitar o acesso do usuário no estágio em que o status da postura não está disponível.
Etapa 3.O ISE retorna Access-Accept com atributos de autorização.
Etapa 4. Se o nome da DACL for retornado em Access-Accept, o NAD iniciará o download do conteúdo da DACL e aplicará o perfil de autorização à sessão após sua obtenção.
Etapa 5. A nova abordagem pressupõe que o redirecionamento não é possível, portanto, o usuário deve inserir o FQDN do portal de provisionamento do cliente manualmente. O FQDN do portal CPP deve ser definido na configuração do portal no lado do ISE. Da perspectiva do servidor DNS, o registro A deve apontar para o servidor ISE com a função PSN habilitada.
Etapa 6. O cliente envia HTTP para chegar ao FQDN do portal de provisionamento do cliente, essa solicitação é analisada no lado do ISE e a URL completa do portal é retornada de volta ao cliente.
Figura 2-2
Etapa 7.A conexão SSL na porta recebida no URL de redirecionamento está estabelecida (padrão 8443). Esta conexão é protegida por um certificado de portal do lado do ISE. O Client Provisioning Portal (CPP) é apresentado ao usuário.
Etapa 8. Nesta etapa, dois eventos ocorrem no ISE:
Observação: a sessão é recuperada com base em uma correspondência entre o IP de origem no pacote e o endereço IP com quadro na sessão. O endereço IP enquadrado é normalmente recuperado pelo ISE a partir das atualizações de contabilização provisórias, portanto, é necessário ter a contabilização habilitada no lado NAD. Além disso, você deve lembrar que o SSO só é possível no nó que possui a sessão. Se, por exemplo, a sessão for autenticada no PSN 1, mas o próprio FQDN apontar para o PSN2, o mecanismo SSO falhará.
Observação: devido ao bug da Cisco ID CSCvd11574, você pode ver um erro no momento da seleção da política de provisionamento do cliente para os casos não-SSO quando o usuário externo é membro de vários grupos AD/LDAP adicionados na configuração do armazenamento de identidade externo. O defeito mencionado é fixo que começa no ISE 2.3 FCS e a correção requer o uso de CONTAINS em condição com o grupo AD em vez de EQUAL.
Etapa 9. Após a seleção da política de provisionamento do cliente, o ISE exibe a URL de download do agente para o usuário. Depois de clicar no NSA de download, o aplicativo é enviado para o usuário. O nome de arquivo NSA contém o FQDN do portal CPP.
Etapa 10. Nesta etapa, o NSA executa testes para estabelecer uma conexão com o ISE. Dois testes são clássicos, e o terceiro é projetado para permitir a descoberta do ISE em ambientes sem redirecionamento de url.
enroll.cisco.com
. Este FQDN deve ser resolvível com êxito pelo servidor DNS. Em um cenário de VPN com um túnel dividido, o tráfego para enroll.cisco.com
deve ser roteado através do túnel.
Etapa 11. A NSA faz o download do Anyconnect e/ou de módulos específicos. O processo de download é feito pela porta do portal de provisionamento do cliente.
Figura 2-3
Etapa 12. No ISE 2.2, o processo de postura é dividido em duas etapas. O primeiro estágio contém um conjunto de testes de descoberta de postura tradicional para suportar compatibilidade retroativa com implantações que dependem do redirecionamento de url.
Etapa 13. O primeiro estágio contém todas as sondas tradicionais de descoberta de postura. Para obter mais detalhes sobre os testadores, reveja a Etapa 20. no fluxo de postura anterior ao ISE 2.2.
Etapa 14.O estágio dois contém dois testes de detecção que permitem que o módulo de postura do ISE AC estabeleça uma conexão com a PSN, onde a sessão é autenticada em ambientes onde o redirecionamento não é suportado. Durante o estágio dois, todos os testes são sequenciais.
ISEPostureCFG.xml
, este arquivo pode ser encontrado na pasta - C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\ISE Posture\
./auth/ng-discovery
requisição. Ele também contém a lista de IPs e MACs do cliente. Depois que essa mensagem é recebida pela sessão PSN, uma pesquisa é feita localmente pela primeira vez (essa pesquisa usa IPs e MACs da solicitação enviada pelo módulo de postura AC ISE). Se a sessão não for encontrada, o PSN iniciará uma consulta de nó MNT. Essa solicitação contém apenas a lista de MACs; como resultado, o FQDN do proprietário deve ser obtido do MNT. Depois disso, a PSN retorna o FQDN dos proprietários ao cliente. A próxima solicitação do cliente é enviada ao FQDN do proprietário da sessão com autenticação/status na URL e lista de IPs e MACs.ConnectionData.xml
. Esse arquivo pode ser encontrado em C:\Users\
\AppData\Local\Cisco\Cisco AnyConnect Secure Mobility Client\
. O módulo de postura AC ISE cria esse arquivo após a primeira tentativa de postura. O arquivo contém uma lista de FQDNs de PSNs do ISE. O conteúdo da lista pode ser atualizado dinamicamente durante as próximas tentativas de conexão. O objetivo final desta sonda é obter o FQDN do proprietário da sessão atual. A implementação é idêntica à Sonda 1. com a única diferença na seleção do destino da sonda.Etapa 15. Depois que as informações sobre o proprietário da sessão são obtidas, todas as etapas subsequentes são idênticas ao fluxo anterior ao ISE 2.2.
Para este documento, o ASAv é usado como um dispositivo de acesso à rede. Todos os testes são realizados com postura sobre VPN. A configuração do ASA para postura sobre suporte VPN está fora do escopo do documento. Para obter mais detalhes, consulte Exemplo de Configuração de Postura de VPN com ISE do ASA Versão 9.2.1.
Observação: para a implantação com usuários de VPN, a configuração recomendada é a postura baseada em redirecionamento. A configuração de callhomelist não é recomendada. Para todos os usuários não baseados em vpn, assegure-se de que a DACL seja aplicada de modo que eles não se comuniquem com a PSN onde a postura é configurada.
Figura 3-1
Essa topologia é usada em testes. Com o ASA, é possível simular facilmente o cenário quando o mecanismo SSO para o portal de provisionamento do cliente falha no lado PSN, devido ao recurso NAT. No caso de um fluxo de postura regular sobre VPN, o SSO deve funcionar bem, já que o NAT normalmente não é aplicado para IPs de VPN quando os usuários entram na rede corporativa.
Estas são as etapas para preparar a configuração do Anyconnect.
Etapa 1. Download do pacote do Anyconnect. O pacote do Anyconnect não está disponível para download direto do ISE, portanto, antes de começar, verifique se o AC está disponível em seu PC. Este link pode ser usado para download AC - https://www.cisco.com/site/us/en/products/security/secure-client/index.html. Neste documento, anyconnect-win-4.4.00243-webdeploy-k9.pkg
pacote é usado.
Etapa 2. Para carregar o pacote AC no ISE, navegue até Policy > Policy Elements > Results > Client Provisioning > Resources
e clique em Add
. Escolha Recursos do agente no disco local. Na nova janela, escolha Cisco Provided Packages
, clique em browse
e escolha o encapsulamento AC no seu PC.
Figura 3-2
Clique em Submit
para concluir a importação.
Etapa 3. O módulo de conformidade deve ser carregado no ISE. Na mesma página, clique em Add
e escolha a opção Agent resources from Cisco site
. Na lista de recursos, você deve verificar um módulo de conformidade. Para este documento, o AnyConnectComplianceModuleWindows 4.2.508.0
é usado o módulo de conformidade.
Etapa 4. Agora o perfil de postura AC deve ser criado. Clique em Add
e escolha a opção NAC agent or Anyconnect posture profile
.
Figura 3-3
Posture Protocol
do perfil.Figura 3-4
Server Name Rules
, este campo não pode estar vazio. O campo pode conter FQDN com caractere curinga que restringe a conexão do módulo de postura AC ISE a PSNs do namespace apropriado. Coloque uma estrela se for necessário permitir qualquer FQDN.Observação: lembre-se de que a presença de endereços Call home é essencial para PCs multiusuário. Revise a Etapa 14. em Fluxo de postura pós-ISE 2.2.
Etapa 5.Criar uma configuração de CA. Navegue até Policy > Policy Elements > Results > Client Provisioning > Resources
, clicar Add
, em seguida escolha AnyConnect Configuration
.
Figura 3-5
Etapa 6. Configure a política de provisionamento do cliente. Navegue até Policy > Client Provisioning
. No caso da configuração inicial, você pode preencher valores vazios na política apresentada com padrões. Se precisar adicionar uma política à configuração de postura existente, navegue até a política que pode ser reutilizada e escolha Duplicate Above
or Duplicate Below
. Também é possível criar uma política totalmente nova.
Este é um exemplo da política usada no documento.
Figura 3-6
Escolha sua configuração AC na seção de resultados. Lembre-se de que, em caso de falha do SSO, o ISE pode ter apenas atributos do login ao portal. Esses atributos são limitados a informações que podem ser recuperadas sobre usuários de repositórios de identidades internos e externos. Neste documento, o grupo do AD é usado como uma condição na política de Provisionamento de clientes.
Uma simples verificação de postura é usada. O ISE é configurado para verificar o status do serviço do Windows Defender no lado do dispositivo final. Os cenários reais podem ser muito mais complicados, mas as etapas gerais de configuração são as mesmas.
Etapa 1. Criar condição de postura. As condições de postura estão localizadas em Policy > Policy Elements > Conditions > Posture
. Escolha o tipo de condição de postura. Este é um exemplo de uma condição de serviço que deve verificar se o serviço Windows Defender está em execução.
Figura 3-7
Etapa 2.Configuração dos requisitos de postura. Navegue até Policy > Policy Elements > Results > Posture > Requirements
. Este é um exemplo de uma verificação do Windows Defender:
Figura 3-8
Escolha sua condição de postura no novo requisito e especifique uma ação corretiva.
Etapa 3. Configuração de política de postura. Navegue até Policy > Posture
. Aqui, você pode encontrar um exemplo da política usada para este documento. A política tem o requisito do Windows Defender atribuído como obrigatório e contém apenas o nome do grupo AD externo como uma condição.
Figura 3-9
Para postura sem redirecionamento, a configuração do portal de provisionamento do cliente deve ser editada. Navegue até Administration > Device Portal Management > Client Provisioning
.Você pode usar o portal padrão ou criar o seu próprio. O mesmo portal pode ser usado para ambas as posturas com e sem redirecionamento.
Figura 3-10
Essas configurações devem ser editadas na configuração do portal para o cenário de não redirecionamento:
O acesso inicial para clientes quando o status da postura não estiver disponível deve ser restrito. Isso pode ser obtido de várias maneiras:
Etapa 1. Configure a DACL. Como este exemplo é baseado no ASA, um NAD DACL pode ser usado. Para cenários reais, você deve considerar VLAN ou ID de filtro como opções possíveis.
Para criar DACL, navegue até Policy > Policy Elements > Results > Authorization > Downloadable ACLs
e clique em Add
.
Durante o estado de postura desconhecida, pelo menos estas permissões devem ser fornecidas:
Este é um exemplo de DACL sem servidores de remediação:
Figura 3-11
Etapa 2. Configure o perfil de autorização.
Como de costume, são necessários dois perfis de autorização para a postura. O primeiro deve conter qualquer tipo de restrição de acesso à rede (perfil com DACL usado neste exemplo). Esse perfil pode ser aplicado às autenticações para as quais o status de postura não é igual a compatível. O segundo perfil de autorização pode conter apenas permissão de acesso e pode ser aplicado a sessões com status de postura igual à conformidade.
Para criar um perfil de autorização, navegue até Policy > Policy Elements > Results > Authorization > Authorization Profiles
.
Exemplo do perfil de acesso restrito:
Figura 3-12
Neste exemplo, o perfil padrão do ISE PermitAccess é usado para a sessão após uma verificação de status de postura bem-sucedida.
Etapa 3. Configure a política de autorização. Durante essa etapa, duas políticas de autorização devem ser criadas. Uma é corresponder a solicitação de autenticação inicial com status de postura desconhecido e a segunda é atribuir acesso total após um processo de postura bem-sucedido.
Este é um exemplo de políticas de autorização simples para este caso:
Figura 3-13
A configuração da política de Autenticação não faz parte deste documento, mas você deve ter em mente que, antes do processamento da política de autorização, a autenticação bem-sucedida deve ocorrer.
A verificação básica do caudal pode consistir em três etapas principais:
Etapa 1. Verificação do fluxo de autenticação.
Figura 4-1
Como o ASA é usado como um NAD para este exemplo, você não pode ver nenhuma solicitação de autenticação subsequente para o usuário. Isso acontece porque o ISE usa o push de COA para o ASA, o que evita a interrupção do serviço de VPN. Nesse cenário, o próprio COA contém novos parâmetros de autorização, portanto a reautenticação não é necessária.
Etapa 2.Verificação da seleção da política de provisionamento do cliente - Para isso, você pode executar um relatório no ISE que pode ajudá-lo a entender quais políticas de provisionamento do cliente foram aplicadas ao usuário.
Navegue até Operations > Reports Endpoint and Users > Client Provisioning
e executar o relatório para a data necessária.
Figura 4-2
Com esse relatório, você pode verificar qual política de provisionamento de cliente foi selecionada. Além disso, em caso de falha, os motivos devem ser apresentados no Failure Reason
coluna.
Etapa 3.Verificação do relatório de postura - Navegue até Operations > Reports Endpoint and Users > Posture Assessment by Endpoint
.
Figura 4-3
Você pode abrir um relatório detalhado aqui para cada evento específico para verificar, por exemplo, a qual ID de sessão este relatório pertence, quais requisitos de postura exatos foram selecionados pelo ISE para o endpoint e o status de cada requisito.
Para a solução de problemas de processos de postura, esses componentes do ISE devem ser ativados para depuração nos nós do ISE onde o processo de postura pode ocorrer:
client-webapp
- O componente responsável pelo provisionamento do agente. Arquivos de log de destino guest.log
e ise-psc.log
.guestacess
- O componente responsável pelo componente do portal de provisionamento do cliente e pela pesquisa do proprietário da sessão (quando a solicitação chega ao PSN incorreto). Arquivo de log de destino - guest.log
.provisioning
- O componente responsável pelo processamento da política de provisionamento do cliente. Arquivo de log de destino - guest.log
.posture
- Todos os eventos relacionados à postura. Arquivo de log de destino - ise-psc.log
.
Para a solução de problemas do lado do cliente, você pode usar estes:
acisensa.log
-Em caso de falha de provisionamento do cliente no lado do cliente, esse arquivo é criado na mesma pasta para a qual o NSA foi baixado (faz downloads do diretório do Windows normalmente).AnyConnect_ISEPosture.txt
- Esse arquivo pode ser encontrado no pacote DART no diretório Cisco AnyConnect ISE Posture Module
. Todas as informações sobre a descoberta de PSN do ISE e as etapas gerais do fluxo de postura são registradas nesse arquivo.No caso de um SSO bem-sucedido, você poderá ver essas mensagens no ise-psc.log
, este conjunto de mensagens indica que a pesquisa de sessão foi concluída com êxito e que a autenticação no portal pode ser ignorada.
2016-11-09 15:07:35,951 DEBUG [http-bio-10.48.30.40-8443-exec-12][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for Radius session with input values : sessionId: null, MacAddr: null, ipAddr: 10.62.145.121
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for session using session ID: null, IP addrs: [10.62.145.121], mac Addrs [null]
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for session using IP 10.62.145.121
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- nasPortType = 5
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- nasPortType equal to 5 ( 5 is virtual NAS_PORT_TYPE for VPN ). Found a VPN session null using ip address 10.62.145.121
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- Found session c0a801010002600058232bb8 using ipAddr 10.62.145.121
Janela de texto 5-1
Você pode usar o endereço IP do ponto final como uma chave de pesquisa para encontrar essa informação.
Um pouco mais tarde, no log de convidado, você deve ver que a autenticação foi ignorada:
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] guestaccess.flowmanager.step.cp.CPInitStepExecutor -::- SessionInfo is not null and session AUTH_STATUS = 1
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] com.cisco.ise.portalSessionManager.PortalSession -::- Putting data in PortalSession with key and value: Radius.Session c0a801010002600058232bb8
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] com.cisco.ise.portalSessionManager.PortalSession -::- Putting data in PortalSession with key : Radius.Session
2016-11-09 15:07:35,989 DEBUG [http-bio-10.48.30.40-8443-exec-12][] guestaccess.flowmanager.step.cp.CPInitStepExecutor -::- Login step will be skipped, as the session =c0a801010002600058232bb8 already established for mac address null , clientIPAddress 10.62.145.121
2016-11-09 15:07:36,066 DEBUG [http-bio-10.48.30.40-8443-exec-12][] cpm.guestaccess.flowmanager.processor.PortalFlowProcessor -::- After executeStepAction(INIT), returned Enum: SKIP_LOGIN_PROCEED
Janela de texto 5-2
Caso a COS não funcione, a ise-psc log
arquivo contém informações sobre falha de pesquisa de sessão:
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for Radius session with input values : sessionId: null, MacAddr: null, ipAddr: 10.62.145.44
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for session using session ID: null, IP addrs: [10.62.145.44], mac Addrs [null]
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for session using IP 10.62.145.44
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- nasPortType = null
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- nasPortType == null or is not a virtual NAS_PORT_TYPE ( 5 ).
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- No Radius session found
Janela de texto 5-3
No guest.log
nesse caso, você deve ver a autenticação de usuário completa no portal:
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cpm.guestaccess.flowmanager.step.StepExecutor -::- Find Next Step=LOGIN
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cpm.guestaccess.flowmanager.step.StepExecutor -::- Step : LOGIN will be visible!
2017-02-23 17:59:00,779 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cpm.guestaccess.flowmanager.step.StepExecutor -::- Returning next step =LOGIN
2017-02-23 17:59:00,780 INFO [http-bio-10.48.17.249-8443-exec-2][] cpm.guestaccess.flowmanager.step.StepExecutor -::- Radius Session ID is not set, assuming in dry-run mode
Janela de texto 5-4
Em caso de falhas de autenticação no portal, você deve se concentrar na verificação da configuração do portal - Que armazenamento de identidade está em uso? Quais grupos estão autorizados a fazer login?
Em caso de falhas nas políticas de provisionamento do cliente ou de processamento incorreto da política, você pode verificar o guest.log
para obter mais detalhes:
2017-02-23 17:59:07,080 DEBUG [http-bio-10.48.17.249-8443-exec-2][] guestaccess.flowmanager.step.guest.ClientProvStepExecutor -:user1:- In Client Prov : userAgent =Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0, radiusSessionID=null, idGroupName=S-1-5-21-70538695-790656579-4293929702-513, userName=user1, isInUnitTestMode=false
2017-02-23 17:59:07,080 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cpm.guestaccess.common.utils.OSMapper -:user1:- UserAgent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
2017-02-23 17:59:07,080 DEBUG [http-bio-10.48.17.249-8443-exec-2][] cpm.guestaccess.common.utils.OSMapper -:user1:- Client OS: Windows 7 (All)
2017-02-23 17:59:07,080 DEBUG [http-bio-10.48.17.249-8443-exec-2][] guestaccess.flowmanager.step.guest.ClientProvStepExecutor -:user1:- Retrieved OS=Windows 7 (All)
2017-02-23 17:59:07,080 DEBUG [http-bio-10.48.17.249-8443-exec-2][] guestaccess.flowmanager.step.guest.ClientProvStepExecutor -:user1:- Updating the idGroupName to NAC Group:NAC:IdentityGroups:S-1-5-21-70538695-790656579-4293929702-513
2017-02-23 17:59:07,080 DEBUG [http-bio-10.48.17.249-8443-exec-2][] guestaccess.flowmanager.step.guest.ClientProvStepExecutor -:user1:- User Agent/Radius Session is empty or in UnitTestMode
2017-02-23 17:59:07,080 DEBUG [http-bio-10.48.17.249-8443-exec-2][] guestaccess.flowmanager.step.guest.ClientProvStepExecutor -:user1:- Calling getMatchedPolicyWithNoRedirection for user=user1
2017-02-23 17:59:07,505 DEBUG [http-bio-10.48.17.249-8443-exec-2][] guestaccess.flowmanager.step.guest.ClientProvStepExecutor -:user1:- CP Policy Status =SUCCESS, needToDoVlan=false, CoaAction=NO_COA
Janela de texto 5-5
Na primeira string, você pode ver como as informações sobre a sessão são injetadas no mecanismo de seleção de política; no caso de nenhuma correspondência de política ou correspondência de política incorreta, você pode comparar atributos daqui com a configuração da política de provisionamento do cliente. A última string indica o status de seleção da política.
No lado do cliente, você deve estar interessado na investigação das sondas e seus resultados. Este é um exemplo de um teste de estágio 1 bem-sucedido:
******************************************
Date : 02/23/2017
Time : 17:59:57
Type : Unknown
Source : acise
Description : Function: Target::Probe
Thread Id: 0x4F8
File: SwiftHttpRunner.cpp
Line: 1415
Level: debug
PSN probe skuchere-ise22-cpp.example.com with path /auth/status, status is -1..
******************************************
Janela de texto 5-6
Nesse estágio, a PSN retorna às informações de CA sobre o proprietário da sessão. Você pode ver estas duas mensagens mais tarde:
******************************************
Date : 02/23/2017
Time : 17:59:58
Type : Unknown
Source : acise
Description : Function: Target::probeRecentConnectedHeadEnd
Thread Id: 0xBE4
File: SwiftHttpRunner.cpp
Line: 1674
Level: debug
Target skuchere-ise22-2.example.com, posture status is Unknown..
******************************************
Janela de texto 5-7
Os proprietários de sessão devolvem ao agente todas as informações necessárias:
******************************************
Date : 02/23/2017
Time : 17:59:58
Type : Unknown
Source : acise
Description : Function: SwiftHttpRunner::invokePosture
Thread Id: 0xFCC
File: SwiftHttpRunner.cpp
Line: 1339
Level: debug
MSG_NS_SWISS_NEW_SESSION, <?xml version="1.0" ?>
<root>
<IP></IP>
<FQDN>skuchere-ise22-2.example.com</FQDN>
<PostureDomain>posture_domain</PostureDomain>
<sessionId>c0a801010009e00058af0f7b</sessionId>
<configUri>/auth/anyconnect?uuid=106a93c0-9f71-471c-ac6c-a2f935d51a36</configUri>
<AcPackUri>/auth/provisioning/download/81d12d4b-ff58-41a3-84db-5d7c73d08304</AcPackUri>
<AcPackPort>8443</AcPackPort>
<AcPackVer>4.4.243.0</AcPackVer>
<PostureStatus>Unknown</PostureStatus>
<PosturePort>8443</PosturePort>
<PosturePath>/auth/perfigo_validate.jsp</PosturePath>
<PRAConfig>0</PRAConfig>
<StatusPath>/auth/status</StatusPath>
<BackupServers>skuchere-ise22-1.example.com,skuchere-ise22-3.example.com</BackupServers>
</root>
.
******************************************
Janela de texto 5-8
Do lado da PSN, você pode se concentrar nessas mensagens no guest.log
quando você espera que a solicitação inicial que chega ao nó não seja proprietária da sessão:
2017-02-23 17:59:56,345 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Got http request from 10.62.145.44 user agent is: Mozilla/4.0 (compatible; WINDOWS; 1.2.1.6.1.48; AnyConnect Posture Agent v.4.4.00243)
2017-02-23 17:59:56,345 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- mac_list from http request ==> 00:0B:7F:D0:F8:F4,00:0B:7F:D0:F8:F4
2017-02-23 17:59:56,345 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- iplist from http request ==> 172.16.31.12,10.62.145.95
2017-02-23 17:59:56,345 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Session id from http request - req.getParameter(sessionId) ==> null
2017-02-23 17:59:56,345 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- the input ipAddress from the list currently being processed in the for loop ==> 172.16.31.12
2017-02-23 17:59:56,345 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- the input ipAddress from the list currently being processed in the for loop ==> 10.62.145.95
2017-02-23 17:59:56,368 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Found Client IP null and corresponding mac address null
2017-02-23 17:59:56,369 ERROR [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- Session Info is null
2017-02-23 17:59:56,369 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Not able to find a session for input values - sessionId : null, Mac addresses : [00:0B:7F:D0:F8:F4, 00:0B:7F:D0:F8:F4], client Ip : [172.16.31.12, 10.62.145.95]
2017-02-23 17:59:56,369 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- clientMac is null/ empty, will go over the mac list to query MNT for active session
2017-02-23 17:59:56,369 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Performing MNT look up for macAddress ==> 00-0B-7F-D0-F8-F4
2017-02-23 17:59:56,539 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Performed MNT lookup, found session 0 with session id c0a801010009e00058af0f7b
2017-02-23 17:59:56,539 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- getting NIC name for skuchere-ise22-cpp.example.com
2017-02-23 17:59:56,541 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- local interface 0 addr 10.48.17.249 name eth0
2017-02-23 17:59:56,541 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- Nic name for local host: skuchere-ise22-cpp.example.com is: eth0
2017-02-23 17:59:56,541 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- getting host FQDN or IP for host skuchere-ise22-2 NIC name eth0
2017-02-23 17:59:56,545 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- hostFQDNOrIP for host skuchere-ise22-2 nic eth0 is skuchere-ise22-2.example.com
2017-02-23 17:59:56,545 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- PDP with session of 00-0B-7F-D0-F8-F4 is skuchere-ise22-2, FQDN/IP is: skuchere-ise22-2.example.com
2017-02-23 17:59:56,545 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Redirecting the request to new URL: https://skuchere-ise22-2.example.com:8443/auth/status
2017-02-23 17:59:56,545 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cisco.cpm.client.posture.NextGenDiscoveryServlet -::- Session info is null. Sent an http response to 10.62.145.44.
2017-02-23 17:59:56,545 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-PDP-WITH-SESSION value is skuchere-ise22-2.example.com
2017-02-23 17:59:56,545 DEBUG [http-bio-10.48.17.249-8443-exec-10][] cpm.client.provisioning.utils.ProvisioningUtil -::- header Location value is https://skuchere-ise22-2.example.com:8443/auth/status
Janela de texto 5-9
Aqui você pode ver que o PSN primeiro tenta localizar uma sessão localmente e, após a falha, inicia uma solicitação ao MNT com o uso da lista de IPs e MACs para localizar o proprietário da sessão.
Um pouco mais tarde, você deverá ver uma solicitação do cliente na PSN correta:
2017-02-23 17:59:56,790 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for session using session ID: null, IP addrs: [172.16.31.12, 10.62.145.95], mac Addrs [00:0B:7F:D0:F8:F4, 00:0B:7F:D0:F8:F4]
2017-02-23 17:59:56,790 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for session using IP 172.16.31.12
2017-02-23 17:59:56,791 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- nasPortType = 5
2017-02-23 17:59:56,792 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- nasPortType equal to 5 ( 5 is virtual NAS_PORT_TYPE for VPN ). Found a VPN session null using ip address 172.16.31.12
2017-02-23 17:59:56,792 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- Found session c0a801010009e00058af0f7b using ipAddr 172.16.31.12
Janela de texto 5-10
Como próxima etapa, o PSN realiza a consulta da política de provisionamento do cliente para esta sessão:
2017-02-23 17:59:56,793 DEBUG [http-bio-10.48.30.41-8443-exec-8][] com.cisco.cpm.swiss.SwissServer -::::- null or empty value for hostport obtained from SwissServer : getHostNameBySession()
2017-02-23 17:59:56,793 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for Radius session with input values : sessionId: c0a801010009e00058af0f7b, MacAddr: 00-0b-7f-d0-f8-f4, ipAddr: 172.16.31.12
2017-02-23 17:59:56,793 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- looking for session using session ID: c0a801010009e00058af0f7b, IP addrs: [172.16.31.12], mac Addrs [00-0b-7f-d0-f8-f4]
2017-02-23 17:59:56,793 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureRuntimeFactory -::::- Found session using sessionId c0a801010009e00058af0f7b
2017-02-23 17:59:56,795 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -::::- User user1 belongs to groups NAC Group:NAC:IdentityGroups:Endpoint Identity Groups:Profiled:Workstation,NAC Group:NAC:IdentityGroups:Any
2017-02-23 17:59:58,203 DEBUG [http-bio-10.48.30.41-8443-exec-8][] com.cisco.cpm.swiss.SwissServer -::::- null or empty value for hostport obtained from SwissServer : getHPortNumberBySession()
2017-02-23 17:59:58,907 DEBUG [http-bio-10.48.30.41-8443-exec-10][] cisco.cpm.posture.util.AgentUtil -::::- Increase MnT counter at CP:ClientProvisioning.ProvisionedResource.AC-44-Posture
Janela de texto 5-11
Na próxima etapa, você pode ver o processo de seleção de requisitos de postura. No final da etapa, uma lista de requisitos é preparada e retornada ao agente:
2017-02-23 18:00:00,372 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureHandlerImpl -:user1:::- About to query posture policy for user user1 with endpoint mac 00-0b-7f-d0-f8-f4
2017-02-23 18:00:00,423 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureManager -:user1:::- agentCMVersion=4.2.508.0, agentType=AnyConnect Posture Agent, groupName=OESIS_V4_Agents -> found agent group with displayName=4.x or later
2017-02-23 18:00:00,423 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- User user1 belongs to groups NAC Group:NAC:IdentityGroups:Endpoint Identity Groups:Profiled:Workstation,NAC Group:NAC:IdentityGroups:Any
2017-02-23 18:00:00,423 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- About to retrieve posture policy resources for os 7 Professional, agent group 4.x or later and identity groups [NAC Group:NAC:IdentityGroups:Endpoint Identity Groups:Profiled:Workstation, NAC Group:NAC:IdentityGroups:Any]
2017-02-23 18:00:00,432 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- Evaluate resourceId NAC Group:NAC:Posture:PosturePolicies:WinDefend by agent group with FQN NAC Group:NAC:AgentGroupRoot:ALL:OESIS_V4_Agents
2017-02-23 18:00:00,433 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- The evaluation result by agent group for resourceId NAC Group:NAC:Posture:PosturePolicies:WinDefend is Permit
2017-02-23 18:00:00,433 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- Evaluate resourceId NAC Group:NAC:Posture:PosturePolicies:WinDefend by OS group with FQN NAC Group:NAC:OsGroupRoot:ALL:WINDOWS_ALL:WINDOWS_7_ALL:WINDOWS_7_PROFESSIONAL_ALL
2017-02-23 18:00:00,438 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- stealth mode is 0
2017-02-23 18:00:00,438 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- The evaluation result by os group for resourceId NAC Group:NAC:Posture:PosturePolicies:WinDefend is Permit
2017-02-23 18:00:00,438 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- Evaluate resourceId NAC Group:NAC:Posture:PosturePolicies:WinDefend by Stealth mode NSF group with FQN NAC Group:NAC:StealthModeStandard
2017-02-23 18:00:00,439 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- Procesing obligation with posture policy resource with id NAC Group:NAC:Posture:PosturePolicies:WinDefend
2017-02-23 18:00:00,439 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- Found obligation id urn:cisco:cepm:3.3:xacml:response-qualifier for posture policy resource with id NAC Group:NAC:Posture:PosturePolicies:WinDefend
2017-02-23 18:00:00,439 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- Found obligation id PostureReqs for posture policy resource with id NAC Group:NAC:Posture:PosturePolicies:WinDefend
2017-02-23 18:00:00,439 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PosturePolicyUtil -:user1:::- Posture policy resource id WinDefend has following associated requirements []
2017-02-23 18:00:03,884 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cpm.posture.runtime.agent.AgentXmlGenerator -:user1:::- policy enforcemnt is 0
2017-02-23 18:00:03,904 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cpm.posture.runtime.agent.AgentXmlGenerator -:user1:::- simple condition: [Name=WinDefend, Descriptionnull, Service Name=WinDefend, Service Operator=Running, Operating Systems=[Windows All], Service Type=Daemon, Exit code=0]
2017-02-23 18:00:03,904 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cpm.posture.runtime.agent.AgentXmlGenerator -:user1:::- check type is Service
2017-02-23 18:00:04,069 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureHandlerImpl -:user1:::- NAC agent xml <?xml version="1.0" encoding="UTF-8"?><cleanmachines>
<version>ISE: 2.2.0.470</version>
<encryption>0</encryption>
<package>
<id>10</id>
WinDefend
Enable WinDefend
3
0
3
WinDefend
3
301
WinDefend
running
(WinDefend)
</package>
</cleanmachines>
Janela de texto 5-12
Mais tarde, você pode ver que o relatório de postura foi recebido pela PSN:
2017-02-23 18:00:04,231 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureHandlerImpl -::::- UDID is 8afb76ad11e60531de1d3e7d2345dbba5f11a96d for end point 00-0b-7f-d0-f8-f4
2017-02-23 18:00:04,231 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureHandlerImpl -::::- Received posture request [parameters: reqtype=report, userip=10.62.145.44, clientmac=00-0b-7f-d0-f8-f4, os=WINDOWS, osVerison=1.2.1.6.1.48, architecture=9, provider=Device Filter, state=, userAgent=Mozilla/4.0 (compatible; WINDOWS; 1.2.1.6.1.48; AnyConnect Posture Agent v.4.4.00243), session_id=c0a801010009e00058af0f7b
Janela de texto 5-13
No final do fluxo, o ISE marca o endpoint como compatível e inicia o COA:
2017-02-23 18:00:04,272 INFO [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureManager -:user1:::- Posture state is compliant for endpoint with mac 00-0b-7f-d0-f8-f4
2017-02-23 18:00:04,272 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureCoA -:user1:::- entering triggerPostureCoA for session c0a801010009e00058af0f7b
2017-02-23 18:00:04,272 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureCoA -:user1:::- Posture CoA is scheduled for session id [c0a801010009e00058af0f7b]
2017-02-23 18:00:04,272 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureCoA -:user1:::- Posture status for session id c0a801010009e00058af0f7b is Compliant
2017-02-23 18:00:04,273 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureCoA -:user1:::- Issue CoA on active session with sessionID c0a801010009e00058af0f7b
2017-02-23 18:00:04,273 DEBUG [http-bio-10.48.30.41-8443-exec-8][] cisco.cpm.posture.runtime.PostureCoA -:user1:::- Posture CoA is scheduled for session id [c0a801010009e00058af0f7b]
Janela de texto 5-14
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
24-Aug-2021 |
Versão inicial |