我们已经设置了一个samba4服务器,而freeradius则通过ldap进行身份验证。
使用radclient进行测试,域用户可以进行身份验证。
现在我们想将身份验证从我们的MikroTik路由器转发到freeradius,从而实现ldap ......
然而,似乎freeradius需要明文密码,而mikrotik使用CHAP
无论如何都要使这个设置有效吗?
freeradius中的ldap配置:
ldap {
server = "10.100.100.4"
identity = "cn=pcmedic,cn=users,dc=fundao,dc=pcmedic,dc=pt"
password = xxxxxxxxxx
basedn = "cn=users,dc=fundao,dc=pcmedic,dc=pt"
#password_attribute = "userPassword"
#filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
filter = "(sAMAccountName=%{Stripped-User-Name:-%{User-Name}})"
ldap_connections_number = 5
timeout = 4
timelimit = 3
net_timeout = 1
tls {
start_tls = no
}
#access_attr = "msNPAllowDialin"
dictionary_mapping = ${confdir}/ldap.attrmap
edir_account_policy_check = no
keepalive {
idle = 60
probes = 3
interval = 3
}
}
答案 0 :(得分:2)
只有将Cleartext密码存储在LDAP中才能实现。
有关auth类型和散列方案的有效组合,请参阅矩阵here。
问题是CHAP响应不是密码的加密版本,而是单向散列。您需要明文版本,因此您可以应用相同的哈希并将密码的哈希值与CHAP响应进行比较。 CHAP响应也是盐渍的,这意味着您不能只在LDAP中存储密码的散列版本。