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 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.
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:
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 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.
Observação: para autenticar 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 contabilização 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. Configure 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 a Inscrição de Certificado para um documento PKI.
Router(config)# crypto pki import IKEv2-TP pkcs12 bootflash:IKEv2-TP.p12 password cisco123
Etapa 3. Defina 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 diretiva 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
Observação: 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>
Observação: 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.
Observação: para fazer upload do perfil XML para o 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
Observação: 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 para o PC é chamado acvpn.xml. Portanto, é recomendável não alterar o nome na configuração do roteador.
Passo 7. Crie um perfil IKEv2 para o método AnyConnect-EAP de autenticação de 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
Observação: 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. Desabilite 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
Observação: consulte o documento Next Generation Encryption Support para confirmar se o hardware do 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. Configure 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
Este exemplo mostra como configurar o recurso de Download de perfil do FlexVPN AnyConnect:
Observação: 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.
Observação: você não deve usar o servidor HTTPS e a política SSL juntos. Antes de habilitar a Política SSL, remova o comando ip http secure-server. Se ambos os recursos estiverem ativados ao mesmo tempo e o dispositivo receber uma conexão VPN SSL de entrada, o dispositivo poderá travar.
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
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.
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:
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
Esta seção fornece informações que podem ser usadas para o troubleshooting da sua configuração.
debug crypto ikev2
debug crypto ikev2 packet
debug crypto ikev2 error
debug aaa authorization
debug aaa authentication
Revisão | Data de publicação | Comentários |
---|---|---|
2.0 |
24-Apr-2023 |
Recertificação |
1.0 |
08-Jul-2016 |
Versão inicial |