Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Configurar

Diagrama de Rede

Configurar a VPN de acesso remoto com autenticação AAA/RADIUS via FMC

Configurar a política de autorização no ISE (servidor RADIUS)

Verificar

Troubleshoot

Introduction

Este documento descreve como configurar a autorização RADIUS com um servidor Identity Services Engine (ISE) para que ele sempre encaminhe o mesmo endereço IP para o Firepower Threat Defense (FTD) para um usuário específico do Cisco AnyConnect Secure Mobility Client via RADIUS Attribute 8 Framed-IP-Address.

Prerequisites

Requirements

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

- FTD

- Firepower Management Center (FMC)

- ISE

- Cisco AnyConnect Secure Mobility Client

- protocolo RADIUS

Componentes Utilizados

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

- FMCv - 7.0.0 (build 94)

- FTDv - 7.0.0 (Build 94)

- ISE - 2.7.0.356

- AnyConnect - 4.10.02086

- Windows 10 Pro

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

Diagrama de Rede

Configurar a VPN de acesso remoto com autenticação AAA/RADIUS via FMC

Para um procedimento passo a passo, consulte este documento e este vídeo:

- Configuração de VPN de acesso remoto do AnyConnect no FTD

- Configuração inicial do AnyConnect para o FTD gerenciado pela FMC

A configuração de VPN de acesso remoto na CLI do FTD é:

ip local pool AC_Pool 10.0.50.1-10.0.50.100 mask 255.255.255.0

interface GigabitEthernet0/0

nameif Outside_Int

security-level 0

ip address 192.168.0.100 255.255.255.0

aaa-server ISE_Server protocol radius

aaa-server ISE_Server host 172.16.0.8

key *****

authentication-port 1812

accounting-port 1813

crypto ca trustpoint RAVPN_Self-Signed_Cert

enrollment self

fqdn none

subject-name CN=192.168.0.100

keypair <Default-RSA-Key>

crl configure

ssl trust-point RAVPN_Self-Signed_Cert

webvpn

enable Outside_Int

http-headers

hsts-server

enable

max-age 31536000

include-sub-domains

no preload

hsts-client

enable

x-content-type-options

x-xss-protection

content-security-policy

anyconnect image disk0:/csm/anyconnect-win-4.10.02086-webdeploy-k9.pkg 1 regex "Windows"

anyconnect enable

tunnel-group-list enable

cache

no disable

error-recovery disable

group-policy DfltGrpPolicy attributes

vpn-tunnel-protocol ikev2 ssl-client

user-authentication-idle-timeout none

webvpn

anyconnect keep-installer none

anyconnect modules value none

anyconnect ask none default anyconnect

http-comp none

activex-relay disable

file-entry disable

file-browsing disable

url-entry disable

deny-message none

tunnel-group RA_VPN type remote-access

tunnel-group RA_VPN general-attributes

address-pool AC_Pool

authentication-server-group ISE_Server

tunnel-group RA_VPN webvpn-attributes

group-alias RA_VPN enable

Configurar a política de autorização no ISE (servidor RADIUS)

Etapa 1. Faça login no servidor ISE e navegue para Administration > Network Resources > Network Devices.

Etapa 2. Na seção Network Devices (Dispositivos de rede), clique em Add para que o ISE possa processar solicitações de acesso RADIUS do FTD.

Insira os campos Nome do dispositivo de rede e Endereço IP e marque a caixa Configurações de autenticação RADIUS. O segredo compartilhado deve ser o mesmo valor que foi usado quando o objeto do servidor RADIUS no FMC foi criado.

Salve-o com o botão no final desta página.

Etapa 3. Navegue até Administração > Gerenciamento de identidades > Identidades.

Etapa 4. Na seção Usuários de Acesso à Rede, clique em Adicionar para criar user1 no banco de dados local do ISE.

Insira o nome de usuário e a senha nos campos Nome e Senha de login e clique em Enviar.

