如何获取密码策略-Freeradius-ldap

时间:2018-10-22 06:59:58

标签: ldap freeradius

要求是找到用户密码的到期时间。

现在在ldap中,您可以通过密码策略来强制到期。 密码策略属性pwdMaxAge指定在更改密码后几秒钟后密码过期。

ldap password policy

更改/创建用户密码后,操作属性pwdChangedTime将添加时间戳。 遗憾的是,ldap在到期时间内未添加任何操作属性,这是我们需要通过执行pwdChangedTime + pwdMaxAge < current_time

来计算的

在您的mods-enabled/ldap文件中,您可以获取pwdChangedTime属性。凉!但是我该如何获取pwdMaxAge属性。该文件仅具有用于用户,组,配置文件,客户端的结构,而没有用于密码策略的结构。 raddb mods-available details here.

(我可以通过编程的方式进行此操作,方法是编写代码/脚本以使用cli来获取这些属性,然后进行操作,但是是否可以通过config来完成呢?Coz,如果您看一下,那么这个到期时间是多少与用户属性相关,并且应该有一种返回它以及最少的最小用户数据(例如我们返回的名称和组织)的方法

谢谢!

1 个答案:

答案 0 :(得分:1)

用户条目中没有这样的操作属性 pwdMaxAge

如果客户端使用适当的请求控件发送绑定请求(请参阅draft-behera-ldap-password-policy, section 6.1 and 6.2),则服务器会在响应控件中返回检查密码期间的密码过期警告。

这意味着LDAP客户端(在您的情况下为FreeRADIUS)必须支持此功能。此外,所有中间组件(RADIUS服务器,Wifi接入点等)都必须妥善处理响应,并在链上向用户返回一些有用的信息。实际上,这实际上是行不通的。

因此,我建议通过电子邮件发送密码过期警告。 checkLdapPwdExpiration.sh提供了诸如LDAP Tool Box project之类的现成脚本。