带 LDAP 的自由半径 EAP-PEAP

Freeradius EAP-PEAP with LDAP

我使用 freeradius 服务器作为 802.1x 认证服务器。 Windows OS 默认使用 EAP-PEAP 加密。这意味着 Windows 向我的 radius 服务器发送了一个加密的凭据,我无法将其解码为明文密码。但是如果没有明文密码,我该如何在 ldap 服务器中进行身份验证?因为ldap server中保存的密码是经过MD5等算法加密的,所以如何比较两个不同算法加密后的密码?

你不能。看到这个 compatibility matrix.

您可以在 LDAP 中将密码存储为明文或 NT 密码(16 位 UTF 编码的未加盐 MD4)。

由于 Windows 现在支持 EAP-TTLS-PAP,大多数人在无法访问明文密码或活动目录服务器的情况下使用它。

来这里寻找关于如何为 802.1X WiFi 设置 FreeRadius + LDAP + EAP-PEAP 的相同答案

经过一些研究和更多的谷歌搜索,事实证明你可以设置它,只需很少的努力,只需要在 /etc/freeradius/mods-enabled/eap 中更改设置 搜索 peap type eap ,应该有类似

的东西
    ## EAP-PEAP
    peap {
        tls = tls-common
        default_eap_type = mschapv2
        ...
   }

将其更改为

    peap {
        tls = tls-common
        default_eap_type = gtc
        ...
   }

重新启动服务并尝试连接

查看这些链接了解更多详情 https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access
https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol#EAP_Generic_Token_Card_(EAP-GTC)
http://lists.freeradius.org/pipermail/freeradius-users/2014-September/073992.html
https://support.google.com/a/answer/9089736
https://support.google.com/a/answer/9048516?hl=en&ref_topic=9048334
https://community.ui.com/questions/Guide-to-get-Unifi-FreeRadius-Google-LDAP-G-Suite-set-up-in-docker/36af593f-73b1-4943-8e22-9a81b10db9ae

你不能那样做!

如果您不以明文或 ntPassword 的形式在 LDAP 中保存密码,您唯一的选择是使用带有 pap 的 eap-ttls。 并且您应该更改客户端的配置以发送 eap-ttls 请求而不是 eap-peap。