Etapa 5. Repita as etapas anteriores para criar user2.

Etapa 6. Navegue até Política > Conjuntos de políticas.

Passo 7. Clique na seta > no lado direito da tela.

Etapa 8. Clique na seta > ao lado de Política de autorização para expandi-la. Agora, clique no símbolo + para adicionar uma nova regra.

Forneça um nome para a regra e selecione o + símbolo na coluna Condições.

Clique na caixa de texto Editor de atributos e clique no ícone Assunto. Role para baixo até encontrar o atributo Nome de usuário RADIUS e escolha-o.

Mantenha Igual ao operador e digite user1 na caixa de texto ao lado dele. Clique em Usar para salvar o atributo.

A condição para esta regra está agora definida.

Etapa 9. Na coluna Results/Profiles, clique no símbolo + e escolha Create a New Authorization Profile.

Forneça um Nome e mantenha ACCESS_ACCEPT como o Tipo de Acesso. Role para baixo até a seção Configurações de atributos avançados.

Clique na seta laranja e escolha Radius > Framed-IP-Address—[8].

Digite o endereço IP que você deseja atribuir estaticamente a este usuário e clique em Salvar.

Etapa 10. Agora, escolha o perfil de autorização recém-criado.

A regra de autorização está agora definida. Click Save.

Verificar

Etapa 1. Navegue até sua máquina cliente onde o cliente Cisco AnyConnect Secure Mobility está instalado. Conecte-se ao headend FTD (uma máquina Windows é usada aqui) e insira as credenciais user1.

Clique no ícone da engrenagem (canto inferior esquerdo) e navegue até a guia Estatística. Confirme na seção Informações de Endereço que o endereço IP atribuído é realmente o configurado na política de autorização do ISE para este usuário.

A saída do comando debug radius all no FTD mostra:

firepower# SVC message: t/s=5/16: The user has requested to disconnect the connection.

webvpn_svc_np_tear_down: no ACL

webvpn_svc_np_tear_down: no IPv6 ACL

np_svc_destroy_session(0x9000)

radius mkreq: 0x13

alloc_rip 0x0000145d043b6460

new request 0x13 --> 3 (0x0000145d043b6460)

got user 'user1'

got password

add_req 0x0000145d043b6460 session 0x13 id 3

RADIUS_REQUEST

radius.c: rad_mkpkt

rad_mkpkt: ip:source-ip=192.168.0.101

RADIUS packet decode (authentication request)

RADIUS packet decode (response)

--------------------------------------

Raw packet data (length = 136).....

02 03 00 88 0c af 1c 41 4b c4 a6 58 de f3 92 31 | .......AK..X...1

7d aa 38 1e 01 07 75 73 65 72 31 08 06 0a 00 32 | }.8...user1....2

65 19 3d 43 41 43 53 3a 63 30 61 38 30 30 36 34 | e.=CACS:c0a80064

30 30 30 30 61 30 30 30 36 31 34 62 63 30 32 64 | 0000a000614bc02d

3a 64 72 69 76 65 72 61 70 2d 49 53 45 2d 32 2d | :driverap-ISE-2-

37 2f 34 31 37 34 39 34 39 37 38 2f 32 31 1a 2a | 7/417494978/21.*

00 00 00 09 01 24 70 72 6f 66 69 6c 65 2d 6e 61 | .....$profile-na

6d 65 3d 57 69 6e 64 6f 77 73 31 30 2d 57 6f 72 | me=Windows10-Wor

6b 73 74 61 74 69 6f 6e | kstation

Parsed packet data.....

Radius: Code = 2 (0x02)

Radius: Identifier = 3 (0x03)

Radius: Length = 136 (0x0088)

Radius: Vector: 0CAF1C414BC4A658DEF392317DAA381E

Radius: Type = 1 (0x01) User-Name

Radius: Length = 7 (0x07)

Radius: Value (String) =

75 73 65 72 31 | user1

Radius: Type = 8 (0x08) Framed-IP-Address

