我有一台运行 FreeRADIUS 3 的 FreeBSD 10.0 服务器,但是有些东西无缘无故地出现了故障。
我正在使用 Samba4 中的 Winbind 进行身份验证ntlm_auth
。我进行了一些调试来解决问题,但我无法找到问题出在哪里。
ntlm_auth
工作中:
ntlm_auth --username=ferrao --request-nt-key
Password:
NT_STATUS_OK: Success (0x0)
但是 RADIUS 在进行 EAP-PEAP 身份验证时失败,并且在调试模式下运行 FreeRADIUS 时出现以下错误消息:
(9) mschap : Executing: /usr/local/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}
(9) mschap : EXPAND --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}}
(9) mschap : --> --username=ferrao
(9) mschap : Creating challenge hash with username: ferrao
(9) mschap : EXPAND --challenge=%{%{mschap:Challenge}:-00}
(9) mschap : --> --challenge=082e8ba7b848aaae
(9) mschap : EXPAND --nt-response=%{%{mschap:NT-Response}:-00}
(9) mschap : --> --nt-response=27b40a6d1dba1b4acfd33aff5c710a43e70d050269087bf1
(9) ERROR: mschap : Program returned code (1) and output 'Reading winbind reply failed! (0xc0000001)'
(9) mschap : External script failed.
(9) ERROR: mschap : External script says: Reading winbind reply failed! (0xc0000001)
(9) ERROR: mschap : MS-CHAP2-Response is incorrect
(9) [mschap] = reject
(9) } # Auth-Type MS-CHAP = reject
(9) eap : Freeing handler
(9) [eap] = reject
(9) } # authenticate = reject
(9) Failed to authenticate the user.
(9) Login incorrect (mschap: Program returned code (1) and output 'Reading winbind reply failed! (0xc0000001)'): [ferrao/<via Auth-Type = EAP>] (from client 146.164.136.0/26 port 0 via TLS tunnel)
因此 Winbind 和 FreeRADIUS 出了问题,但我不知道是什么问题。
提前致谢,
答案1
检查 winbind 特权管道的权限 - FreeRADIUS 运行的用户需要能够访问它。您可能需要将 FreeRADIUS 用户添加到组中winbindd_priv
,然后确保特权管道由 root:winbindd_priv 拥有。
winbind 特权管道通常位于/var/lib/samba/winbindd_privileged/
,或者 /var/ 下的类似位置。