Este documento demuestra cómo configurar el Cisco Adaptive Security Appliance (ASA) para utilizar un servidor de Servicio de usuario de acceso telefónico de autenticación remota (RADIUS) para la autenticación de usuarios de WebVPN. El servidor RADIUS en este ejemplo es un servidor de Cisco Access Control Server (ACS), versión 4.1 Esta configuración se realiza con Adaptive Security Device Manager (ASDM) 6.0(2) en un ASA que ejecuta la versión de software 8.0(2).
Nota: En este ejemplo, la autenticación RADIUS se configura para los usuarios de WebVPN, pero esta configuración también se puede utilizar para otros tipos de VPN de acceso remoto. Simplemente asigne el grupo de servidores AAA al perfil de conexión deseado (grupo de túnel) como se muestra.
Se requiere una configuración WebVPN básica.
Cisco ACS debe tener usuarios configurados para la autenticación de usuarios. Consulte la sección Adición de una Cuenta de Usuario Básica de Administración de Usuarios para obtener más información.
En esta sección, se le presenta la información para configurar la autenticación RADIUS en ACS y ASA.
Complete estos pasos para configurar el servidor ACS para comunicarse con el ASA.
Elija Network Configuration en el menú izquierdo de la pantalla ACS.
Elija Add Entry bajo AAA Clients.
Proporcione la información del cliente:
Nombre de host del cliente AAA: un nombre de su elección
Dirección IP del cliente AAA: la dirección desde la que el dispositivo de seguridad se pone en contacto con el ACS
Secreto compartido: una clave secreta configurada en el ACS y en el dispositivo de seguridad
En el menú desplegable Authenticate Using elija RADIUS (Cisco VPN 3000/ASA/PIX 7.x+).
Haga clic en Enviar+Aplicar.
Complete estos pasos en el ASDM para configurar el ASA para comunicarse con el servidor ACS y autenticar los clientes WebVPN.
Elija Configuration > Remote Access VPN > AAA Setup > AAA Server Groups.
Haga clic en Agregar junto a Grupos de servidores AAA.
En la ventana que aparece, especifique un nombre para el nuevo grupo de servidores AAA y elija RADIUS como protocolo. Haga clic en Aceptar cuando termine.
Asegúrese de que el nuevo grupo está seleccionado en el panel superior y haga clic en Agregar a la derecha del panel inferior.
Proporcione la información del servidor:
Nombre de interfaz: la interfaz que ASA debe utilizar para alcanzar el servidor ACS
Nombre de servidor o dirección IP: la dirección que el ASA debe utilizar para alcanzar el servidor ACS
Clave secreta del servidor: la clave secreta compartida configurada para el ASA en el servidor ACS
Una vez que haya configurado el grupo de servidores AAA y el servidor, navegue hasta Configuration > Remote Access VPN > Clientless SSL VPN Access > Connection Profiles para configurar WebVPN para utilizar la nueva configuración AAA.
Nota: Aunque en este ejemplo se utiliza WebVPN, puede establecer cualquier perfil de conexión de acceso remoto (grupo de túnel) para que utilice esta configuración AAA.
Elija el perfil para el que desea configurar AAA y haga clic en Edit.
En Authentication , elija el grupo de servidores RADIUS que creó anteriormente. Haga clic en Aceptar cuando termine.
Complete estos pasos en la interfaz de línea de comandos (CLI) para configurar el ASA para comunicarse con el servidor ACS y autenticar los clientes WebVPN.
ciscoasa#configure terminal !--- Configure the AAA Server group. ciscoasa(config)# aaa-server RAD_SRV_GRP protocol RADIUS ciscoasa(config-aaa-server-group)# exit !--- Configure the AAA Server. ciscoasa(config)# aaa-server RAD_SRV_GRP (inside) host 192.168.1.2 ciscoasa(config-aaa-server-host)# key secretkey ciscoasa(config-aaa-server-host)# exit !--- Configure the tunnel group to use the new AAA setup. ciscoasa(config)# tunnel-group ExampleGroup1 general-attributes ciscoasa(config-tunnel-general)# authentication-server-group RAD_SRV_GRP
Utilize esta sección para confirmar que su configuración funcione correctamente.
Verifique su configuración RADIUS con el botón Test en la pantalla AAA Server Groups configuration. Una vez que proporcione un nombre de usuario y una contraseña, este botón le permite enviar una solicitud de autenticación de prueba al servidor ACS.
Elija Configuration > Remote Access VPN > AAA Setup > AAA Server Groups.
Seleccione el grupo de servidores AAA que desee en el panel superior.
Seleccione el servidor AAA que desea probar en el panel inferior.
Haga clic en el botón Test situado a la derecha del panel inferior.
En la ventana que aparece, haga clic en el botón de opción Authentication y proporcione las credenciales con las que desea realizar la prueba. Haga clic en Aceptar cuando termine.
Una vez que el ASA se pone en contacto con el servidor AAA, aparece un mensaje de éxito o fracaso.
Puede utilizar el comando test en la línea de comandos para probar su configuración AAA. Se envía una solicitud de prueba al servidor AAA y el resultado aparece en la línea de comandos.
ciscoasa#test aaa-server authentication RAD_SVR_GRP host 192.168.1.2 username kate password cisco123 INFO: Attempting Authentication test to IP address <192.168.1.2> (timeout: 12 seconds) INFO: Authentication Successful
El comando debug radius puede ayudarlo a resolver problemas de autenticación en este escenario. Este comando habilita la depuración de sesiones RADIUS así como la decodificación de paquetes RADIUS. En cada salida de depuración presentada, el primer paquete decodificado es el paquete enviado desde el ASA al servidor ACS. El segundo paquete es la respuesta del servidor ACS.
Nota: Consulte Información Importante sobre Comandos Debug antes de utilizar los comandos debug.
Cuando la autenticación es exitosa, el servidor RADIUS envía un mensaje access-accept.
ciscoasa#debug radius !--- First Packet. Authentication Request. ciscoassa#radius mkreq: 0x88 alloc_rip 0xd5627ae4 new request 0x88 --> 52 (0xd5627ae4) got user '' got password add_req 0xd5627ae4 session 0x88 id 52 RADIUS_REQUEST radius.c: rad_mkpkt RADIUS packet decode (authentication request) -------------------------------------- Raw packet data (length = 62)..... 01 34 00 3e 18 71 56 d7 c4 ad e2 73 30 a9 2e cf | .4.>.qV....s0... 5c 65 3a eb 01 06 6b 61 74 65 02 12 0e c1 28 b7 | \e:...kate....(. 87 26 ed be 7b 2c 7a 06 7c a3 73 19 04 06 c0 a8 | .&..{,z.|.s..... 01 01 05 06 00 00 00 34 3d 06 00 00 00 05 | .......4=..... Parsed packet data..... Radius: Code = 1 (0x01) Radius: Identifier = 52 (0x34) Radius: Length = 62 (0x003E) Radius: Vector: 187156D7C4ADE27330A92ECF5C653AEB Radius: Type = 1 (0x01) User-Name Radius: Length = 6 (0x06) Radius: Value (String) = 6b 61 74 65 | kate Radius: Type = 2 (0x02) User-Password Radius: Length = 18 (0x12) Radius: Value (String) = 0e c1 28 b7 87 26 ed be 7b 2c 7a 06 7c a3 73 19 | ..(..&..{,z.|.s. Radius: Type = 4 (0x04) NAS-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 192.168.1.1 (0xC0A80101) Radius: Type = 5 (0x05) NAS-Port Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x34 Radius: Type = 61 (0x3D) NAS-Port-Type Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x5 send pkt 192.168.1.2/1645 rip 0xd5627ae4 state 7 id 52 rad_vrfy() : response message verified rip 0xd544d2e8 : chall_state '' : state 0x7 : timer 0x0 : reqauth: 18 71 56 d7 c4 ad e2 73 30 a9 2e cf 5c 65 3a eb : info 0x88 session_id 0x88 request_id 0x34 user 'kate' response '***' app 0 reason 0 skey 'secretkey' sip 192.168.1.2 type 1 !--- Second Packet. Authentication Response. RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 50)..... 02 34 00 32 35 a1 88 2f 8a bf 2a 14 c5 31 78 59 | .4.25../..*..1xY 60 31 35 89 08 06 ff ff ff ff 19 18 43 41 43 53 | `15.........CACS 3a 30 2f 32 61 36 2f 63 30 61 38 30 31 30 31 2f | :0/2a6/c0a80101/ 35 32 | 52 Parsed packet data..... Radius: Code = 2 (0x02) Radius: Identifier = 52 (0x34) Radius: Length = 50 (0x0032) Radius: Vector: 35A1882F8ABF2A14C531785960313589 Radius: Type = 8 (0x08) Framed-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 255.255.255.255 (0xFFFFFFFF) Radius: Type = 25 (0x19) Class Radius: Length = 24 (0x18) Radius: Value (String) = 43 41 43 53 3a 30 2f 32 61 36 2f 63 30 61 38 30 | CACS:0/2a6/c0a80 31 30 31 2f 35 32 | 101/52 rad_procpkt: ACCEPT RADIUS_ACCESS_ACCEPT: normal termination RADIUS_DELETE remove_req 0xd5627ae4 session 0x88 id 52 free_rip 0xd5627ae4 radius: send queue empty
Cuando falla la autenticación, el servidor ACS envía un mensaje access-reject.
ciscoasa#debug radius !--- First Packet. Authentication Request. ciscoasa# radius mkreq: 0x85 alloc_rip 0xd5627ae4 new request 0x85 --> 49 (0xd5627ae4) got user '' got password add_req 0xd5627ae4 session 0x85 id 49 RADIUS_REQUEST radius.c: rad_mkpkt RADIUS packet decode (authentication request) -------------------------------------- Raw packet data (length = 62)..... 01 31 00 3e 88 21 46 07 34 5d d2 a3 a0 59 1e ff | .1.>.!F.4]...Y.. cc 15 2a 1b 01 06 6b 61 74 65 02 12 60 eb 05 32 | ..*...kate..`..2 87 69 78 a3 ce d3 80 d8 4b 0d c3 37 04 06 c0 a8 | .ix.....K..7.... 01 01 05 06 00 00 00 31 3d 06 00 00 00 05 | .......1=..... Parsed packet data..... Radius: Code = 1 (0x01) Radius: Identifier = 49 (0x31) Radius: Length = 62 (0x003E) Radius: Vector: 88214607345DD2A3A0591EFFCC152A1B Radius: Type = 1 (0x01) User-Name Radius: Length = 6 (0x06) Radius: Value (String) = 6b 61 74 65 | kate Radius: Type = 2 (0x02) User-Password Radius: Length = 18 (0x12) Radius: Value (String) = 60 eb 05 32 87 69 78 a3 ce d3 80 d8 4b 0d c3 37 | `..2.ix.....K..7 Radius: Type = 4 (0x04) NAS-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 192.168.1.1 (0xC0A80101) Radius: Type = 5 (0x05) NAS-Port Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x31 Radius: Type = 61 (0x3D) NAS-Port-Type Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x5 send pkt 192.168.1.2/1645 rip 0xd5627ae4 state 7 id 49 rad_vrfy() : response message verified rip 0xd544d2e8 : chall_state '' : state 0x7 : timer 0x0 : reqauth: 88 21 46 07 34 5d d2 a3 a0 59 1e ff cc 15 2a 1b : info 0x85 session_id 0x85 request_id 0x31 user 'kate' response '***' app 0 reason 0 skey 'secretkey' sip 192.168.1.2 type 1 !--- Second packet. Authentication Response. RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 32)..... 03 31 00 20 70 98 50 af 39 cc b9 ba df a7 bd ff | .1. p.P.9....... 06 af fb 02 12 0c 52 65 6a 65 63 74 65 64 0a 0d | ......Rejected.. Parsed packet data..... Radius: Code = 3 (0x03) Radius: Identifier = 49 (0x31) Radius: Length = 32 (0x0020) Radius: Vector: 709850AF39CCB9BADFA7BDFF06AFFB02 Radius: Type = 18 (0x12) Reply-Message Radius: Length = 12 (0x0C) Radius: Value (String) = 52 65 6a 65 63 74 65 64 0a 0d | Rejected.. rad_procpkt: REJECT RADIUS_DELETE remove_req 0xd5627ae4 session 0x85 id 49 free_rip 0xd5627ae4 radius: send queue empty
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
21-Aug-2007 |
Versión inicial |