Radius: Length = 6 (0x06)

Radius: Value (IP Address) = 10.0.50.101 (0x0A003265)

Radius: Type = 25 (0x19) Class

Radius: Length = 61 (0x3D)

Radius: Value (String) =

43 41 43 53 3a 63 30 61 38 30 30 36 34 30 30 30 | CACS:c0a80064000

30 61 30 30 30 36 31 34 62 63 30 32 64 3a 64 72 | 0a000614bc02d:dr

69 76 65 72 61 70 2d 49 53 45 2d 32 2d 37 2f 34 | iverap-ISE-2-7/4

31 37 34 39 34 39 37 38 2f 32 31 | 17494978/21

Radius: Type = 26 (0x1A) Vendor-Specific

Radius: Length = 42 (0x2A)

Radius: Vendor ID = 9 (0x00000009)

Radius: Type = 1 (0x01) Cisco-AV-pair

Radius: Length = 36 (0x24)

Radius: Value (String) =

70 72 6f 66 69 6c 65 2d 6e 61 6d 65 3d 57 69 6e | profile-name=Win

64 6f 77 73 31 30 2d 57 6f 72 6b 73 74 61 74 69 | dows10-Workstati

6f 6e | on

rad_procpkt: ACCEPT

Got AV-Pair with value profile-name=Windows10-Workstation

RADIUS_ACCESS_ACCEPT: normal termination

RADIUS_DELETE

remove_req 0x0000145d043b6460 session 0x13 id 3

free_rip 0x0000145d043b6460

radius: send queue empty

Os registros FTD mostram:

firepower#

<omitted output>

Sep 22 2021 23:52:40: %FTD-6-725002: Device completed SSL handshake with client Outside_Int:192.168.0.101/60405 to 192.168.0.100/443 for TLSv1.2 session

Sep 22 2021 23:52:48: %FTD-7-609001: Built local-host Outside_Int:172.16.0.8

Sep 22 2021 23:52:48: %FTD-6-113004: AAA user authentication Successful : server = 172.16.0.8 : user = user1

Sep 22 2021 23:52:48: %FTD-6-113009: AAA retrieved default group policy (DfltGrpPolicy) for user = user1

Sep 22 2021 23:52:48: %FTD-6-113008: AAA transaction status ACCEPT : user = user1

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.radius["1"]["1"] = user1

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.radius["8"]["1"] = 167785061

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.radius["25"]["1"] = CACS:c0a800640000c000614bc1d0:driverap-ISE-2-7/417494978/23

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.cisco.grouppolicy = DfltGrpPolicy

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.cisco.ipaddress = 10.0.50.101

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.cisco.username = user1

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.cisco.username1 = user1

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.cisco.username2 =

Sep 22 2021 23:52:48: %FTD-7-734003: DAP: User user1, Addr 192.168.0.101: Session Attribute aaa.cisco.tunnelgroup = RA_VPN

Sep 22 2021 23:52:48: %FTD-6-734001: DAP: User user1, Addr 192.168.0.101, Connection AnyConnect: The following DAP records were selected for this connection: DfltAccessPolicy

Sep 22 2021 23:52:48: %FTD-6-113039: Group <DfltGrpPolicy> User <user1> IP <192.168.0.101> AnyConnect parent session started.

<omitted output>

Sep 22 2021 23:53:17: %FTD-6-725002: Device completed SSL handshake with client Outside_Int:192.168.0.101/60412 to 192.168.0.100/443 for TLSv1.2 session

Sep 22 2021 23:53:17: %FTD-7-737035: IPAA: Session=0x0000c000, 'IPv4 address request' message queued

Sep 22 2021 23:53:17: %FTD-7-737035: IPAA: Session=0x0000c000, 'IPv6 address request' message queued

Sep 22 2021 23:53:17: %FTD-7-737001: IPAA: Session=0x0000c000, Received message 'IPv4 address request'

