PowerScale:Centrify LDAP 出现“无法处理身份验证请求”错误
Summary: 在 OneFS 中运行的“isi auth group”命令失败,并显示以下错误:“无法处理身份验证请求”。使用 Centrify 轻量级目录访问协议 (LDAP) 代理服务器时会发生此错误。
Symptoms
示例:
# isi auth groups members list dellgroup --zone dellzone --provider="lsa-ldap-provider:Centrify LDAP Proxies" Failed to get members for group GROUP:dellgroup: The authentication request could not be handled
或者
isi auth groups members list --gid 30118 Failed to get members for group GID:30118: The authentication request could not be handled
在数据包捕获中,Dell Technologies 会看到以下错误:
errorMessage: cdcLdapSearch :Bad parameter (cdcRC=4), errSystem=Ldap, errCode=-7, errString=Bad search filter
数据包捕获的完整示例:
# tshark -r file.cap 1060 736.218674 10.193.45.68 â 10.193.3.52 LDAP 1194 searchRequest(4) "ou=North America,dc=acf,dc=dell,dc=com" wholeSubtree 1061 736.218828 10.193.3.52 â 10.193.45.68 TCP 66 389 â 15206 [ACK] Seq=3557 Ack=1413 Win=261656 Len=0 TSval=1645667785 TSecr=662636581 1062 736.258022 10.193.3.52 â 10.193.45.68 LDAP 175 searchResDone(4) other (cdcLdapSearch :Bad parameter (cdcRC=4), errSystem=Ldap, errCode=-7, errString=Bad search filter) [2 results] 1063 736.258142 10.193.3.52 â 10.193.45.68 LDAP 175 searchResDone(4) other (cdcLdapSearch :Bad parameter (cdcRC=4), errSystem=Ldap, errCode=-7, errString=Bad search filter) [2 results] 1064 736.258150 10.193.45.68 â 10.193.3.52 TCP 66 15206 â 389 [ACK] Seq=1413 Ack=3775 Win=131648 Len=0 TSval=662641755 TSecr=1645667785 1065 736.261570 10.193.45.68 â 10.193.3.52 LDAP 73 unbindRequest(5)
在框架中,支持人员可以看到以下内容:
Lightweight Directory Access Protocol LDAPMessage searchResDone(4) other (cdcLdapSearch :Bad parameter (cdcRC=4), errSystem=Ldap, errCode=-7, errString=Bad search filter) [2 results] messageID: 4 protocolOp: searchResDone (5) searchResDone resultCode: other (80) matchedDN: errorMessage: cdcLdapSearch :Bad parameter (cdcRC=4), errSystem=Ldap, errCode=-7, errString=Bad search filter [Response To: 1060] [Time: 0.039348000 seconds]
Cause
从 OneFS 版本 8.2.2.0 开始,LDAP 成员枚举请求特意对查询进行分组,以缩短响应时间。出于性能原因,OneFS 从逐个用户的迭代 UID 查询更改为批处理查询。
paps 中的错误表明代理不支持搜索过滤器中的多个“uid”条目。如果代理不支持多个“uid”条目,则支持人员需要代理供应商(即。Centrify)来解决此问题。
代理似乎不像 OneFS 通过网络发送的内容,其形式为 (&(objectClass=posixAccount)(|(uid=user1)(uid=user2)(uid=user3))) 来解析 memberUid 查询中的用户成员,以完全解析出价>名称和成员名称>uid。
此外,Centrify 已经承认我们的行为在某个时候发生了变化,从逐个用户的迭代 uid 查询变成了批处理查询,如上所述。根据 Centrify 知识库文章和文档,该错误表明代理不支持搜索筛选器中的多个“uid”条目。
Resolution
Centrify 已确认不支持 PowerScale 现在使用的语法。有一个增强请求 (RFE) 将其添加到 Centrify,我们的名字已添加到该 RFE。
由于搜索过滤器没有任何问题,并且我们的软件代码不会恢复到 nonbatched 查询(出于性能原因),Centrify 必须适应我们的有效搜索查询过滤器,以查询多个用户的 uidNumber。
请联系供应商 (Centrify) 以获取解决方案。
为确认客户是否遇到此问题,Dell Technologies 支持还可以在复制错误时收集数据包捕获:
以下是数据包捕获的步骤:
1.生成 PowerScale 群集上配置的 LDAP 服务器列表:
# isi auth ldap ls Name Base DN Server Uris Status ----------------------------------------------- LDAP DC=amd,DC=com ldap://isilon02 online ldap://isilon0404
2.解析上述每个 LDAP 服务器的 IP 地址。
#nslookup <ldap host>
记下支持的 LDAP IP 地址。
例如:
powerscale-2-1# nslookup isilon02 Server: 127.42.0.1 Address: 127.42.0.1#53 Non-authoritative answer: Name: isilon02.dell.com Address: 10.178.35.1
3. 创建一个目录以包含数据包捕获数据:
# mkdir -p /ifs/data/Isilon_Support/<SR number>
将上述 SR 编号替换为正确的 PowerScale 支持服务请求编号,例如,1234567 号服务请求:
# mkdir -p /ifs/data/Isilon_Support/1234567
4.以“root”用户身份通过 SSH 连接到节点。
5.启动节点数据包捕获:
例如,对于服务请求 # 1234567,命令如下所示:
# for i in $(ifconfig | grep flags= | cut -f1 -d':'|egrep -v "ib0|ib1|lo0"); do tcpdump -i ${i} -s0 -C 200 -W 3 -w /ifs/data/Isilon_Support/1234567/${HOST}_${i}.pcap port 389 &; done
键入 Ctrl-C 以进行分解,然后让 tcpdump 在后台运行。
6.接下来,在节点上重新创建问题/错误。
7.复制问题/错误后,请停止 pcap管理此进程:
# pkill -9 tcpdump
确保 pcaket 捕获不再运行:
# ps -auxwww|grep tcpdump
您应该看到否 tcpdump 进程正在运行。
8.上传 pcaps 到支持部门进行审查。