如何使 FreeIPA 和 FreeRadius 与 PEAP 身份验证一起使用

How can I make FreeIPA & FreeRadius work with PEAP authentication

我想强制我们的办公室用户在连接到我们办公室的 WiFi 时输入他们的 LDAP 凭据。所以我按照以下指示安装了 FreeRadius: Using FreeIPA and FreeRadius.

使用 radtest,我可以使用 PAP 成功地对我们的 FreeIPA 服务器进行身份验证。继续,我在我的 Windows 10 笔记本电脑上配置了一个 WiFi 连接,使用 EAP-TTLS 作为身份验证方法,同时选择 PAP 作为非 EAP 方法。当连接到 WiFi AP 时,我可以再次成功地对我们的 FreeIPA 服务器进行身份验证。但我意识到这并不安全,因为密码是以明文形式发送的。

所以接下来我在我的 Windows 10 笔记本电脑上配置了一个 WiFi 连接,以使用 PEAP 作为身份验证方法,EAP 方法为 EAP-MSCHAP v2。但是现在认证失败了。 FreeRadius 调试日志的摘录显示:

(8) mschap: WARNING: No Cleartext-Password configured.  Cannot create NT-Password 
(8) mschap: WARNING: No Cleartext-Password configured.  Cannot create LM-Password 
(8) mschap: Creating challenge hash with username: test55 
(8) mschap: Client is using MS-CHAPv2 
(8) mschap: ERROR: FAILED: No NT/LM-Password.  Cannot perform authentication 
(8) mschap: ERROR: MS-CHAP2-Response is incorrect

我正在努力寻找解决方案。我在网上找到了各种eap、mschap和ldap文件的配置,但到目前为止我还没有解决我的问题。

我不确定我问的问题是否正确,但是 Windows 客户端发送的密码哈希是否与 FreeIPA 使用的密码哈希不兼容?

事实证明,mschapv2 是一个质询响应协议,它不适用于 FreeRadius 基本配置中的 LDAP 绑定。

不过我确实找到了一个解决方案,其中 FreeRadius 通过他们的 LDAP DN 查找用户,然后读取(不绑定)用户的 NTHash。从那里,FreeRADIUS 能够处理质询响应。

首先必须为服务帐户授予权限: https://fy.blackhats.net.au/blog/html/2015/07/06/FreeIPA:_Giving_permissions_to_service_accounts..html

执行这些步骤后,用户需要更改密码才能生成 ipaNTHash。

然后配置 FreeRadius 以使用带有 FreeIPA 的 mschapv2: https://fy.blackhats.net.au/blog/html/2016/01/13/FreeRADIUS:_Using_mschapv2_with_freeipa.html

完成两个链接中描述的所有步骤后,此 radtest cli 命令应该 return 访问-接受响应。

radtest -t mschap <ldap-user-uid> <ldap-user-password> 127.0.0.1:1812 0 <FreeRadius-secret>