Linux

如何配置 openLDAP 以通過 FreeRadius 查找 userPassword?

  • February 8, 2020

我正在執行 Ubuntu 12.04 和 OpenLDAP 2.4.28-1.1ubuntu4.5。我在 LDAP 中填充了使用者,其userPassword屬性為 {SHA1} 雜湊。使用者可以通過 SSH 登錄並對 Web 應用程序進行身份驗證。

現在,我想將 Radius 身份驗證(從 OTP 伺服器)添加到 LDAP 伺服器作為附加機制。這樣,使用者可以通過他們的 Radius“一次性密碼”進行身份驗證,但所有 POSIX 屬性都將從 LDAP 中刪除。這可能嗎?機制叫什麼?

Openldap 2.4 支持 SASL 密碼 passtrough 身份驗證 ( http://www.openldap.org/doc/admin24/security.html )。

此功能允許將身份驗證過程委託給 saslauthd 守護程序,並保留 openldap 中的其他屬性。

此功能需要將實際的 userPassword 值替換為字元串“{SASL}username@realm”,因此您不能對同一使用者使用 SHA1 密碼和 SASL 身份驗證。此外,SASL 可以使用 PAM 作為後端身份驗證方法。

PAM 有一個允許使用自由半徑身份驗證的模組。完整的身份驗證鏈將是:

OpenLDAP 伺服器 –> saslauthd –> 帶有半徑的 pam 模組 –> Freeradius 伺服器


還有另外兩種方法可以解決這個問題:

  • 如果您的 Web 應用程序支持 PAM 身份驗證,請創建一個同時使用 freeradius 和 ldap 身份驗證的 pam 模組
  • 如果您的 Web 應用程序支持 Radius 身份驗證,請配置一個以 OpenLDAP 作為後端的 freeradius

SSH 已經支持 PAM 和 Radius 身份驗證(最後一個使用 pam 模組)。

引用自:https://serverfault.com/questions/722471