之前已经说过了SSL VPN的基本配置,在此基础上,实现不同角色的用户使用不同的策略。

ASA防火墙根据用户的OU分配组策略的功能,是根据IETF的radius属性中的option 25实现的。radius服务器在进行身份验证和授权的过程中可以将包含用户OU的该属性值发送给ASA

注:IETF RADIUS option 25:RFC 2865

下面的配置案例,针对角色为SSLVPN-DBA的用户,ASA读取到这个属性时,将自动查询与该属性值一致的group-policy。

当一个用户存在多个OU时,ASA将按照ascii码表的顺序逐个查找角色对应的策略,一旦找到匹配,就不再查询其他角色。

Radius

在防火墙配置组策略之前,需要在radius上对需要的用户分配相应的OU。

ASA针对SSLVPN-DBA角色配置策略

aaa-server,tunnel-group配置在前一篇已写过

下发不同路由列表TECH-SPL

1
access-list TECH-SPL extended permit ip 172.17.0.0 255.255.0.0 any

配置group-policy,关联需要下发的路由TECH-SPL、访问控制SSL-ACL、地址池SSL-POOL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
group-policy SSLVPN-DBA internal
group-policy SSLVPN-DBA attributes
dns-server value 192.168.115.11 192.168.115.12
vpn-simultaneous-logins 30
vpn-idle-timeout 120
vpn-filter value SSL-ACL
vpn-tunnel-protocol ssl-client
split-tunnel-policy tunnelspecified
split-tunnel-network-list value TECH-SPL
address-pools value SSL-POOL
webvpn
anyconnect ssl dtls enable
anyconnect mtu 1200
anyconnect keep-installer installed
anyconnect dtls compression lzs
anyconnect ask none default anyconnect

Debugging

在ASA上使用这两个命令查看debug

debug radius all - 查看radius服务器的响应以及用户属性
show vpn-sessiondb anyconncet - 查看anyconnect用户分配的组策略和隧道组

1
2
3
4
5
#debug radius all
Radius: Type = 25 (0x19) Class
Radius: Length = 17 (0x11)
Radius: Value (String) =
4d 6f 62 69 6b 65 2d 45 76 65 72 79 6f 6e 65 | SSLVPN-DBA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#show vpn-sessiondb anyconncet
Username : v-KarlAndroRivera Index : 95
Assigned IP : 1.2.3.4 Public IP : 5.6.7.8
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 : 793552 Bytes Rx : 604215
Group Policy : SSLVPN-DBA Tunnel Group : DefaultWEBVPNGroup
Login Time : 13:02:57 beijing Mon Oct 29 2017
Duration : 1h:23m:09s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac11003d0005f0005bd69481
Security Grp : none

参考文档:Cisco ASA - Group-policy assignment based on OU