PfSense+squid LDAP 搜索过滤器错误

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

但运气不佳。Squid 日志条目显示“操作错误” - 没有具体内容。

因此我的 LDAP 搜索过滤器或基本域值有问题。

有什么建议可以纠正我的错误吗?或者我可以在 AD 服务器上安装任何 LDAP 分析工具来帮助我调试设置?

提前致谢。

更新:

“InternetUsers”组是 AD 中用户容器内的一个安全组。我将所有用户都添加到了此组。这些用户分布在 AD 中的各种 OU 中。

其中三个用户“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))

但是,即使位于其他 OU 中的用户是 InternetUsers 组的成员,也无法对其进行身份验证。搜索不是递归的,而且似乎不会超出一个级别。因此,我要么必须找到一种方法来合并多个基本域值,要么手动编辑某个配置文件以使其递归。

答案1

LDAP username DN attribute其更改为 AD 数据库中存在的内容。通常,该uid属性保留为空,除非系统管理员关心存储在 AD 库中的 UNIX 属性。

只需将其更改为sAMAccountName并测试它是否有效。

相关内容