Introdução
Este documento descreve como configurar o Firepower Threat Defense (FTD) versão 6.4.0 para posicionar usuários de VPN contra o Identity Services Engine (ISE).
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- VPN de acesso remoto AnyConnect
- Configuração da VPN de acesso remoto no FTD
- Identity Services Engine e serviços de postura
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software:
- Software Cisco Firepower Threat Defense (FTD) versões 6.4.0
- Software Cisco Firepower Management Console (FMC) versão 6.5.0
- Microsoft Windows 10 com Cisco AnyConnect Secure Mobility Client versão 4.7
- Cisco Identity Services Engine (ISE) versão 2.6 com Patch 3
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.
Configurar
Diagrama de rede e fluxo de tráfego

1. O usuário remoto usa o Cisco Anyconnect para acesso VPN ao FTD.
2. O FTD envia uma Solicitação de Acesso RADIUS para esse usuário ao ISE.
3. Essa solicitação atinge a política chamada FTD-VPN-Posture-Unknown no ISE. O ISE envia um Access-Accept RADIUS com três atributos:
4. Se o DACL for enviado, RADIUS Access-Request/Access-Accept será trocado para baixar o conteúdo do DACL
5. Quando o tráfego do usuário da VPN corresponde à ACL definida localmente, ele é redirecionado para o ISE Client Provisioning Portal. O ISE provisiona o AnyConnect Posture Module e o Compliance Module.
6. Depois que o agente é instalado na máquina cliente, ele procura automaticamente pelo ISE com testes. Quando o ISE é detectado com êxito, os requisitos de postura são verificados no endpoint. Neste exemplo, o agente verifica se há algum software antimalware instalado. Em seguida, ele envia um relatório de postura ao ISE.
7. Quando o ISE recebe o relatório de postura do agente, ele altera o Status da postura para esta sessão e aciona o tipo de CoA RADIUS Enviar com novos atributos. Desta vez, o status da postura é conhecido e outra regra é atingida.
- Se o usuário for compatível, um nome de DACL que permita acesso total será enviado.
- Se o usuário não for compatível, um nome de DACL que permita acesso limitado será enviado.
8. O FTD remove o redirecionamento. O FTD envia a solicitação de acesso para baixar o DACL do ISE. O DACL específico é anexado à sessão VPN.
Configurações
FTD/FMC
Etapa 1. Crie um grupo de objetos de rede para o ISE e servidores de remediação (se houver). Navegue até Objetos > Gerenciamento de objetos > Rede.

Etapa 2. Criar ACL de redirecionamento. Navegue até Objetos > Gerenciamento de objetos > Lista de acesso > Estendido. Clique em Add Extended Access List e forneça o nome de Redirect ACL. Esse nome deve ser o mesmo do resultado de autorização do ISE.

Etapa 3. Adicionar entradas ACL de redirecionamento. Clique no botão Adicionar. Bloqueie o tráfego para DNS, ISE e para os servidores de remediação para excluí-los do redirecionamento. Permita o restante do tráfego, isso dispara o redirecionamento (as entradas de ACL podem ser mais específicas, se necessário).


Etapa 4. Adicionar nó/nós PSN do ISE. Navegue até Objetos > Gerenciamento de objetos > Grupo de servidores RADIUS. Clique em Add RADIUS Server Group, forneça o nome, ative todas as caixas de seleção e clique no ícone plus.

Etapa 5. Na janela aberta, forneça o endereço IP PSN do ISE, a chave RADIUS, selecione Specific Interface e selecione a interface a partir da qual o ISE pode ser alcançado (essa interface é usada como origem do tráfego RADIUS); em seguida, selecione Redirect ACL, que foi configurado anteriormente.

Etapa 6. Crie um pool de endereços para usuários VPN. Navegue até Objects > Object Management > Address Pools > IPv4 Pools. Clique em Add IPv4 Pools e preencha os detalhes.

Passo 7. Criar pacote AnyConnect. Navegue até Objetos > Gerenciamento de objetos > VPN > Arquivo AnyConnect. Clique em Add AnyConnect File, forneça o nome do pacote, faça o download do pacote em Cisco Software Download e selecione Anyconnect Client Image File Type.

Etapa 8. Navegue até Objetos de certificado > Gerenciamento de objetos > PKI > Registro de certificado. Clique em Add Cert Enrollment, forneça o nome, escolha Self Signed Certificate em Enrollment Type. Clique na guia Parâmetros do certificado e forneça CN.


Etapa 9. Inicie o assistente de VPN de acesso remoto. Navegue até Devices > VPN > Remote Access e clique em Add.

Etapa 10. Forneça o nome, marque SSL como VPN Protocol, escolha FTD que é usado como VPN concentrator e clique em Next.