Sep 22 2021 23:53:17: %FTD-6-737010: IPAA: Session=0x0000c000, AAA assigned address 10.0.50.101, succeeded

Sep 22 2021 23:53:17: %FTD-7-737001: IPAA: Session=0x0000c000, Received message 'IPv6 address request'

Sep 22 2021 23:53:17: %FTD-5-737034: IPAA: Session=0x0000c000, IPv6 address: no IPv6 address available from local pools

Sep 22 2021 23:53:17: %FTD-5-737034: IPAA: Session=0x0000c000, IPv6 address: callback failed during IPv6 request

Sep 22 2021 23:53:17: %FTD-4-722041: TunnelGroup <RA_VPN> GroupPolicy <DfltGrpPolicy> User <user1> IP <192.168.0.101> No IPv6 address available for SVC connection

Sep 22 2021 23:53:17: %FTD-7-609001: Built local-host Outside_Int:10.0.50.101

Sep 22 2021 23:53:17: %FTD-5-722033: Group <DfltGrpPolicy> User <user1> IP <192.168.0.101> First TCP SVC connection established for SVC session.

Sep 22 2021 23:53:17: %FTD-6-722022: Group <DfltGrpPolicy> User <user1> IP <192.168.0.101> TCP SVC connection established without compression

Sep 22 2021 23:53:17: %FTD-7-746012: user-identity: Add IP-User mapping 10.0.50.101 - LOCAL\user1 Succeeded - VPN user

Sep 22 2021 23:53:17: %FTD-6-722055: Group <DfltGrpPolicy> User <user1> IP <192.168.0.101> Client Type: Cisco AnyConnect VPN Agent for Windows 4.10.02086

Sep 22 2021 23:53:17: %FTD-4-722051: Group

User

IP <192.168.0.101> IPv4 Address <10.0.50.101> IPv6 address <::> assigned to session

Os registros RADIUS Live no ISE mostram:

Etapa 2. Conecte-se ao headend FTD (uma máquina Windows é usada aqui) e insira as credenciais do usuário2.

A seção Address Information mostra que o endereço IP atribuído é, de fato, o primeiro endereço IP disponível no pool local IPv4 configurado via FMC.

A saída do comando debug radius all no FTD mostra:

firepower# SVC message: t/s=5/16: The user has requested to disconnect the connection.

webvpn_svc_np_tear_down: no ACL

webvpn_svc_np_tear_down: no IPv6 ACL

np_svc_destroy_session(0xA000)

radius mkreq: 0x15

alloc_rip 0x0000145d043b6460

new request 0x15 --> 4 (0x0000145d043b6460)

got user 'user2'

got password

add_req 0x0000145d043b6460 session 0x15 id 4

RADIUS_REQUEST

radius.c: rad_mkpkt

rad_mkpkt: ip:source-ip=192.168.0.101

RADIUS packet decode (authentication request)

RADIUS packet decode (response)

--------------------------------------

Raw packet data (length = 130).....

02 04 00 82 a6 67 35 9e 10 36 93 18 1f 1b 85 37 | .....g5..6.....7

b6 c3 18 4f 01 07 75 73 65 72 32 19 3d 43 41 43 | ...O..user2.=CAC

53 3a 63 30 61 38 30 30 36 34 30 30 30 30 62 30 | S:c0a800640000b0

30 30 36 31 34 62 63 30 61 33 3a 64 72 69 76 65 | 00614bc0a3:drive

72 61 70 2d 49 53 45 2d 32 2d 37 2f 34 31 37 34 | rap-ISE-2-7/4174

39 34 39 37 38 2f 32 32 1a 2a 00 00 00 09 01 24 | 94978/22.*.....$

70 72 6f 66 69 6c 65 2d 6e 61 6d 65 3d 57 69 6e | profile-name=Win

64 6f 77 73 31 30 2d 57 6f 72 6b 73 74 61 74 69 | dows10-Workstati

6f 6e | on

Parsed packet data.....

Radius: Code = 2 (0x02)

