使用 openLDAP 的散列密码在 Mikrotik 热点中进行身份验证,中间步骤与 FreeRADIUS 相同

使用 openLDAP 的散列密码在 Mikrotik 热点中进行身份验证,中间步骤与 FreeRADIUS 相同

假设我有链 Mikrotik Hotspot-FreeRADIUS0-OpenLDAP,并且我想要对存储在 Hotspot 的 LDAP 目录中的用户进行身份验证。到目前为止,我拥有明文的所有密码,并且一切正常,但现在我想以哈希格式保存这些密码(可能是 SSHA,默认的 ldappasswd 选项)。我想我必须在该链的所有步骤中启用哈希密码选项,但我没有找到如何在 FreeRADIUS 中启用它的任何地方。感谢您的帮助

答案1

raddb/mods-available/ldap

ldap {
    ...
    update {
        control:Password-With-Header := '<your ldap password attribute>'
    }
    ...
}

raddb/sites-available/defaultraddb/sites-available/inner-tunnel

authorize {
    ...
    eap
    ldap
    pap
    ...
}

在 LDAP 密码属性中,在密码值之前添加适当的标头。

完整的标题列表在这里:https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/src/modules/rlm_pap/rlm_pap.c#L76

当 LDAP 模块运行时,它将查找您的密码属性,并将其存储在 FreeRADIUS 内部Password-With-Header属性中。

当 PAP 模块运行时,它将搜索属性Password-With-Header,查看预定义的标头名称列表以查看是否有任何与值的开头匹配Password-With-Header

如果这样做,PAP 模块将删除标头,根据需要从 base64/hex 进行转换,使用相同的摘要算法和盐对用户提供的密码进行哈希处理,然后比较结果。

如果哈希值匹配,pap 模块将返回 ok,身份验证继续,否则 pap 模块将返回拒绝,身份验证将失败。

为了使其工作,您需要使用EAP-TTLS-PAPEAP 类型(对于 WPA2 企业)或只是普通类型PAP(对于门户网站登录)。

相关内容