当前我的环境是
1. 使用asa配置的anyconnect vpn
2. 用户认证是对接的openldap
3. 用户授权是在asa里写的grouppolicy+acl,每个grouppolicy对应一个acl,每个acl能访问的ip是不一样的
4. openldap里做了map-value,将每个用户对应了不同的grouppolicy
我现在想把认证和授权改到ise中,并且授权想要实现根据用户组做授权,比如用户1属于groupA,groupA对应aclA,那么用户1就有aclA的权限,并且如果用户2同时属于groupA和groupB,groupA对应aclA,groupB对应aclB,那用户2就同时有aclA和aclB的权限。
如果可以实现的话,能否提供下配置指导
搞肯定是可以搞的,先说下基本的思路吧。
1. 将ldap 添加到ise的external identity store中,然后选取所需要的group,用来作为authorization的条件使用。
2. 添加network device到ise,asa上添加radius的设置
3. ise上创建downloadable acl,需要几个创建几个即可 //asa 的acl使用的是子网掩码,写反码可能会出问题
4. 为vpn预创建authorization profile,为不同的profile选择不同的DACL
5. 创建 authentication policy ,指定asa ip地址过来的认证请求到 external 的ldap中认证
6. 创建authorization policy ,match group A 条件的下发profile A(示例名称),满足group B的下发profile B(当然,你的设定是同时满足group A和 GroupB, 同时满足条件是可以的,但是profile只能下发一个,对应的DACL也只有一个,所以需要设置一个同时覆盖 acl A和aclB的 acl来作为下发的acl使用)// 还有一点,越精细的条件,越要放在前面,保证最先match
7. 使用anyconnect 进行登陆验证,asa上查看acl的状况,pc验证acl生效情况
===
整个操作我大概搞了一下,用了一个asa5505+ise2.7,基本登陆是没问题的,后来发现随便敲个东西都能登陆。。。这就很尴尬了,时间太短暂时没有太细的排查。
还有一点是上面提到的acl掩码的问题,我写成反码之后再登陆死活登陆不上去,ise上显示很诡异。
我的asa后面没有其他的设备,acl的有效性没有做验证,个人感觉应该问题不大
// 如果需要的话可以把你的asa的os版本,ise的版本发一下,抽时间搭个环境再测试一下。
最后放一张图:
Hope this help!
ilay
没试过ssl的方式。
不过按照ssl的加密方式,ise使用的是公钥信息,所以,ise只要能验证你ldap的有效性即可。验证证书的有效性需要保证 证书的 “中级颁发机构”和“根证书”需要导入到ISE中。
举例来说:
假如你ldap的证书是由Let's Encrypt的中级CA “R3”签发的,那么你需要将R3和ISRG Root X1同时导入到ISE的"Trusted Certificates"中即可,这样,ISE就可以验证你ldap证书的有效性,然后进行后续加密通信。