我正在集成一个外部OTP解决方案,以便在LDAP(Active Directory / Open LDAP)中使用。用户使用针对LDAP进行身份验证的用户标识和密码来注册令牌,在成功验证后,用户在具有令牌ID和用户ID的OTP系统中注册。
注册期间的LDAP过程:
- 绑定到ldap.orgname.local:636(服务器),其中SSL带有帐户“CN = ServiceUser,DC = orgname,DC = local”(serviceUser)和密码“svcPassword”(servicePassword)
- 在根目录“OU = Users,DC = orgname,DC = local”(userRootDN)中搜索树,其中“cn”(userNameAttribute)等于“john”
- 在“cn = john,OU = Users,DC = orgname,DC = local”中找到条目
- 使用密码“testpass”验证“cn = john,OU = Users.DC = orgname,DC = local”
- 如果验证成功,则OTP令牌与用户“john”
相关联
在身份验证期间,用户从令牌提供用户ID和OTP,OTP系统验证来自令牌和用户ID的OTP,如果匹配则必须查询LDAP以检索groupmember / nsrole以在系统中提供正确的访问权限。
身份验证期间的LDAP过程:
- 在匹配的OTP令牌成功验证后,执行LDAP查找以进行授权。
- 绑定到ldap.orgname.local:636(服务器),其中SSL带有帐户“CN = ServiceUser,DC = orgname,DC = local”(serviceUser)和密码“svcPassword”(servicePassword)
- 在根目录“OU = Users,DC = orgname,DC = local”(userRootDN)中搜索具有属性“cn”(userNameAttribute)等于“john”
的用户条目的树
- 在“cn = john,OU = Users,DC = orgname,DC = local”找到条目
- 在根目录“OU = Roles,DC = orgname,DC = local”(roleRootDN)中搜索具有属性“member”(roleUserDNAttribute)等于“cn = john,OU = Users,DC = orgname”的组条目的树DC =本地“
- 返回每个角色的“cn”(roleNameAttribute)属性的值,以继续为用户提供访问权限
由于获取角色只是一个查询,此时是否有任何LDAP命令或方法让LDAP知道用户已经在外部进行了身份验证,这有助于审核日志?