Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Diagrama de Rede

Configurar

Autenticação e autorização de usuários com o banco de dados local

Exemplo: Configuração de download do perfil do AnyConnect

Desative o recurso AnyConnect Downloader (Somente para versões anteriores à 16.9.1).

Entrega de perfil XML do AnyConnect

Fluxo de comunicação

Intercâmbio de IKEv2 e EAP

Verificar

Troubleshooting

Introdução

Este documento descreve a configuração de um headend do FlexVPN para acesso por meio da autenticação IKEv2/EAP do Secure Client (AnyConnect) com um banco de dados de usuário local.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- protocolo IKEv2

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Cloud Services Router versão 16.9.2

- Cliente AnyConnect versão 4.6.03049 em execução no Windows 10

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.

Informações de Apoio

O AnyConnect-EAP, ou autenticação agregada, permite que um servidor FlexVPN autentique o cliente AnyConnect pelo método proprietário do AnyConnect-EAP da Cisco.

Diferentemente dos métodos EAP (Extensible Authentication Protocol) baseados em padrões, como EAP-Generic Token Card (EAP-GTC), EAP-Message Digest 5 (EAP-MD5) e outros, o FlexVPN Server não opera no modo de passagem EAP.

Toda a comunicação EAP com o cliente termina no servidor FlexVPN e a chave de sessão necessária usada para construir o payload AUTH é calculada localmente pelo servidor FlexVPN.

O servidor FlexVPN deve se autenticar no cliente com certificados conforme exigido pelo RFC IKEv2.

A autenticação de usuário local agora é suportada no servidor Flex e a autenticação remota é opcional.

Isso é ideal para implantações de pequena escala com menos usuários e ambientes de acesso remoto sem acesso a um servidor externo de autenticação, autorização e tarifação (AAA).

No entanto, para implantações em larga escala e em cenários onde atributos por usuário são desejados, ainda é recomendável usar um servidor AAA externo para autenticação e autorização.

A implementação do AnyConnect-EAP permite o uso do Radius para autenticação, autorização e tarifação remotas.

Diagrama de Rede

Configurar

Autenticação e autorização de usuários com o banco de dados local

Note: Para autenticar os usuários no banco de dados local no roteador, o EAP precisa ser usado. No entanto, para usar o EAP, o método de autenticação local deve ser rsa-sig, portanto, o roteador precisa de um certificado de identidade apropriado e não pode usar um certificado autoassinado.

Exemplo de configuração que usa autenticação de usuário local, autorização de usuário remoto e de grupo e contabilidade remota.

Etapa 1. Ative o AAA e configure as listas de autenticação, autorização e contabilidade e adicione um nome de usuário ao banco de dados local:

aaa new-model

!

aaa authentication login a-eap-authen-local local

aaa authorization network a-eap-author-grp local

!

username test password cisco123

Etapa 2. Configurar um ponto de confiança destinado a manter o certificado do roteador. A importação do arquivo PKCS12 é usada neste exemplo. Para outras opções, consulte o Guia de Configuração de Segurança e VPN, IOS XE 17.x, Capítulo: Configurando Registro de Certificado para um documento PKI.

Router(config)# crypto pki import IKEv2-TP pkcs12 bootflash:IKEv2-TP.p12 password cisco123

Etapa 3. Definir um pool IP local para atribuir endereços a clientes AnyConnect VPN:

ip local pool ACPOOL 192.168.10.5 192.168.10.10

Etapa 4. Criar uma política de autorização local IKEv2:

crypto ikev2 authorization policy ikev2-auth-policy

pool ACPOOL

dns 10.0.1.1

Etapa 5 (opcional). Crie a proposta e a política de IKEv2 desejadas. Se não forem configurados, os padrões inteligentes serão usados:

crypto ikev2 proposal IKEv2-prop1

encryption aes-cbc-256

integrity sha256

group 14

!

crypto ikev2 policy IKEv2-pol

proposal IKEv2-prop1