Etapa 11. Forneça o nome do Perfil de Conexão, selecione Servidores de Autenticação/Contabilização, selecione o pool de endereços que foi configurado anteriormente e clique em Avançar.
Observação: não selecione o servidor de autorização. Ele aciona duas solicitações de acesso para um único usuário (uma vez com a senha do usuário e a segunda vez com a senha cisco).

Etapa 12. Selecione o pacote do AnyConnect que foi configurado anteriormente e clique em Avançar.

Etapa 13. Selecione a interface da qual o tráfego VPN é esperado, selecione Certificate Enrollment que foi configurado anteriormente e clique em Next.

Etapa 14. Verifique a página de resumo e clique em Finish.

Etapa 15. Implante a configuração no FTD. Clique em Deploy e selecione FTD que é usado como um concentrador de VPN.

ISE
Etapa 1. Execute atualizações de postura. Navegue até Administration > System > Settings > Posture > Updates.

Etapa 2. Upload Compliance Module (Módulo de conformidade de carregamento). Navegue até Policy > Policy Elements > Results > Client Provisioning > Resources. Clique em Adicionar e selecione Recursos do agente no site da Cisco

Etapa 3. Baixe o AnyConnect do download do software Cisco e carregue-o no ISE. Navegue até Policy > Policy Elements > Results > Client Provisioning > Resources.
Clique em Add e selecione Agent Resources From Local Disk. Escolha Cisco Provided Packages em Category, selecione o pacote do AnyConnect no disco local e clique em Submit.

Etapa 4. Criar perfil de postura do AnyConnect. Navegue até Policy > Policy Elements > Results > Client Provisioning > Resources.
Clique em Adicionar e selecione Perfil de postura do AnyConnect. Preencha o nome e o protocolo de postura.
Em *Server name rules, coloque * e coloque qualquer endereço IP fictício em Discovery host.


Etapa 5. Navegue para Policy > Policy Elements > Results > Client Provisioning > Resources e crie AnyConnect Configuration. Clique em Adicionar e selecione Configuração do AnyConnect. Selecione AnyConnect Package, forneça o nome da configuração, selecione Compliance Module, marque Diagnostic and Reporting Tool, selecione Posture Profile e clique em Save.

Etapa 6. Navegue até Policy > Client Provisioning e crie Client Provisioning Policy. Clique em Editar e selecione Inserir regra acima, forneça o nome, selecione SO e escolha Configuração do AnyConnect que foi criada na etapa anterior.

Passo 7. Crie uma condição de postura em Policy > Policy Elements > Conditions > Posture > Anti-Malware Condition. Neste exemplo, é usado o predefinido "ANY_am_win_inst".
.

Etapa 8. Navegue para Política > Elementos de política > Resultados > Postura > Ações de correção e crie Remediação de postura. Neste exemplo, ele é ignorado. A ação de correção pode ser uma mensagem de texto.
Etapa 9. Navegue para Política > Elementos de política > Resultados > Postura > Requisitos e crie Requisitos de postura. Requisito predefinido Any_AM_Installation_Win é usado.

Etapa 10. Crie políticas de postura em Policies > Posture. A política de postura padrão para qualquer verificação de antimalware para o sistema operacional Windows é usada.

Etapa 11. Navegue até Policy > Policy Elements > Results > Authorization > Downlodable ACLS e crie DACLs para diferentes status de postura.
Neste exemplo:
- Posture Unknown DACL - permite o tráfego para DNS, PSN e tráfego HTTP e HTTPS.
- Posture NonCompliant DACL - nega o acesso a sub-redes privadas e permite apenas o tráfego da Internet.
- Permit All DACL (Permitir todos os DACLs) - permite todo o tráfego para o Status de conformidade com a postura.



Etapa 12. Crie três perfis de autorização para os status Posture Unknown, Posture NonCompliant e Posture Compliant. Para fazer isso, navegue para Política > Elementos de política > Resultados > Autorização > Perfis de autorização. No perfil Posture Unknown, selecione Posture Unknown DACL, marque Web Redirection, selecione Client Provisioning, forneça o nome da ACL de redirecionamento (que está configurado no FTD) e selecione o portal.



No perfil Posture NonCompliant, selecione DACL para limitar o acesso à rede.


No perfil Posture Compliant, selecione DACL para permitir acesso total à rede.


Etapa 13. Crie políticas de autorização em Policy > Policy Sets > Default > Authorization Policy. Como condição, o Status da postura e o Nome do grupo de túneis VPN são usados.

Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
No ISE, a primeira etapa de verificação é o RADIUS Live Log. Navegue até Operations > RADIUS Live Log. Aqui, o usuário Alice está conectado e a política de autorização esperada está selecionada.

A política de autorização FTD-VPN-Posture-Unknown é correspondida e, como resultado, FTD-VPN-Profile é enviado para FTD.

Status de postura pendente.

A seção Resultado mostra quais atributos são enviados ao FTD.

