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 como configurar a autenticação externa de dois fatores para a conexão IPSec do AnyConnect a um roteador Cisco IOS® XE.
Contribuição de Sadhana K S e Rishabh Aggarwal Engenheiros do Cisco TAC.
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 usuário do AnyConnect autentica com um nome de usuário e senha no servidor ISE. O servidor Proxy de Autenticação Duo também envia uma autenticação adicional na forma de notificação por push ao dispositivo móvel do usuário.
Para concluir a configuração, leve em consideração estas seções.
1. Configure o servidor RADIUS. O endereço IP do servidor RADIUS deve ser o IP do Proxy de Autenticação Duo.
radius server rad_server
address ipv4 10.197.243.97 auth-port 1812 acct-port 1813
timeout 120
key cisco
2. Configure o servidor RADIUS como aaa
autenticação e autorização como local.
aaa new-model
aaa group server radius FlexVPN_auth_server
server name rad_server
aaa authentication login FlexVPN_auth group FlexVPN_auth_server
aaa authorization network FlexVPN_authz local
3. 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 TP_AnyConnect
enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll
usage ike
serial-number none
fqdn flexvpn-C8000V.cisco.com
ip-address none
subject-name cn=flexvpn-C8000V.cisco.com
revocation-check none
rsakeypair AnyConnect
4. (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 se o túnel dividido não estiver configurado.
ip access-list standard split-tunnel-acl
10 permit 192.168.11.0 0.0.0.255
20 permit 192.168.12.0 0.0.0.255
5. Crie um pool de endereços IPv4.
ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10
O pool de endereços IP criado atribui um endereço IPv4 ao cliente AnyConnect durante uma conexão bem-sucedida do AnyConnect.
6. Configure uma política de autorização.
crypto ikev2 authorization policy ikev2-authz-policy
pool SSLVPN_POOL
dns 10.106.60.12
route set access-list split-tunnel-acl
O pool IP, o DNS, a lista de túneis divididos e assim por diante são especificados na política de autorização.
Observação: se a política de autorização IKEv2 personalizada não estiver configurada, a política de autorização padrão chamada 'padrão' será usada para autorização. Os atributos especificados na política de autorização IKEv2 também podem ser enviados por meio do servidor RADIUS.
7. Configure uma proposta e política de IKEv2.
crypto ikev2 proposal FlexVPN_IKEv2_Proposal
encryption aes-cbc-128
integrity sha384
group 19
crypto ikev2 policy FlexVPN_IKEv2_Policy
match fvrf any
proposal FlexVPN_IKEv2_Proposal
8. Carregue o perfil do cliente AnyConnect para o flash de inicialização do roteador e defina o perfil conforme indicado:
crypto vpn anyconnect profile Client_Profile bootflash:/Client_Profile.xml
9. Desabilite o servidor seguro HTTP.
no ip http secure-server
10. Configure a política SSL e especifique o IP WAN do roteador como o endereço local para fazer download do perfil.
crypto ssl policy ssl-server
pki trustpoint TP_AnyConnect sign
ip address localport 443
11. Configure um Modelo virtual a partir do qual o int de acesso virtualAs interfaces são clonadas
interface Virtual-Template20 type tunnel
ip unnumbered GigabitEthernet1
O comando não numerado obtém o endereço IP da interface configurada (GigabitEthernet1).
13. Configure um perfil IKEv2 que contenha todas as conexõesad riz Informação promenorizada.
crypto ikev2 profile Flexvpn_ikev2_Profile
match identity remote any
authentication local rsa-sig
authentication remote eap query-identity
pki trustpoint TP_AnyConnect
dpd 60 2 on-demand
aaa authentication eap FlexVPN_auth
aaa authorization group eap list FlexVPN_authz ikev2-authz-policy
aaa authorization user eap cached
virtual-template 20 mode auto
anyconnect profile Client_Profile
Eles são usados no perfil IKEv2:
match identity remote any
- Se refere à identidade do cliente. Aqui 'any' é configurado para que qualquer cliente com as credenciais corretas possa se conectarauthentication remote
- Menciona que o protocolo EAP deve ser usado para autenticação do clienteauthentication local
- Menciona que os certificados devem ser usados para autenticação localaaa authentication eap
- Durante a autenticação EAP, o servidor RADIUS FlexVPN_auth
é usadoaaa authorization group eap list
- Durante a autorização, a lista de redes FlexVPN_authz
é usado com a política de autorização ikev2-authz-policy
aaa authorization user eap cached
- Habilita a autorização implícita do usuáriovirtual-template 20 mode auto
- Define o modelo virtual a ser clonadoanyconnect profile Client_Profile
- O perfil de cliente definido na Etapa 8. é aplicado aqui a este perfil IKEv214. Configure um conjunto de transformação e um perfil IPSec.
crypto ipsec transform-set TS esp-gcm 256
mode tunnel
crypto ipsec profile Flexvpn_IPsec_Profile
set transform-set TS
set ikev2-profile Flexvpn_ikev2_Profile
15. Adicione o perfil IPSec ao molde Virtual.
interface Virtual-Template20 type tunnel
tunnel mode ipsec ipv4
tunnel protection ipsec profile Flexvpn_IPsec_Profile
Antes do Cisco IOS XE 16.9.1, os downloads automáticos de perfil do headend não estavam disponíveis. Após 16.9.1, é possível fazer o download do perfil do headend.
!
!
false
true
false
All
All
false
Native
false
30
false
true
false
false
true
IPv4,IPv6
true
ReconnectAfterResume
false
true
Automatic
SingleLocalLogon
SingleLocalLogon
AllowRemoteUsers
LocalUsersOnly
false
Automatic
false
false
20
4
false
false
true
<ServerList>
<HostEntry>
<HostName>FlexVPN</HostName>
<HostAddress>flexvpn-csr.cisco.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-MD5</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
Observação: o Duo Authentication Proxy oferece suporte a MS-CHAPv2 apenas com autenticação RADIUS.
Etapa 1. Baixe e instale o servidor proxy de autenticação Duo.
Faça login na máquina Windows e instale o servidor Proxy de Autenticação Duo.
É recomendável usar um sistema com pelo menos 1 CPU, 200 MB de espaço em disco e 4 GB de RAM.
Etapa 2. Navegue até C:\Program Files\Duo Security Authentication Proxy\conf\
e aberto authproxy.cfg
para configurar o proxy de autenticação com os detalhes apropriados.
[radius_client]
host=10.197.243.116
secret=cisco
Observação: aqui '10.197.243.116' é o endereço IP do servidor ISE e 'cisco' é a senha configurada para validar a autenticação primária.
Depois de fazer essas alterações, salve o arquivo.
Etapa 3. Abrir Console de Serviços do Windows (services.msc
). E reiniciar Duo Security Authentication Proxy Service
.
Etapa 1. Navegue até Administration > Network Devices
e clique emAdd
para configurar o dispositivo de rede.
Nota: Substituir x.x.x.x
com o endereço IP do seu servidor Duo Authentication Proxy.
Etapa 2. Configurar o Shared Secret
como mencionado no authproxy.cfg
in secret
:
Etapa 3. Navegue até Administration > Identities > Users
.Escolher Add
para configurar o usuário de identidade para a autenticação primária do AnyConnect:
Etapa 1. Faça login na sua conta Duo.
Navegue até Applications > Protect an Application
. Clique em Protect
para o aplicativo que você deseja usar. (RADIUS neste caso)
Passo 2. Clique em Protect
para o aplicativo que você deseja usar. (RADIUS neste caso)
Copie a chave de integração, a chave secreta e o nome de host da API e cole-os no authproxy.cfg
do proxy de autenticação Duo.
Copie esses valores e navegue de volta para o proxy de autenticação DUO e abra a authproxy.cfg
e cole os valores como mostrado:
Chave de integração = ikey
chave secreta = chave
nome de host da API = api_host
[radius_server_auto]
ikey=xxxxxxxx
skey=xxxxxxxv1zG
api_host=xxxxxxxx
radius_ip_1=10.106.54.143
radius_secret_1=cisco
failmode=safe
client=radius_client
port=1812
Observação: ikey, skey e api_host devem ser copiados do servidor Duo quando você configura o servidor, e '10.106.54.143' é o endereço IP do roteador C8000V, e 'cisco' é a chave configurada no roteador sob a configuração do servidor radius.
Depois de fazer essas alterações, salve o arquivo novamente e reinicie o Serviço de Proxy de Autenticação do Duo Security (em services.msc
).
Etapa 3. Criar Usuários no DUO para Autenticação Secundária.
Navegue até Users > Add User
e digite o nome de usuário.
Observação: o nome de usuário deve corresponder ao nome de usuário de autenticação principal.
Clique em Add User
. Depois de criado, em Phones
, cclicar Add Phone
, insira o número de telefone e clique em Add Phone
.
Escolha o Tipo de autenticação.
Escolher Generate Duo Mobile Activation Code
.
Escolher Send Instructions by SMS
.
Clique no link enviado para o telefone e o aplicativo DUO será vinculado à conta de usuário no Device Info
como mostrado na imagem:
Para testar a autenticação, conecte-se ao C8000V a partir do PC do usuário através do AnyConnect.
Digite o nome de usuário e a senha para a autenticação primária.
Em seguida, aceite os envios DUO no celular.
A conexão é estabelecida.
Você pode verificar isso no headend da VPN:
1. IKEv2 parameters
R1#sh crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.54.143/4500 10.197.243.98/54198 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA384, Hash: SHA384, DH Grp:19, Auth sign: RSA, Auth verify: FlexVPN-ikev2_Profile
Life/Active Time: 86400/147 sec
CE id: 1108, Session-id: 15
Status Description: Negotiation done
Local spi: 81094D322A295C92 Remote spi: 802F3CC9E1C33C2F
Local id: 10.106.54.143
Remote id: cisco.com
Remote EAP id: sadks //AnyConnect username
Local req msg id: 0 Remote req msg id: 10
Local next msg id: 0 Remote next msg id: 10
Local req queued: 0 Remote req queued: 10
Local window: 5 Remote window: 1
DPD configured for 60 seconds, retry 2
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.13.5 //Assigned IP address from the address pool
Initiator of SA : No
2. Crypto session detail for the vpn session
R1#sh 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-Access2
Profile: FlexVPN-ikev2_Profile
Uptime: 00:01:07
Session status: UP-ACTIVE
Peer: 10.197.243.97 port 54198 fvrf: (none) ivrf: (none)
Phase1_id: cisco.com
Desc: (none)
Session ID: 114
IKEv2 SA: local 10.106.54.143/4500 remote 10.197.243.98/54198 Active
Capabilities:DN connid:1 lifetime:23:58:53
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.13.5
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 3 drop 0 life (KB/Sec) 4607998/3532
Outbound: #pkts enc'ed 0 drop 0 life (KB/Sec) 4608000/3532
3.Verification on ISE live logs
Navegue até Operations > Live Logs
no ISE. Você pode exibir o relatório de autenticação da autenticação primária.
4. Verification on DUO authentication proxy
Navegue para este arquivo no Proxy de Autenticação DUO; C:\Program Files\Duo Security Authentication Proxy\log
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request from 10.106.54.143 to radius_server_auto //10.106.54.143 IP address of C8000V
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Received new request id 163 from ('10.106.54.143', 1645)
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): login attempt for username 'sadks'
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request for user 'sadks' to ('10.197.243.116', 1812) with id 191 //Primary auth sent to ISE 10.197.243.116
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] Got response for id 191 from ('10.197.243.116', 1812); code 2 //ISE auth successful
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Got preauth result for: 'auth'
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth // Proxy is sending secondary auth request to DUO server
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Duo authentication returned 'allow': 'Success. Logging you in...'
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Returning response code 2: AccessAccept //DUO push successful
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Sending response
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
Para IKEv2:
debug crypto ikev2
debug crypto ikev2 client flexvpn
debug crypto ikev2 internal
debug crypto ikev2 packet
debug crypto ikev2 error
Para IPSec:
debug crypto ipsec
debug crypto ipsec error
2. Para o Proxy de Autenticação DUO, verifique o arquivo de log relacionado ao proxyd logs. (C:\Program Files\Duo Security Authentication Proxy\log
)
O trecho para um log de erros em que o ISE está rejeitando a autenticação primária é mostrado:
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Sending proxied request for id 26 to ('10.197.243.116', 1812) with id 18
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Got response for id 18 from ('10.197.243.116', 1812); code 3
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Primary credentials rejected - No reply message in packet
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Returning response code 3: AccessReject
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
26-Jun-2023 |
Versão inicial |