Etapa 6. Criar perfil do AnyConnect

Note: O perfil do AnyConnect precisa ser entregue à máquina cliente. Consulte a próxima seção para obter mais informações.

Configure o perfil do cliente com o AnyConnect Profile Editor conforme mostrado na imagem:

Clique em Add para criar uma entrada para o gateway VPN. Certifique-se de selecionar IPsec como o protocolo primário. Desmarque a opção ASA gateway.

Salve o perfil: Arquivo -> Salvar como. O equivalente XML do perfil:

<?xml version="1.0" encoding="UTF-8"?>

<AnyConnectProfile xmlns="http://schemas.xmlsoap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap/encoding/ AnyConnectProfile.xsd">

<ClientInitialization>

<UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon>

<AutomaticCertSelection UserControllable="true">false</AutomaticCertSelection>

<ShowPreConnectMessage>false</ShowPreConnectMessage>

<CertificateStore>All</CertificateStore>

<CertificateStoreMac>All</CertificateStoreMac>

<CertificateStoreOverride>false</CertificateStoreOverride>

<ProxySettings>Native</ProxySettings>

<AllowLocalProxyConnections>true</AllowLocalProxyConnections>

<AuthenticationTimeout>12</AuthenticationTimeout>

<AutoConnectOnStart UserControllable="true">false</AutoConnectOnStart>

<MinimizeOnConnect UserControllable="true">true</MinimizeOnConnect>

<LocalLanAccess UserControllable="true">false</LocalLanAccess>

<DisableCaptivePortalDetection UserControllable="true">false</DisableCaptivePortalDetection>

<ClearSmartcardPin UserControllable="true">true</ClearSmartcardPin>

<IPProtocolSupport>IPv4,IPv6</IPProtocolSupport>

<AutoReconnect UserControllable="false">true

<AutoReconnectBehavior UserControllable="false">ReconnectAfterResume</AutoReconnectBehavior>

</AutoReconnect>

<AutoUpdate UserControllable="false">true</AutoUpdate>

<RSASecurIDIntegration UserControllable="false">Automatic</RSASecurIDIntegration>

<WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement>

<WindowsVPNEstablishment>LocalUsersOnly</WindowsVPNEstablishment>

<AutomaticVPNPolicy>false</AutomaticVPNPolicy>

<PPPExclusion UserControllable="false">Disable

<PPPExclusionServerIP UserControllable="false"></PPPExclusionServerIP>

</PPPExclusion>

<EnableScripting UserControllable="false">false</EnableScripting>

<EnableAutomaticServerSelection UserControllable="false">false

<AutoServerSelectionImprovement>20</AutoServerSelectionImprovement>

<AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime>

</EnableAutomaticServerSelection>

<RetainVpnOnLogoff>false

</RetainVpnOnLogoff>

<AllowManualHostInput>true</AllowManualHostInput>

</ClientInitialization>

<ServerList>

<HostEntry>

<HostName>VPN IOS-XE</HostName>

<HostAddress>vpn.example.com</HostAddress>

<PrimaryProtocol>IPsec

<StandardAuthenticationOnly>true

<AuthMethodDuringIKENegotiation>EAP-AnyConnect</AuthMethodDuringIKENegotiation>

</StandardAuthenticationOnly>

</PrimaryProtocol>

</HostEntry>

</ServerList>

</AnyConnectProfile>

Note: O AnyConnect usa *$AnyConnectClient$* como sua identidade IKE padrão do tipo key-id. No entanto, essa identidade pode ser alterada manualmente no perfil do AnyConnect para corresponder às necessidades de implantação.

Note: Para carregar o perfil XML no roteador, é necessária a versão 16.9.1 ou posterior. Se uma versão de software mais antiga for usada, o recurso de download de perfil precisará ser desativado no cliente. Consulte a seção Desativar o recurso de download do AnyConnect para obter mais informações.

Carregue o perfil XML criado na memória flash do roteador e defina o perfil:

crypto vpn anyconnect profile acvpn bootflash:/acvpn.xml

Note: O nome de arquivo usado para o perfil XML do AnyConnect é sempre acvpn.xml. Mesmo que um nome de arquivo diferente seja usado, o perfil enviado ao PC é chamado acvpn.xml. Portanto, é recomendável não alterar o nome na configuração do roteador.

Etapa 7. Crie um perfil IKEv2 para o método AnyConnect-EAP de autenticação do cliente.

crypto ikev2 profile AnyConnect-EAP

match identity remote key-id *$AnyConnectClient$*

authentication local rsa-sig

authentication remote anyconnect-eap aggregate

pki trustpoint IKEv2-TP

aaa authentication anyconnect-eap a-eap-authen-local

aaa authorization group anyconnect-eap list a-eap-author-grp ikev2-auth-policy

aaa authorization user anyconnect-eap cached

virtual-template 100

anyconnect profile acvpn

Note: Para o comando aaa authentication eap / anyconnect-eap, certifique-se de que o método de autenticação local esteja configurado como rsa-sig antes que o método de autenticação remota seja configurado.

Etapa 8. Desativar a pesquisa de certificado baseada em URL HTTP e o servidor HTTP no roteador:

no crypto ikev2 http-url cert

no ip http server

no ip http secure-server

Note: Consulte o documento Next Generation Encryption Support para confirmar se o hardware do seu roteador suporta os algoritmos NGE (por exemplo, sha-256, aes-gcm, ecdh, ecdsa), caso contrário, a instalação IPSec SA no hardware falhará no último estágio do estabelecimento do túnel.

Etapa 9. Definir os algoritmos de criptografia e hash usados para proteger os dados

crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac

mode tunnel

Etapa 10. Criar um perfil IPSec:

crypto ipsec profile AnyConnect-EAP

set transform-set TS

set ikev2-profile AnyConnect-EAP

Etapa 11. Configurar uma interface de loopback com algum endereço IP fictício. As interfaces de acesso virtual pegam emprestado o endereço IP dele.

interface loopback100

ip address 10.0.0.1 255.255.255.255

Etapa 12. Configurar um modelo virtual (associe o modelo ao perfil IKEv2)

interface Virtual-Template100 type tunnel

ip unnumbered Loopback100

ip mtu 1400

tunnel mode ipsec ipv4

tunnel protection ipsec profile AnyConnect-EAP

Etapa 13 (opcional). Por padrão, todo o tráfego do cliente é enviado pelo túnel (túnel completo). Você pode configurar um túnel dividido, que permite que apenas o tráfego selecionado passe pelo túnel.

ip access-list standard split_tunnel

permit 10.0.0.0 0.255.255.255

!

crypto ikev2 authorization policy ikev2-auth-policy

route set access-list split_tunnel

Etapa 14 (opcional). Se todo o tráfego for necessário para passar pelo túnel, configure o NAT para permitir a conectividade da Internet para clientes remotos.

ip access-list extended NAT

permit ip 192.168.10.0 0.0.0.255 any

!

ip nat inside source list NAT interface GigabitEthernet1 overload

!

interface GigabitEthernet1

ip nat outside

!

interface Virtual-Template 100

ip nat inside

Exemplo: Configuração de download do perfil do AnyConnect

Este exemplo mostra como configurar o recurso de Download de perfil do FlexVPN AnyConnect:

Note: Não é necessário modificar o arquivo de Diretiva local na máquina do Anyconnect Client. Depois que o recurso de Download de perfil do Anyconnect com IKEv2 é configurado, o módulo do VPN Downloader funciona corretamente - o perfil XML necessário é atualizado automaticamente no dispositivo cliente no caso de atualização de perfil XML.

Note: Você não deve usar o servidor HTTPS e a política SSL juntos. Antes da Política SSL ser habilitada, remova o comando ip http secure-server. Se ambos os recursos forem habilitados ao mesmo tempo e o dispositivo receber uma conexão VPN SSL de entrada, o dispositivo poderá falhar.