Radius: Identifier = 4 (0x04)

Radius: Length = 130 (0x0082)

Radius: Vector: A667359E103693181F1B8537B6C3184F

Radius: Type = 1 (0x01) User-Name

Radius: Length = 7 (0x07)

Radius: Value (String) =

75 73 65 72 32 | user2

Radius: Type = 25 (0x19) Class

Radius: Length = 61 (0x3D)

Radius: Value (String) =

43 41 43 53 3a 63 30 61 38 30 30 36 34 30 30 30 | CACS:c0a80064000

30 62 30 30 30 36 31 34 62 63 30 61 33 3a 64 72 | 0b000614bc0a3:dr

69 76 65 72 61 70 2d 49 53 45 2d 32 2d 37 2f 34 | iverap-ISE-2-7/4

31 37 34 39 34 39 37 38 2f 32 32 | 17494978/22

Radius: Type = 26 (0x1A) Vendor-Specific

Radius: Length = 42 (0x2A)

Radius: Vendor ID = 9 (0x00000009)

Radius: Type = 1 (0x01) Cisco-AV-pair

Radius: Length = 36 (0x24)

Radius: Value (String) =

70 72 6f 66 69 6c 65 2d 6e 61 6d 65 3d 57 69 6e | profile-name=Win

64 6f 77 73 31 30 2d 57 6f 72 6b 73 74 61 74 69 | dows10-Workstati

6f 6e | on

rad_procpkt: ACCEPT

Got AV-Pair with value profile-name=Windows10-Workstation

RADIUS_ACCESS_ACCEPT: normal termination

RADIUS_DELETE

remove_req 0x0000145d043b6460 session 0x15 id 4

free_rip 0x0000145d043b6460

radius: send queue empty

Os registros FTD mostram:

<omitted output>

Sep 22 2021 23:59:26: %FTD-6-725002: Device completed SSL handshake with client Outside_Int:192.168.0.101/60459 to 192.168.0.100/443 for TLSv1.2 session

Sep 22 2021 23:59:35: %FTD-7-609001: Built local-host Outside_Int:172.16.0.8

Sep 22 2021 23:59:35: %FTD-6-113004: AAA user authentication Successful : server = 172.16.0.8 : user = user2

Sep 22 2021 23:59:35: %FTD-6-113009: AAA retrieved default group policy (DfltGrpPolicy) for user = user2

Sep 22 2021 23:59:35: %FTD-6-113008: AAA transaction status ACCEPT : user = user2

Sep 22 2021 23:59:35: %FTD-7-734003: DAP: User user2, Addr 192.168.0.101: Session Attribute aaa.radius["1"]["1"] = user2

Sep 22 2021 23:59:35: %FTD-7-734003: DAP: User user2, Addr 192.168.0.101: Session Attribute aaa.radius["25"]["1"] = CACS:c0a800640000d000614bc367:driverap-ISE-2-7/417494978/24

Sep 22 2021 23:59:35: %FTD-7-734003: DAP: User user2, Addr 192.168.0.101: Session Attribute aaa.cisco.grouppolicy = DfltGrpPolicy

Sep 22 2021 23:59:35: %FTD-7-734003: DAP: User user2, Addr 192.168.0.101: Session Attribute aaa.cisco.username = user2

Sep 22 2021 23:59:35: %FTD-7-734003: DAP: User user2, Addr 192.168.0.101: Session Attribute aaa.cisco.username1 = user2

Sep 22 2021 23:59:35: %FTD-7-734003: DAP: User user2, Addr 192.168.0.101: Session Attribute aaa.cisco.username2 =

Sep 22 2021 23:59:35: %FTD-7-734003: DAP: User user2, Addr 192.168.0.101: Session Attribute aaa.cisco.tunnelgroup = RA_VPN

Sep 22 2021 23:59:35: %FTD-6-734001: DAP: User user2, Addr 192.168.0.101, Connection AnyConnect: The following DAP records were selected for this connection: DfltAccessPolicy

