Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Configurar

Diagrama de Rede

Configurações

Verificar

Troubleshooting

Introdução

Este documento descreve um exemplo de configuração de como configurar um headend do Integrated Service Router (ISR) 4k Cisco IOS® XE para o AnyConnect Secure Sockets Layer (SSL) VPN com um banco de dados de usuário local.

Pré-requisitos

Requisitos

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

- Cisco IOS XE (ISR 4K)

- AnyConnect Secure Mobility Client

- Operação geral de SSL

- Public Key Infrastructure (PKI)

Componentes Utilizados

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

- Roteador Cisco ISR4451-X/K9 com versão 17.9.2a

- AnyConnect Secure Mobility Client 4.10.04065

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 recurso VPN (Virtual Private Network) SSL fornece suporte no software Cisco IOS XE para acesso de usuário remoto a redes corporativas de qualquer lugar na Internet. O acesso remoto é fornecido através de um gateway VPN SSL habilitado para SSL com Secure Socket Layer (habilitado para SSL). O gateway VPN SSL permite que usuários remotos estabeleçam um túnel VPN seguro. Com o Cisco IOS XE SSL VPN, os usuários finais obtêm acesso seguro de casa ou de qualquer local habilitado para a Internet, como hotspots sem fio. A VPN SSL do Cisco IOS XE também permite que as empresas estendam o acesso à rede corporativa para parceiros e consultores no exterior, para proteção de dados corporativos.

Este recurso é suportado nas seguintes plataformas:

Platform

Versão suportada do Cisco IOS XE

Roteador de serviços em nuvem Cisco 1000V Series

Cisco IOS XE versão 16.9

Cisco Catalyst 8000V

Cisco IOS XE Bengaluru 17.4.1

Roteador de serviços integrados Cisco 4461

Roteador de serviços integrados Cisco 4451

Roteador de serviços integrados Cisco 4431

Cisco IOS XE Cupertino 17.7.1a

Configurar

Diagrama de Rede

Configurações

1. Ative a Autenticação, Autorização e Tarifação (AAA - Authentication, Authorization, and Accounting), configure a autenticação, as listas de autorização e adicione um nome de usuário ao banco de dados local.

aaa new-model

!

aaa authentication login default local

aaa authorization exec default local

aaa authorization network default local

!

username test password cisco123

2. Crie um Ponto Confiável para instalar o certificado de identidade, se ainda não estiver presente para autenticação local. Você pode consultar Inscrição de certificado para uma PKI para obter mais detalhes sobre a criação do certificado.

crypto pki trustpoint SSL

enrollment mode ra

enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll

subject-name cn=sslvpn.cisco.com

revocation-check crl

rsakeypair SSL-Keys

3. Configure uma proposta SSL.

crypto ssl proposal SSL_Proposal

protection rsa-3des-ede-sha1 rsa-aes128-sha1

4. Configure uma política SSL e chame a proposta SSL e o ponto de confiança PKI.

crypto ssl policy SSL_Policy

ssl proposal SSL_Proposal

pki trustpoint SSL sign

ip address local y.y.y.y port 443

no shut

y.y.y.y é o endereço IP de GigabitEthernet0/0/0.

5. (Opcional) Configure uma lista de acesso padrão a ser usada para o túnel dividido. Essa lista de acesso consiste nas redes de destino que podem ser acessadas através do túnel VPN. Por padrão, todo o tráfego passa pelo túnel VPN (túnel completo) se o túnel dividido não estiver configurado.

ip access-list standard split_tunnel_acl

10 permit 192.168.10.0 0.0.0.255

6. Crie um pool de endereços IPv4.

ip local pool SSLVPN_POOL 192.168.20.1 192.168.20.10

O pool de endereços IP criado atribui um endereço IPv4 ao cliente AnyConnect durante uma conexão bem-sucedida do AnyConnect.

7. Carregue a imagem do headend do AnyConnect (webdeploy) no diretório webvpn do bootflash e carregue o perfil do cliente no bootflash do roteador.

mkdir bootflash:webvpn

Para o pacote do Anyconnect:

copy tftp: bootflash:webvpn:

Para o perfil do cliente:

copy tftp: bootflash:

Defina a imagem do AnyConnect e o perfil do cliente conforme especificado:

crypto vpn anyconnect bootflash:/webvpn/anyconnect-win-4.10.04065-webdeploy-k9.pkg sequence 1

!

crypto vpn anyconnect profile sslvpn_client_profile bootflash:/sslvpn_client_profile.xml

8. Configure uma política de autorização.

crypto ssl authorization policy SSL_Author_Policy

rekey time 1110

client profile sslvpn_client_profile

mtu 1000

keepalive 500

dpd-interval client 1000

netmask 255.255.255.0

pool SSLVPN_POOL

dns 8.8.8.8

banner This is SSL VPN tunnel.

route set access-list split_tunnel_acl

O pool IP, DNS, lista de túneis divididos etc. são especificados na política de autorização.

9. Configure um Modelo virtual a partir do qual as interfaces de acesso virtual sejam clonadas.

interface Virtual-Template1 type vpn

ip unnumbered GigabitEthernet0/0/0

ip mtu 1400

ip tcp adjust-mss 1300

O comando não numerado obtém o endereço IP da interface configurada (GigabitEthernet0/0/0) e o roteamento IPv4 está ativado nessa interface.

10. Configure um perfil SSL e corresponda à política SSL criada sob ele, juntamente com os parâmetros de autenticação e autorização e o modelo virtual.

crypto ssl profile SSL_Profile

match policy SSL_Policy

aaa authentication user-pass list default

aaa authorization group user-pass list default SSL_Author_Policy

authentication remote user-pass

virtual-template 1

Crie um perfil do AnyConnect com a ajuda do AnyConnect Profile Editor. Um trecho do perfil XML é fornecido para sua referência.

!

!

<ClientInitialization>

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

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

<ShowPreConnectMessage>false</ShowPreConnectMessage>

<CertificateStore>All</CertificateStore>

<CertificateStoreMac>All</CertificateStoreMac>

<CertificateStoreOverride>false</CertificateStoreOverride>

<ProxySettings>Native</ProxySettings>

<AllowLocalProxyConnections>false</AllowLocalProxyConnections>

<AuthenticationTimeout>30</AuthenticationTimeout>

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

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

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

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

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

<IPProtocolSupport>IPv4,IPv6</IPProtocolSupport>

<AutoReconnect UserControllable="false">true

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

</AutoReconnect>

<SuspendOnConnectedStandby>false</SuspendOnConnectedStandby>

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

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

<WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement>

<LinuxLogonEnforcement>SingleLocalLogon</LinuxLogonEnforcement>

<WindowsVPNEstablishment>AllowRemoteUsers</WindowsVPNEstablishment>

<LinuxVPNEstablishment>LocalUsersOnly</LinuxVPNEstablishment>

<AutomaticVPNPolicy>false</AutomaticVPNPolicy>

<PPPExclusion UserControllable="false">Automatic

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

</PPPExclusion>

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

<EnableAutomaticServerSelection UserControllable="true">false

<AutoServerSelectionImprovement>20</AutoServerSelectionImprovement>

<AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime>

</EnableAutomaticServerSelection>

<RetainVpnOnLogoff>false

</RetainVpnOnLogoff>

<CaptivePortalRemediationBrowserFailover>false</CaptivePortalRemediationBrowserFailover>

<AllowManualHostInput>true</AllowManualHostInput>

</ClientInitialization>

<ServerList>

<HostEntry>

<HostName>SSLVPN</HostName>

<HostAddress>sslvpn.cisco.com</HostAddress>

</HostEntry>

</ServerList>

!

Verificar

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

1. Check the ssl connection parameters for your anyconnect connection

sslvpn# show crypto ssl session user test

Interface         : Virtual-Access1

Session Type      : Full Tunnel

Client User-Agent : AnyConnect Windows 4.10.04065

Username      : test                  Num Connection : 1

Public IP     : 10.106.52.195

Profile       : SSL_Profile

Policy        : SSL_Policy

Last-Used     : 00:03:58              Created : *05:11:06.166 UTC Wed Feb 22 2023

Tunnel IP     : 192.168.20.10         Netmask : 255.255.255.0

Rx IP Packets : 174                   Tx IP Packets : 142

2. Verify the SSL session status

sslvpn# show crypto ssl session

SSL profile name: SSL_Profile

Client_Login_Name  Client_IP_Address    No_of_Connections   Created     Last_Used

test               10.106.52.195            1               00:03:32    00:03:32

3. Verify the tunnel statistics for the active connection

sslvpn# show crypto ssl stats tunnel

SSLVPN Profile name : SSL_Profile

Tunnel Statistics:

Active connections       : 1

Peak connections         : 1              Peak time : 5d12h

Connect succeed          : 10             Connect failed : 0

Reconnect succeed        : 38             Reconnect failed : 0

IP Addr Alloc Failed     : 0              VA creation failed : 0

DPD timeout              : 0

Client

in CSTP frames           : 129            in CSTP control : 129

in CSTP data             : 0              in CSTP bytes : 1516

out CSTP frames          : 122            out CSTP control : 122

out CSTP data            : 0              out CSTP bytes : 1057

cef in CSTP data frames  : 0              cef in CSTP data bytes : 0

cef out CSTP data frames : 0              cef out CSTP data bytes : 0

Server

In IP pkts               : 0              In IP bytes : 0

In IP6 pkts              : 0              In IP6 bytes : 0

Out IP pkts              : 0              Out IP bytes : 0

Out IP6 pkts             : 0              Out IP6 bytes : 0

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

sslvpn# show derived-config interface virtual-access 1

Building configuration...

Derived configuration : 171 bytes

!

interface Virtual-Access1

description ***Internally created by SSLVPN context profile1***

ip unnumbered GigabitEthernet0/0/0

ip mtu 1400

ip tcp adjust-mss 1300

Troubleshooting

Esta seção fornece as informações que você pode usar para solucionar problemas da sua configuração.

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

debug crypto ssl condition client username <username>

debug crypto ssl aaa

debug crypto ssl aggr-auth message

debug crypto ssl aggr-auth packets

debug crypto ssl tunnel errors

debug crypto ssl tunnel events

debug crypto ssl tunnel packets

debug crypto ssl package

2. Alguns comandos adicionais para solucionar problemas de conexão SSL:

# show crypto ssl authorization policy

# show crypto ssl diagnose error

# show crypto ssl policy

# show crypto ssl profile

# show crypto ssl proposal

# show crypto ssl session profile <profile_name>

# show crypto ssl session user <username> detail

# show crypto ssl session user <username> platform detail

3. DART do cliente AnyConnect.