no ip http secure-server

crypto ssl policy ssl-policy

pki trustpoint IKEv2-TP sign

ip address local 10.0.0.1 port 443

no shutdown

crypto ssl profile ssl_prof

match policy ssl-policy

Desative o recurso AnyConnect Downloader (Somente para versões anteriores à 16.9.1).

Esta etapa só é necessária se for usada uma versão anterior à 16.9.1. Antes dessa versão, a capacidade de carregar o perfil XML para o roteador não estava disponível. O Secure Client (AnyConnect) tenta fazer o download do perfil XML após o login bem-sucedido por padrão. Se o perfil não estiver disponível, a conexão falhará. Como solução alternativa, é possível desativar o recurso de download de perfil do AnyConnect no próprio cliente. Para fazer isso, este arquivo pode ser modificado:

For Windows:

C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\AnyConnectLocalPolicy.xml

For MAC OS:

/opt/cisco/anyconnect/AnyConnectLocalPolicy.xml

A opção BypassDownloader está definida como true, por exemplo:

<?xml version="1.0" encoding="UTF-8"?>

<AnyConnectLocalPolicy xmlns="http://schemas.xmlsoap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap/encoding/ AnyConnectLocalPolicy.xsd" acversion="4.6.03049">

<BypassDownloader>true</BypassDownloader>

<EnableCRLCheck>false</EnableCRLCheck>

<ExcludeFirefoxNSSCertStore>false</ExcludeFirefoxNSSCertStore>

<ExcludeMacNativeCertStore>false</ExcludeMacNativeCertStore>

<ExcludePemFileCertStore>false</ExcludePemFileCertStore>

<ExcludeWinNativeCertStore>false</ExcludeWinNativeCertStore>

<FipsMode>false</FipsMode>

<RestrictPreferenceCaching>false</RestrictPreferenceCaching>

<RestrictTunnelProtocols>false</RestrictTunnelProtocols>

<RestrictWebLaunch>false</RestrictWebLaunch>

<StrictCertificateTrust>false</StrictCertificateTrust>

<UpdatePolicy>

<AllowComplianceModuleUpdatesFromAnyServer>true</AllowComplianceModuleUpdatesFromAnyServer>

<AllowISEProfileUpdatesFromAnyServer>true</AllowISEProfileUpdatesFromAnyServer>

<AllowServiceProfileUpdatesFromAnyServer>true</AllowServiceProfileUpdatesFromAnyServer>

<AllowSoftwareUpdatesFromAnyServer>true</AllowSoftwareUpdatesFromAnyServer>

<AllowVPNProfileUpdatesFromAnyServer>true</AllowVPNProfileUpdatesFromAnyServer></UpdatePolicy>

</AnyConnectLocalPolicy>

Após a modificação, o cliente AnyConnect precisa ser reiniciado.

Entrega de perfil XML do AnyConnect

Com a nova instalação do AnyConnect (sem perfis XML adicionados), o usuário pode inserir manualmente o FQDN do gateway VPN na barra de endereços do cliente AnyConnect. Isso resulta na conexão SSL com o gateway. O cliente AnyConnect não tenta estabelecer o túnel VPN com protocolos IKEv2/IPsec por padrão. Esta é a razão pela qual a instalação do perfil XML no PC cliente é obrigatória para estabelecer o túnel IKEv2/IPsec com o gateway FlexVPN.

O perfil é usado quando é selecionado na lista suspensa da barra de endereços do AnyConnect.

O nome que aparece na lista é especificado no campo Display Name no AnyConnect Profile Editor -> Server List -> Server List Entry.

O perfil XML pode ser colocado manualmente em um diretório, dependendo do sistema operacional do cliente:

For Windows:

C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile

For MAC OS:

/opt/cisco/anyconnect/profile

