基于组的 ASA anyconnect VPN 限制

网络工程 思科 思科-ASA 虚拟专用网 防火墙
2022-02-11 06:24:40

我们在 ASA 上实施了远程访问 VPN 并与onelogin云基础OTP服务集成,我们在云基础服务中拥有 LDAP 服务器并onelogin提供 RADIUS 服务以提供 LDAP+OTP 基础身份验证。

在我的 VPN 配置中,我们只是告诉使用oneloginRADIUS 进行身份验证,一切正常,但是现在如果我想创建多个组并基于组提供身份验证并设置 ACL,我该怎么做?

这就是我们所拥有的 EMPLOYEE 组,现在我想创建另一个只有 2 个名为 CONTRACTOR 的用户的组,我希望他们不要使用 EMPLOYEE 配置文件进行身份验证。

aaa-server ONELOGIN (outside) host 201.XX.XX.12
 key *****
 authentication-port 1812
 accounting-port 1813

tunnel-group EMPLOYEE type remote-access
tunnel-group EMPLOYEE general-attributes
 address-pool ANYCONNECT-POOL-EMPLOYEE
 authentication-server-group ONELOGIN
 default-group-policy GroupPolicy_ANYCONNECT-EMPLOYEE

更新

为了进行测试,我已经freeradius在我的实验室中安装并与 LDAP 绑定,这是示例配置。

post-auth部分中的自由半径配置

if (LDAP-Group == "sales" ) {
    update reply {
                    Class = OU=GroupPolicy_ANYCONNECT-SALES;
                Reply-Message = "You are Accepted"
            }
     }
    elsif (LDAP-Group == "finance" ) {
        update reply {
                    Class = OU=GroupPolicy_ANYCONNECT-FINANCE;
            Reply-Message = "You are Accepted"
        }
    }
    else {
        reject
    }

ASA 配置:

group-policy GroupPolicy_ANYCONNECT-SALES internal
group-policy GroupPolicy_ANYCONNECT-SALES attributes
 dns-server value 10.0.0.10 10.0.0.11
 vpn-filter value VPN-FILTER-SALES
 vpn-tunnel-protocol ssl-client
 group-lock value SALES
 split-tunnel-policy tunnelspecified
 split-tunnel-network-list value ANYCONNECT-SALES
 default-domain value sales.com
!
!
tunnel-group SALES type remote-access
tunnel-group SALES general-attributes
 address-pool ANYCONNECT-POOL
 authentication-server-group RADIUS
 default-group-policy GroupPolicy_ANYCONNECT-SALES
tunnel-group SALES webvpn-attributes
 group-alias SALES enable

我看到 ASA VPN 允许用户 A 在两个隧道中进行身份验证,我如何锁定以使用户 A 无法在财务中进行身份验证,而用户 B 将无法向销售人员进行身份验证,简而言之,用户只能通过身份验证拥有群组简介。

2个回答

解决方案:

这就是我在半径上所做的,TunelGroupName=使用 ldap 组映射 ASA 属性。及其现在的工作。

/etc/raddb/用户

DEFAULT Ldap-Group == "cn=sales,cn=groups,cn=compat,dc=example,dc=com", ASA-TunnelGroupName = "SALES"
DEFAULT Ldap-Group == "cn=hr,cn=groups,cn=compat,dc=example,dc=com", ASA-TunnelGroupName = "HR"

在 ASA 上,这通常通过将不同的组策略分配给不同的用户来实现。使用 LDAP 身份验证时,可以使用 LDAP 属性映射自动实现。为了使用 LDAP 将组策略分配给用户,您必须将 LDAP 属性(例如 AD 属性 memberOf)映射到 ASA 理解的 Group-Policy 属性。建立属性映射后,您必须将 LDAP 服务器上配置的属性值映射到 ASA 上的组策略名称。

https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/91831-mappingsvctovpn.html