Sep 22 2021 23:59:35: %FTD-6-113039: Group <DfltGrpPolicy> User <user2> IP <192.168.0.101> AnyConnect parent session started.

<omitted output>

Sep 22 2021 23:59:52: %FTD-6-725002: Device completed SSL handshake with client Outside_Int:192.168.0.101/60470 to 192.168.0.100/443 for TLSv1.2 session

Sep 22 2021 23:59:52: %FTD-7-737035: IPAA: Session=0x0000d000, 'IPv4 address request' message queued

Sep 22 2021 23:59:52: %FTD-7-737035: IPAA: Session=0x0000d000, 'IPv6 address request' message queued

Sep 22 2021 23:59:52: %FTD-7-737001: IPAA: Session=0x0000d000, Received message 'IPv4 address request'

Sep 22 2021 23:59:52: %FTD-5-737003: IPAA: Session=0x0000d000, DHCP configured, no viable servers found for tunnel-group 'RA_VPN'

Sep 22 2021 23:59:52: %FTD-7-737400: POOLIP: Pool=AC_Pool, Allocated 10.0.50.1 from pool

Sep 22 2021 23:59:52: %FTD-7-737200: VPNFIP: Pool=AC_Pool, Allocated 10.0.50.1 from pool

Sep 22 2021 23:59:52: %FTD-6-737026: IPAA: Session=0x0000d000, Client assigned 10.0.50.1 from local pool AC_Pool

Sep 22 2021 23:59:52: %FTD-6-737006: IPAA: Session=0x0000d000, Local pool request succeeded for tunnel-group 'RA_VPN'

Sep 22 2021 23:59:52: %FTD-7-737001: IPAA: Session=0x0000d000, Received message 'IPv6 address request'

Sep 22 2021 23:59:52: %FTD-5-737034: IPAA: Session=0x0000d000, IPv6 address: no IPv6 address available from local pools

Sep 22 2021 23:59:52: %FTD-5-737034: IPAA: Session=0x0000d000, IPv6 address: callback failed during IPv6 request

Sep 22 2021 23:59:52: %FTD-4-722041: TunnelGroup <RA_VPN> GroupPolicy <DfltGrpPolicy> User <user2> IP <192.168.0.101> No IPv6 address available for SVC connection

Sep 22 2021 23:59:52: %FTD-7-609001: Built local-host Outside_Int:10.0.50.1

Sep 22 2021 23:59:52: %FTD-5-722033: Group <DfltGrpPolicy> User <user2> IP <192.168.0.101> First TCP SVC connection established for SVC session.

Sep 22 2021 23:59:52: %FTD-6-722022: Group <DfltGrpPolicy> User <user2> IP <192.168.0.101> TCP SVC connection established without compression

Sep 22 2021 23:59:52: %FTD-7-746012: user-identity: Add IP-User mapping 10.0.50.1 - LOCAL\user2 Succeeded - VPN user

Sep 22 2021 23:59:52: %FTD-6-722055: Group <DfltGrpPolicy> User <user2> IP <192.168.0.101> Client Type: Cisco AnyConnect VPN Agent for Windows 4.10.02086

Sep 22 2021 23:59:52: %FTD-4-722051: Group

User

IP <192.168.0.101> IPv4 Address <10.0.50.1> IPv6 address <::> assigned to session

Os registros RADIUS Live no ISE mostram:

Note: Você deve usar diferentes intervalos de endereços IP para atribuição de endereços IP no pool local de IP FTD e nas políticas de autorização ISE para evitar conflitos de endereço IP duplicado entre seus AnyConnect Clients. Neste exemplo de configuração, o FTD foi configurado com um pool local IPv4 de 10.0.50.1 a 10.0.50.100 e o servidor ISE atribui endereço IP estático de 10.0.50.101.

Troubleshoot

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

No DTF:

- debug radius all

No ISE:

- Registros ao vivo RADIUS