O cliente AnyConnect precisa ser reiniciado para que o perfil se torne visível na GUI. Não é suficiente fechar a janela do AnyConnect. O processo pode ser reiniciado clicando com o botão direito do mouse no ícone do AnyConnect na bandeja do Windows e selecionando a opção Sair:

Fluxo de comunicação

clique aqui

Intercâmbio de IKEv2 e EAP

Verificar

Use esta seção para confirmar se a sua configuração funciona corretamente.

! Check IKEv2 SA parameters

Router# show crypto ikev2 sa detailed

IPv4 Crypto IKEv2  SA

Tunnel-id Local                 Remote                fvrf/ivrf            Status

1         192.0.2.1/4500     192.0.2.100/50899    none/none            READY

Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: RSA, Auth verify: AnyConnect-EAP

Life/Active Time: 86400/758 sec

CE id: 1004, Session-id: 4

Status Description: Negotiation done

Local spi: 413112E83D493428       Remote spi: 696FA78292A21EA5

Local id: 192.0.2.1

Remote id: *$AnyConnectClient$*

Remote EAP id: test        <------ username

Local req msg id:  0              Remote req msg id:  31

Local next msg id: 0              Remote next msg id: 31

Local req queued:  0              Remote req queued:  31

Local window:      5              Remote window:      1

DPD configured for 0 seconds, retry 0

Fragmentation not  configured.

Dynamic Route Update: disabled

Extended Authentication not configured.

NAT-T is detected  outside

Cisco Trust Security SGT is disabled

Assigned host addr: 192.168.10.8.  <---- Assigned IP

Initiator of SA : No

! Check the crypto session information

Router# show crypto session detail

Crypto session current status

Code: C - IKE Configuration mode, D - Dead Peer Detection

K - Keepalives, N - NAT-traversal, T - cTCP encapsulation

X - IKE Extended Authentication, F - IKE Fragmentation

R - IKE Auto Reconnect, U - IKE Dynamic Route Update

S - SIP VPN

Interface: Virtual-Access1. <----- Virtual interface associated with the client

Profile: AnyConnect-EAP

Uptime: 00:14:54

Session status: UP-ACTIVE

Peer: 192.0.2.100 port 50899 fvrf: (none) ivrf: (none). <----- Public IP of the remote client

Phase1_id: *$AnyConnectClient$*

Desc: (none)

Session ID: 8

IKEv2 SA: local 192.0.2.1/4500 remote 192.0.2.100/50899 Active

Capabilities:N connid:1 lifetime:23:45:06

IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.10.8

Active SAs: 2, origin: crypto map

Inbound:  #pkts dec'ed 89 drop 0 life (KB/Sec) 4607990/2705. <------ Packets received from the client

Outbound: #pkts enc'ed 2 drop 0 life (KB/Sec) 4607999/2705. <------ Packets sent to the client

! Check the actual configuration applied for the Virtual-Acces interface associated with client

Router# show derived-config interface virtual-access 1.

Building configuration...

Derived configuration : 258 bytes

!

interface Virtual-Access1

ip unnumbered Loopback100

ip mtu 1400

ip nat inside

tunnel source 192.0.2.1

tunnel mode ipsec ipv4

tunnel destination 192.0.2.100

tunnel protection ipsec profile AnyConnect-EAP

no tunnel protection ipsec initiate

end

Troubleshooting

Esta seção fornece informações que podem ser usadas para o troubleshooting da sua configuração.

1. Depurações IKEv2 para coletar do headend:

debug crypto ikev2

debug crypto ikev2 packet

debug crypto ikev2 error

2. Depurações AAA para ver a atribuição de atributos locais e/ou remotos:

debug aaa authorization

debug aaa authentication

3. Ferramenta de diagnóstico e relatório (DART) para o cliente AnyConnect.

Para coletar o pacote DART, execute as etapas descritas no Guia do Administrador do Cisco Secure Client (incluindo AnyConnect), Versão 5, Capítulo: Capítulo: Solucionar problemas do Cisco Secure Client.