Windows-Server-2008

Pfsense+squid LDAP 搜尋過濾器錯誤

  • January 26, 2019

剛剛在備用機器上安裝了 pfsense 和 squid。我正在嘗試讓 Squid 通過 LDAP 對 AD 使用者進行身份驗證。

首先我嘗試了這個:http: //vicryhc.wordpress.com/2013/07/08/how-to-setting-squid-on-pfsense-with-authentiaction-ldap-windows/

我的域名是 ads.example.local 我在 AD 的使用者容器中創建了一個使用者“squid”。

  • LDAP 伺服器使用者 DN:cn=squid,cn=Users,dc=ads,dc=example,dc=local
  • LDAP 密碼:mypassword
  • LDAP 基域:dc=ads,dc=example,dc=local
  • LDAP 使用者名 DN 屬性:uid
  • LDAP 搜尋過濾器:(sAMAccountName=%s)

令我沮喪的是,它沒有用。所以我做了一些實驗並改變了基本域:

LDAP 基域:**cn=Users,**dc=ads,dc=example,dc=local

還有賓果遊戲!有效。但是,此設置僅用於驗證一個使用者 - “squid”,它位於我的 AD 中的使用者容器中。

所以我繼續使用相同的指南,該指南還展示瞭如何驗證一組使用者。

我在 AD 的“使用者”容器中創建了一個名為“InternetUsers”的組,並向其中添加了一些使用者。

然後我更改了設置:

  • LDAP 伺服器使用者 DN:cn=squid,cn=Users,dc=ads,dc=example,dc=local
  • LDAP 密碼:mypassword
  • LDAP 基域:dc=ads,dc=example,dc=local
  • LDAP 使用者名 DN 屬性:uid

根據指南,我為 LDAP 搜尋過濾器輸入了以下值:

(&(memberOf=CN=InternetUsers,CN=Users,DC=ads,DC=example,DC=local)(sAMAccountName=%s))

這無法驗證任何使用者。所以我對它進行了一些實驗……還嘗試了 LDAP 基域:cn=Users,dc=ads,dc=example,dc=local

但沒有任何運氣。魷魚日誌條目顯示“操作錯誤” - 沒有具體內容。

所以我的 LDAP 搜尋過濾器或基本域值有問題。

有什麼建議可以糾正我的錯誤嗎?或者我可以安裝在 AD 伺服器上的任何 LDAP 分析器工具,可以幫助我調試我的設置?

提前致謝。

更新:

“InternetUsers”組是 AD 中使用者容器中的安全組。我將所有使用者添加到該組。這些使用者分佈在各個 OU 中的 AD 中。

其中三個使用者——“squid”、“test”和“administrator”在使用者容器中,我可以使用這些值來驗證它們:

LDAP base domain: cn=Users,dc=ads,dc=example,dc=local
(Doesn't work if I set base domain to dc=ads,dc=example,dc=local)
LDAP username DN attribute: samAccountName
LDAP search filter:(&(memberOf=CN=InternetUsers,CN=Users,DC=ads,DC=example,DC=local)(sAMAccountName=%s))

但是,即使是 InternetUsers 組的成員,駐留在其他 OU 中的使用者也無法進行身份驗證。搜尋不是遞歸的,並且不會超出看起來的一個級別。所以要麼我必須找到一種方法來合併多個基本域值,要麼手動編輯一些配置文件以使其遞歸。

將其LDAP username DN attribute更改為 AD 數據庫中存在的內容。通常,該uid屬性為空,除非系統管理員關心儲存在 AD 庫中的 UNIX 屬性。

只需更改它sAMAccountName並測試它是否可以工作。

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