安全 : Cisco ASA 5500 系列自适应安全设备

ASA 8.0:为 WebVPN 用户配置 RADIUS 身份验证

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2014 年 9 月 24 日) | 反馈


目录


简介

本文展示如何配置思科可适应安全工具(ASA)使用远程验证拨入用户服务(RADIUS)服务器WebVPN用户的验证。在本例中的RADIUS服务器是Cisco访问控制服务器(ACS)服务器,此配置用可适应安全设备管理器的版本4.1 (ASDM)执行6.0(2)在ASA运行软件版本8.0(2)。

注意: 在本示例中,为 WebVPN 用户配置了 RADIUS 身份验证,但此配置也可用于其他类型的远程访问 VPN。只需将 AAA 服务器组分配给所需的连接配置文件(隧道组)即可,如下所示。

先决条件

配置 ACS 服务器

本部分提供有关如何在 ACS 和 ASA 上配置 RADIUS 身份验证的信息。

完成以下步骤,以将 ACS 服务器配置为与 ASA 通信。

  1. 从 ACS 屏幕的左侧菜单中选择 Network Configuration

  2. 在“AAA Clients”下,选择 Add Entry

  3. 提供客户端信息:

    • AAA客户端主机名-您的选择名称

    • AAA Client IP Address—安全设备与 ACS 联系的地址

    • Shared Secret—在 ACS 和安全设备上配置的密钥

  4. Authenticate Using 下拉列表中,选择“RADIUS (Cisco VPN 3000/ASA/PIX 7.x+)”。

  5. 单击 Submit+Apply

AAA 客户端配置示例

configure_radius_authentication-1.gif

配置安全设备

ASDM

在 ASDM 中完成以下步骤,以将 ASA 配置为与 ACS 服务器通信并对 WebVPN 客户端进行身份验证。

  1. 选择 Configuration > Remote Access VPN > AAA Setup > AAA Server Groups

  2. 单击“AAA Server Groups”旁边的 Add

  3. 在显示的窗口中,为新的 AAA 服务器组指定名称并选择 RADIUS 作为协议。完成后单击 OK

    configure_radius_authentication-2.gif

  4. 确保在顶部窗格中选择了新组,并单击下部窗格右侧的 Add

  5. 提供服务器信息:

    • Interface Name—ASA 必须用来连接 ACS 服务器的接口

    • Server Name or IP address—ASA 必须用来连接 ACS 服务器的地址

    • Server Secret Key—在 ACS 服务器上为 ASA 配置的共享密钥

    ASA 上的 AAA 服务器配置示例

    configure_radius_authentication-3.gif

  6. 配置了 AAA 服务器组和服务器后,导航到 Configuration > Remote Access VPN > Clientless SSL VPN Access > Connection Profiles,以将 WebVPN 配置为使用新的 AAA 配置。

    注意: 尽管本示例使用 WebVPN,但您也可以将任何远程访问连接配置文件(隧道组)设置为使用此 AAA 设置。

  7. 选择要配置 AAA 的配置文件,并单击 Edit

  8. Authentication 下,选择之前创建的 RADIUS 服务器组。完成后单击 OK

    configure_radius_authentication-4.gif

命令行界面

完成在命令行界面(CLI)的这些步骤为了配置ASA用ACS服务器通信和验证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

验证

使用本部分可确认配置能否正常运行。

使用 ASDM 测试

使用“AAA Server Groups”配置屏幕上的 Test 按钮验证您的 RADIUS 配置。提供用户名和口令后,使用此按钮可向 ACS 服务器发送测试身份验证请求。

  1. 选择 Configuration > Remote Access VPN > AAA Setup > AAA Server Groups

  2. 在顶部窗格中选择所需的 AAA 服务器组。

  3. 在下部窗格中选择要测试的 AAA 服务器。

  4. 单击下部窗格右侧的 Test 按钮。

  5. 在显示的窗口中,单击 Authentication 单选按钮,并提供要用来进行测试的凭据。完成后单击 OK

    configure_radius_authentication-5.gif

  6. 在 ASA 与 AAA 服务器联系后,将显示成功或失败消息。

    configure_radius_authentication-6.gif

使用 CLI 测试

可以在命令行中使用 test 命令测试您的 AAA 设置。向 AAA 服务器发送测试请求,并在命令行中显示结果。

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

故障排除

debug radius 命令可帮助您对此方案中的身份验证问题进行故障排除。此命令将启用 RADIUS 会话调试以及 RADIUS 数据包解码。在显示的每个调试输出中,解码的第一个数据包为从 ASA 发送到 ACS 服务器的数据包。第二个数据包为来自 ACS 服务器的响应。

注意: 使用 debug 命令之前,请参阅有关 Debug 命令的重要信息

如果身份验证成功,则 RADIUS 服务器会发送一条 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

如果身份验证失败,则 ACS 服务器会发送一条 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

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 98594