Pfsense+squid LDAP 搜尋過濾器錯誤
剛剛在備用機器上安裝了 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
並測試它是否可以工作。