No FTD, para verificar a conexão VPN, execute SSH para a caixa, execute system support diagnostic-cli e, em seguida, show vpn-sessiondb detail anyconnect. A partir dessa saída, verifique se os atributos enviados do ISE são aplicados a essa sessão VPN.
fyusifov-ftd-64# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : alice@training.example.com
Index : 12
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 15326 Bytes Rx : 13362
Pkts Tx : 10 Pkts Rx : 49
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : DfltGrpPolicy Tunnel Group : EmployeeVPN
Login Time : 07:13:30 UTC Mon Feb 3 2020
Duration : 0h:06m:43s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 000000000000c0005e37c81a
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 12.1
Public IP : 10.229.16.169
Encryption : none Hashing : none
TCP Src Port : 56491 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 23 Minutes
Client OS : win
Client OS Ver: 10.0.18363
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 12.2
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 56495
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 23 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 592
Pkts Tx : 5 Pkts Rx : 7
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PostureUnknown-5e37414d
DTLS-Tunnel:
Tunnel ID : 12.3
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Encryption : AES256 Hashing : SHA1
Ciphersuite : DHE-RSA-AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 59396
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 0 Bytes Rx : 12770
Pkts Tx : 0 Pkts Rx : 42
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PostureUnknown-5e37414d
ISE Posture:
Redirect URL : https://fyusifov-26-3.example.com:8443/portal/gateway?sessionId=000000000000c0005e37c81a&portal=27b1bc...
Redirect ACL : fyusifovredirect
fyusifov-ftd-64#
As políticas de provisionamento de clientes podem ser verificadas. Navegue até Operações > Relatórios > Pontos de extremidade e Usuários > Provisionamento de cliente.

O relatório de postura enviado do AnyConnect pode ser verificado. Navegue até Operations > Reports > Endpoints and Users > Posture Assessment by Endpoint.

Para ver mais detalhes sobre o relatório de postura, clique em Detalhes.



Depois que o relatório é recebido no ISE, o status da postura é atualizado. Neste exemplo, o status da postura está em conformidade e a Submissão de CoA é acionada com um novo conjunto de atributos.



Verifique no FTD se a nova ACL de redirecionamento e a URL de redirecionamento foram removidas da sessão VPN e se a DACL PermitAll foi aplicada.
fyusifov-ftd-64# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : alice@training.example.com
Index : 14
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 53990 Bytes Rx : 23808
Pkts Tx : 73 Pkts Rx : 120
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : DfltGrpPolicy Tunnel Group : EmployeeVPN
Login Time : 16:58:26 UTC Mon Feb 3 2020
Duration : 0h:02m:24s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 000000000000e0005e385132
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 14.1
Public IP : 10.55.218.19
Encryption : none Hashing : none
TCP Src Port : 51965 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : win
Client OS Ver: 10.0.18363
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 14.2
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 51970
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7715 Bytes Rx : 10157
Pkts Tx : 6 Pkts Rx : 33
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PermitAll-5e384dc0
DTLS-Tunnel:
Tunnel ID : 14.3
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Encryption : AES256 Hashing : SHA1
Ciphersuite : DHE-RSA-AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 51536
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 38612 Bytes Rx : 13651
Pkts Tx : 62 Pkts Rx : 87
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PermitAll-5e384dc0
fyusifov-ftd-64#
Troubleshooting
Esta seção disponibiliza informações para a solução de problemas de configuração.
Para um fluxo de postura detalhado e para solucionar problemas do AnyConnect e ISE, verifique este link: Comparação de estilo de postura do ISE para pré e pós 2.2.
Um dos problemas comuns, quando há um túnel de divisão, é configurado. Neste exemplo, a Política de grupo padrão é usada, o que faz o encapsulamento de todo o tráfego. Caso apenas o tráfego específico seja encapsulado, os testes do AnyConnect (enroll.cisco.com e host de descoberta) devem passar pelo túnel, além do tráfego para o ISE e outros recursos internos.
Para verificar a política de túnel no FMC, primeiro, verifique qual Política de Grupo é usada para a conexão VPN. Navegue até Devices > VPN Remote Access.

Em seguida, navegue para Objects > Object Management > VPN > Group Policy e clique em Group Policy configurado para VPN.

Outro problema comum, quando o tráfego de retorno dos usuários da VPN é convertido com o uso de entrada de NAT incorreta. Para corrigir esse problema, o NAT de identidade deve ser criado em uma ordem apropriada.
Primeiro, verifique as regras de NAT para este dispositivo. Navegue até Devices > NAT e clique em Add Rule para criar uma nova regra.

Na janela aberta, na guia Interface Objects, selecione Security Zones. Neste exemplo, a entrada NAT é criada de ZONE-INSIDE para ZONE-OUTSIDE.

Na guia Translation, selecione os detalhes do pacote original e traduzido. Como é o NAT de identidade, a origem e o destino são mantidos inalterados:

Na guia Advanced, marque as caixas de seleção como mostrado nesta imagem:
