Este documento descreve a configuração da VPN de acesso remoto para o mapeamento de política de grupo com o Cisco Identity Services Engine (ISE).
A Cisco recomenda que você tenha conhecimento destes tópicos:
O conteúdo deste documento é baseado nessas 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.
Neste exemplo de configuração, os usuários remotos que se conectam ao ASA via VPN usando o Cisco Secure Client (AnyConnect) não têm permissão para selecionar um perfil de conexão (grupo de túneis) no menu suspenso, pois o Cisco ISE os mapeia para uma política de grupo específica com base nas políticas configuradas.
Com essa configuração, você pode atribuir uma política de grupo a cada usuário do AnyConnect pelo ISE. Como os usuários não têm a opção de selecionar o grupo de túneis, eles são inicialmente conectados ao grupo de túneis DefaultWEBVPNGroup e à política de grupo DfltGrpPolicy. Após a autenticação, se o atributo RADIUS Class (Group-policy) for enviado pelo ISE na resposta de autenticação, o usuário será atribuído à política de grupo correspondente, recebendo, assim, as permissões apropriadas. Se o ISE não retornar nenhum atributo Class ou retornar um rótulo de política de grupo que não esteja configurado no ASA, o usuário permanecerá atribuído ao DfltGrpPolicy. Para impedir que usuários sem uma política de grupo atribuída se conectem através da VPN, você pode configurar o comando vpn-simultaneous-logins 0 sob a política de grupo DfltGrpPolicy.
aaa-server
aaa-server ISE_AAA protocol radius
aaa-server ISE_AAA (Outside) host 10.31.124.82
key cisco123
Configuração de VPN de acesso remoto
webvpn
enable outside
anyconnect image disk0:/anyconnect-win-4.7.01076-webdeploy-k9.pkg 1
anyconnect enable
tunnel-group DefaultWEBVPNGroup general-attributes
address-pool Remote_users
authentication-server-group ISE_AAA
group-policy DfltGrpPolicy attributes
banner value ###YOU DON'T HAVE AUTHORIZATION TO ACCESS ANY INTERNAL RESOURCES###
vpn-simultaneous-logins 0
vpn-tunnel-protocol ssl-client
group-policy RADIUS-USERS internal
group-policy RADIUS-USERS attributes
banner value YOU ARE CONNECTED TO ### RADIUS USER AUTHENTICATION###
vpn-simultaneous-logins 3
vpn-tunnel-protocol ssl-client
split-tunnel-network-list value SPLIT_ACL
group-policy RADIUS-ADMIN internal
group-policy RADIUS-ADMIN attributes
banner value YOU ARE CONNECTED TO ###RADIUS ADMIN AUTHENTICATION ###
vpn-simultaneous-logins 3
vpn-tunnel-protocol ssl-client
split-tunnel-network-list none
Etapa 1. Registre o ASA como um dispositivo de rede válido no ISE e configure a chave secreta compartilhada para o RADIUS. Para isso, navegue até Administração > Recursos de rede > Dispositivos de rede.

Etapa 2. Criar grupos de identidade.
Defina grupos de identidade para associar usuários com características semelhantes e que compartilhem permissões semelhantes. Eles são usados nas próximas etapas. Navegue até Administração > Grupos > Grupos de identidade de usuário.

Etapa 3. Associe usuários a grupos de identidade.
Associe usuários ao grupo de identidade correto. Navegue até Administração > Identidades > Usuários.

Etapa 4. Criar Conjunto de Políticas.
Defina um novo conjunto de políticas e as condições que correspondem à política. Neste exemplo, todos os tipos de dispositivos são permitidos sob as condições. Para isso, navegue até Política > Conjuntos de políticas.

Etapa 5. Criar uma Política de Autorização.
Defina uma nova Diretiva de Autorização com as condições necessárias para atender à diretiva. Certifique-se de incluir os grupos de identidade criados na etapa 2 como uma condição.


Etapa 6. Criar um Perfil de Autorização.
O perfil de autorização inclui as ações que são tomadas quando a política de autorização é correspondida. Crie um novo Perfil de Autorização que inclua os próximos atributos:


Etapa 7. Revisar a configuração do Perfil de Autorização.


Com este exemplo de configuração, você pode atribuir a política de grupo dinamicamente a cada usuário do Secure Client por meio da configuração do ISE com base no grupo de identidade ao qual o usuário pertence.
Uma das depurações mais úteis é o raio de depuração. Ele mostra detalhes da solicitação de autenticação radius e da resposta de autenticação entre o servidor AAA (ISE) e o ASA.
debug radius
Outra ferramenta útil é o comando test aaa-server. Agora você verá se a autenticação é ACCEPTED ou REFUSED e os atributos (atributo de classe neste exemplo) que foram trocados no processo de autenticação.
test aaa-server authentication <aaa_server_group> [host <name>|<host_ip>] username <user> password <password>
No exemplo de configuração mencionado anteriormente, user1 pertence à política de grupo RADIUS-ADMIN de acordo com a configuração do ISE. Ele pode ser verificado se você executar o teste aaa-server e ativar depurações radius no ASA. As linhas relevantes das depurações estão marcadas em negrito.
ASAv# debug radius
ASAv#test aaa-server authentication ISE_AAA host 10.31.124.82 username user1 password *****
INFO: Attempting Authentication test to IP address (10.31.124.82) (timeout: 12 seconds)
RADIUS packet decode (authentication request) -------------------------------------- Raw packet data (length = 84)..... 01 1e 00 54 ac b6 7c e5 58 22 35 5e 8e 7c 48 73 | ...T..|.X"5^.|Hs 04 9f 8c 74 01 07 75 73 65 72 31 02 12 ad 19 1c | ...t..user1..... 40 da 43 e2 ba 95 46 a7 35 85 52 bb 6f 04 06 0a | @.C...F.5.R.o... 1f 7c 55 05 06 00 00 00 06 3d 06 00 00 00 05 1a | .|U......=...... 15 00 00 00 09 01 0f 63 6f 61 2d 70 75 73 68 3d | .......coa-push= 74 72 75 65 | true Parsed packet data..... Radius: Code = 1 (0x01) Radius: Identifier = 30 (0x1E) Radius: Length = 84 (0x0054) Radius: Vector: ACB67CE55822355E8E7C4873049F8C74 Radius: Type = 1 (0x01) User-Name Radius: Length = 7 (0x07) Radius: Value (String) = 75 73 65 72 31 | user1 Radius: Type = 2 (0x02) User-Password Radius: Length = 18 (0x12) Radius: Value (String) = ad 19 1c 40 da 43 e2 ba 95 46 a7 35 85 52 bb 6f | ...@.C...F.5.R.o Radius: Type = 4 (0x04) NAS-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 10.31.124.85 (0x0A1F7C55) Radius: Type = 5 (0x05) NAS-Port Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x6 Radius: Type = 61 (0x3D) NAS-Port-Type Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x5 Radius: Type = 26 (0x1A) Vendor-Specific Radius: Length = 21 (0x15) Radius: Vendor ID = 9 (0x00000009) Radius: Type = 1 (0x01) Cisco-AV-pair Radius: Length = 15 (0x0F) Radius: Value (String) = 63 6f 61 2d 70 75 73 68 3d 74 72 75 65 | coa-push=true send pkt 10.31.124.82/1645 rip 0x00007f03b419fb08 state 7 id 30 rad_vrfy() : response message verified rip 0x00007f03b419fb08 : chall_state '' : state 0x7 : reqauth: ac b6 7c e5 58 22 35 5e 8e 7c 48 73 04 9f 8c 74 : info 0x00007f03b419fc48 session_id 0x80000007 request_id 0x1e user 'user1' response '***' app 0 reason 0 skey 'cisco123' sip 10.31.124.82 type 1 RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 188)..... 02 1e 00 bc 9e 5f 7c db ad 63 87 d8 c1 bb 03 41 | ....._|..c.....A 37 3d 7a 35 01 07 75 73 65 72 31 18 43 52 65 61 | 7=z5..user1.CRea 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 31 66 37 | uthSession:0a1f7 63 35 32 52 71 51 47 52 72 70 36 5a 35 66 4e 4a | c52RqQGRrp6Z5fNJ 65 4a 39 76 4c 54 6a 73 58 75 65 59 35 4a 70 75 | eJ9vLTjsXueY5Jpu 70 44 45 61 35 36 34 66 52 4f 44 57 78 34 19 0e | pDEa564fRODWx4.. 52 41 44 49 55 53 2d 41 44 4d 49 4e 19 50 43 41 | RADIUS-ADMIN.PCA 43 53 3a 30 61 31 66 37 63 35 32 52 71 51 47 52 | CS:0a1f7c52RqQGR 72 70 36 5a 35 66 4e 4a 65 4a 39 76 4c 54 6a 73 | rp6Z5fNJeJ9vLTjs 58 75 65 59 35 4a 70 75 70 44 45 61 35 36 34 66 | XueY5JpupDEa564f 52 4f 44 57 78 34 3a 69 73 65 61 6d 79 32 34 2f | RODWx4:iseamy24/ 33 37 39 35 35 36 37 34 35 2f 33 31 | 379556745/31 Parsed packet data..... Radius: Code = 2 (0x02) Radius: Identifier = 30 (0x1E) Radius: Length = 188 (0x00BC) Radius: Vector: 9E5F7CDBAD6387D8C1BB0341373D7A35 Radius: Type = 1 (0x01) User-Name Radius: Length = 7 (0x07) Radius: Value (String) = 75 73 65 72 31 | user1 Radius: Type = 24 (0x18) State Radius: Length = 67 (0x43) Radius: Value (String) = 52 65 61 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 | ReauthSession:0a 31 66 37 63 35 32 52 71 51 47 52 72 70 36 5a 35 | 1f7c52RqQGRrp6Z5 66 4e 4a 65 4a 39 76 4c 54 6a 73 58 75 65 59 35 | fNJeJ9vLTjsXueY5 4a 70 75 70 44 45 61 35 36 34 66 52 4f 44 57 78 | JpupDEa564fRODWx 34 | 4 Radius: Type = 25 (0x19) Class Radius: Length = 14 (0x0E) Radius: Value (String) = 52 41 44 49 55 53 2d 41 44 4d 49 4e | RADIUS-ADMIN
Radius: Type = 25 (0x19) Class Radius: Length = 80 (0x50) Radius: Value (String) = 43 41 43 53 3a 30 61 31 66 37 63 35 32 52 71 51 | CACS:0a1f7c52RqQ 47 52 72 70 36 5a 35 66 4e 4a 65 4a 39 76 4c 54 | GRrp6Z5fNJeJ9vLT 6a 73 58 75 65 59 35 4a 70 75 70 44 45 61 35 36 | jsXueY5JpupDEa56 34 66 52 4f 44 57 78 34 3a 69 73 65 61 6d 79 32 | 4fRODWx4:iseamy2 34 2f 33 37 39 35 35 36 37 34 35 2f 33 31 | 4/379556745/31 rad_procpkt: ACCEPT RADIUS_ACCESS_ACCEPT: normal termination RADIUS_DELETE remove_req 0x00007f03b419fb08 session 0x80000007 id 30 free_rip 0x00007f03b419fb08 radius: send queue empty INFO: Authentication Successful
Outra maneira de verificar se user1 recebeu a política de grupo correta pelo ISE quando conectado via Secure Client é com o comando show vpn-sessiondb anyconnect.
ASAv# show vpn-sessiondb anyconnect Session Type: AnyConnect Username : user1 Index : 28 Assigned IP : 10.100.2.1 Public IP : 10.100.1.3 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 : 15604 Bytes Rx : 28706 Group Policy : RADIUS-ADMIN Tunnel Group : DefaultWEBVPNGroup Login Time : 04:14:45 UTC Wed Jun 3 2020 Duration : 0h:01m:29s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 0a6401010001c0005ed723b5 Security Grp : none
Você também pode usar os comandos debug radius e test aaa-server para solucionar problemas quando ocorrerem problemas. Os problemas mais comuns são descritos a seguir.
Se a autenticação falhar no Anyconnect e o ISE responder com um REJECT, você precisará verificar se o usuário está associado a um User Identity Group ou se a senha está incorreta. Navegue até Operations > Live logs > Details.
RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 20)..... 03 21 00 14 dd 74 bb 43 8f 0a 40 fe d8 92 de 7a | .!...t.C..@....z 27 66 15 be | 'f.. Parsed packet data..... Radius: Code = 3 (0x03) Radius: Identifier = 33 (0x21) Radius: Length = 20 (0x0014) Radius: Vector: DD74BB438F0A40FED892DE7A276615BE rad_procpkt: REJECT RADIUS_DELETE remove_req 0x00007f03b419fb08 session 0x80000009 id 33 free_rip 0x00007f03b419fb08 radius: send queue empty ERROR: Authentication Rejected: AAA failure

Se a Autenticação falhar no Anyconnect e a política de Autorização padrão for PermitAccess, a autenticação será aceita. No entanto, o atributo de classe não é apresentado na resposta Radius, portanto, o usuário está localizado em DfltGrpPolicy e não se conecta devido ao comando configurado: vpn-simultaneous-logins 0.
RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 174)..... 02 24 00 ae 5f 0f bc b1 65 53 64 71 1a a3 bd 88 | .$.._...eSdq.... 7c fe 44 eb 01 07 75 73 65 72 31 18 43 52 65 61 | |.D...user1.CRea 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 31 66 37 | uthSession:0a1f7 63 35 32 32 39 54 68 33 47 68 6d 44 54 49 35 71 | c5229Th3GhmDTI5q 37 48 46 45 30 7a 6f 74 65 34 6a 37 50 76 69 4b | 7HFE0zote4j7PviK 5a 35 77 71 6b 78 6c 50 39 33 42 6c 4a 6f 19 50 | Z5wqkxlP93BlJo.P 43 41 43 53 3a 30 61 31 66 37 63 35 32 32 39 54 | CACS:0a1f7c5229T 68 33 47 68 6d 44 54 49 35 71 37 48 46 45 30 7a | h3GhmDTI5q7HFE0z 6f 74 65 34 6a 37 50 76 69 4b 5a 35 77 71 6b 78 | ote4j7PviKZ5wqkx 6c 50 39 33 42 6c 4a 6f 3a 69 73 65 61 6d 79 32 | lP93BlJo:iseamy2 34 2f 33 37 39 35 35 36 37 34 35 2f 33 37 | 4/379556745/37 Parsed packet data..... Radius: Code = 2 (0x02) Radius: Identifier = 36 (0x24) Radius: Length = 174 (0x00AE) Radius: Vector: 5F0FBCB1655364711AA3BD887CFE44EB Radius: Type = 1 (0x01) User-Name Radius: Length = 7 (0x07) Radius: Value (String) = 75 73 65 72 31 | user1 Radius: Type = 24 (0x18) State Radius: Length = 67 (0x43) Radius: Value (String) = 52 65 61 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 | ReauthSession:0a 31 66 37 63 35 32 32 39 54 68 33 47 68 6d 44 54 | 1f7c5229Th3GhmDT 49 35 71 37 48 46 45 30 7a 6f 74 65 34 6a 37 50 | I5q7HFE0zote4j7P 76 69 4b 5a 35 77 71 6b 78 6c 50 39 33 42 6c 4a | viKZ5wqkxlP93BlJ 6f | o Radius: Type = 25 (0x19) Class Radius: Length = 80 (0x50) Radius: Value (String) = 43 41 43 53 3a 30 61 31 66 37 63 35 32 32 39 54 | CACS:0a1f7c5229T 68 33 47 68 6d 44 54 49 35 71 37 48 46 45 30 7a | h3GhmDTI5q7HFE0z 6f 74 65 34 6a 37 50 76 69 4b 5a 35 77 71 6b 78 | ote4j7PviKZ5wqkx 6c 50 39 33 42 6c 4a 6f 3a 69 73 65 61 6d 79 32 | lP93BlJo:iseamy2 34 2f 33 37 39 35 35 36 37 34 35 2f 33 37 | 4/379556745/37 rad_procpkt: ACCEPT RADIUS_ACCESS_ACCEPT: normal termination RADIUS_DELETE remove_req 0x00007f03b419fb08 session 0x8000000b id 36 free_rip 0x00007f03b419fb08 radius: send queue empty INFO: Authentication Successful ASAv#
Se vpn-simultaneous-logins 0 for alterado para 1, o usuário se conectará como mostrado na saída:
ASAv# show vpn-sessiondb anyconnect Session Type: AnyConnect Username : user1 Index : 41 Assigned IP : 10.100.2.1 Public IP : 10.100.1.3 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 : 15448 Bytes Rx : 15528 Group Policy : DfltGrpPolicy Tunnel Group : DefaultWEBVPNGroup Login Time : 18:43:39 UTC Wed Jun 3 2020 Duration : 0h:01m:40s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 0a640101000290005ed7ef5b Security Grp : none

Se a autenticação for aprovada, mas o usuário não tiver as políticas corretas aplicadas, por exemplo, se a política de grupo conectada tiver o túnel dividido em vez do túnel completo como deve ser. O usuário pode estar no grupo de identidade de usuário errado.
ASAv# sh vpn-sessiondb anyconnect Session Type: AnyConnect Username : user1 Index : 29 Assigned IP : 10.100.2.1 Public IP : 10.100.1.3 Protocol : AnyConnect-Parent SSL-Tunnel License : AnyConnect Premium Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 Bytes Tx : 15592 Bytes Rx : 0 Group Policy : RADIUS-USERS Tunnel Group : DefaultWEBVPNGroup Login Time : 04:36:50 UTC Wed Jun 3 2020 Duration : 0h:00m:20s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 0a6401010001d0005ed728e2 Security Grp : none
Este vídeo fornece as etapas para configurar o SSL Anyconnect com autenticação do ISE e atributo de classe para mapeamento de política de grupo.
| Revisão | Data de publicação | Comentários |
|---|---|---|
3.0 |
24-Aug-2026
|
Texto Alt e Formatação Atualizados. |
2.0 |
08-Aug-2024
|
Recertificação, conteúdo atualizado. |
1.0 |
15-Jun-2020
|
Versão inicial |