大家好,本期视频我们来谈谈 LDAP 的故障处理。让我们从头开始,验证失败可能是您不得不处理的一个问题。
在这里,如果您的证书不正确,如果您的组未在Active Directory或OpenLDAP服务器上正确设置,如果您的用户名未以正确的格式输入,您可能会看到所有这些问题。
因此,如果查询用户的密码不正确,您将看到它显示“无法验证 LDAP 配置详细信息”,您将无法点击“提交”按钮。
我要指出的一件事是,当您在此处上传证书时,您会在此处看到“AD-cert.cer”,ACM 对它所做的是,单击“Validate”按钮后,它基本上会将其存储在“Certificates Directory”中,该目录位于“User local data protection”栏中,配置管理器server_data证书。
现在,证书存储在那里后,ACM 还会将该证书从“.cer”转换为“.pem”格式。现在,我制作了另一个视频来介绍如何成功验证。
以及如果验证失败,您可以在日志中查找哪些内容来处理故障?所以,现在让我们继续。
要再次执行此操作,请进入“日志目录”,按 Esc 键,按 shift G 键,然后按 Escape 键,在设备上搜索此配置 LDAP。
搜索该信息后,系统应该会显示如下消息,尝试执行“testLDAPconnection”。再往下滚动一点,系统会执行 ping 检测,然后验证用户是否成功通过身份验证,以及是否为组成员。
您会看到类似这样的消息:LDAP 连接测试成功。现在,让我们来查看 LDAP 验证失败的日志。让我们了解一下验证失败的情况。
在这里,我输入详细信息,并故意尝试输入其中一个错误的字段作为不正确的值。我们看看会怎么样。这是一个安全的 LDAP,所以我们勾选这个复选框。
我们将上传证书,然后尝试对其进行验证。看起来验证失败了。您可以将鼠标悬停在红色感叹号上方。系统会显示“Failed to validate LDAP configuration details”。
再次来到“ACM logs directory”,查看“server.log”,将 G 移到日志末尾,?,然后搜索这个,LDAP Util: testConnection,大写“C”,一个单词。
然后您将看到这条消息,其明确表示用户名或者密码出现了问题。在本例中,是密码出现了问题,我们看到测试连接失败。
现在让我们来大概了解一下在输入某些详细信息时需要注意的问题。在系统要求输入“Server Hostname”或“LDAP Hostname”时,用户必须提供“FQDN”,也就是完全限定域名。输入 IP 地址是无效的。
查询用户名,用户必须以“User Principal”名称格式提供用户名。例如“Abc@domain.com”,这种名称是一直有效的。
管理员组设置。这是在 Active Directory 或 OpenLDAP 级别设置的管理员组。当创建该组时,您的客户需要确保将组的范围设置为“Global”,将类型设置为“Security”。
对于“Query username”,必须输入 LDAP 管理员组的成员。最佳做法是在输入所有值时一律使用小写。我们还有一个代码缺陷,当您使用大写的值时,它会导致一些麻烦,因此请注意这一点。
对于安全 LDAP 配置,用户必须以“.cer”格式提供根 CA 证书。最后,不允许使用嵌套组,也就是说用户应是 LDAP 用户组的直接成员。
这里所指的用户是 LDAP 查询用户。例如,您不能将一名 LDAP 查询用户作为组成员,又将该组作为管理员组的成员。这是不允许的。
这里还要补充一个需要注意的问题。要使 LDAP 集成在 Protection Storage 或 Data Domain 上成功运行,LDAP 查询用户必须具有计算机对象的“创建/删除”完全控制权限,因为在集成过程中,它确实会创建计算机对象。
那么,如何保证这一点呢?基本上就是在 Active Directory 中确定 LDAP 查询用户的位置,并访问该用户所在的父“OU”或“Organization Unit”。右键单击相关内容,并单击“Delegate Control”。单击之后,系统将显示图中所示的向导。您可以单击“Next”,添加您的用户,即查询用户。
之后,创建自定义的“Tasks to Delegate”。执行此操作时,您基本上可以在此处选择计算机对象,并确保选择“在此文件夹中创建所选对象”或“删除”。完成之后,您可以单击“Next”。确保给予“Full Control”权限,然后单击“Next”、“Finish”。
完成此操作后,这将确保您在保护存储或 Data Domain 端进行顺畅的配置。现在,在对 LDAP 类型问题进行故障处理时,按系统顺序进行处理非常重要。我始终建议大家从 ping 测试开始。
请使用 ping 命令确保连接正常,并始终使用主机名或 FQDN 进行 ping。我也建议大家使用 IP 地址进行 ping。这么做的理由如下。您可以发出“ping -c”。发出 4 个数据包,因此输入值“4 FQDN”,基本上,您可以测试 ping 并确认它已成功。
我之所以说同时对 IP 地址和主机名进行 ping 测试,是因为对 IP 地址进行 ping 测试有时是有效的。但是,它无法从 ACM 或 IDPA 中的一个或多个组件创建主机名。其原因可能是“/etc/resolv.conf”文件中缺失 DNS 搜索域,导致对 LDAP 服务器主机名的 ping 测试失败。
事实上,这是我们遇到的最常见的问题。所以,请始终确认您是否能对 IP 地址成功执行 ping 命令,但无法对主机名成功执行 ping 命令。检查每个 IDPA 组件上的“/etc/resolv.conf”文件。确保为其 Active Directory 或环境添加此搜索域,以确保解析有效。
之后,我建议进行一些端口检查。那么,LDAP 集成的端口要求是什么? 我们基本上需要必须打开 TCP 端口 389 和 636,以便在 IDPA 组件与 Active Directory 或“OPENLDAP”服务器之间进行通信。现在,必须打开 TCP 端口 88 和 464,以便在保护软件(即“Avamar”)、保护存储(即 Data Domain)和 Active Directory 或“OPENLDAP”服务器之间进行 Kerberos 身份验证。
那么如何测试端口连接性呢?您可以通过“curl”命令进行测试。我们曾在演示中见过这一内容。您可以发出“curl -kv”“FQDN_OF_LDAP_SERVER”:端口号。请记住,389 代表“Non-secure”,636 代表“Secure”。当您发出命令之后,应查找这一内容。连接至“port 636”上的“dc.x400.sh”。使用“ldapsearch”进行故障处理,这是一个很重要的工具。
如果验证失败,如果配置失败,则可以使用此方法。因为它的作用类似于“验证”,它基本上使用您拥有的 LDAP 详细信息,因此它将执行测试连接并确认我们是否可以连接。基本上,“ldapsearch”是一个命令行工具,它打开与 LDAP 服务器的连接,绑定到该服务器,并使用过滤器执行搜索。
搜索结果之后将以“LDIF”格式或 LDAP Interchange 格式显示。ldapsearch 工具可用于 IDPA 组件(如 ACM、DPC Search、Avamar 等),以测试与 LDAP 服务器的连接并验证设置。非安全 LDAP 和安全 LDAP 的语法是不同的。
对于非安全 LDAP,您可以发出命令“ldapsearch -h”。输入 LDAP 服务器的 FQDN,可以是 OpenLDAP,也可以是 Active Directory“-p”。输入端口号,输入“-D”,输入用户凭据,LDAP_Query添加“x400.sh”,例如,输入“-b”,输入“Base_DN”,这是域组件的位置。输入“dc=x400, dc=2.sh.”或类似内容,然后输入“-w”以及查询密码。
类似地,对于安全 LDAP,您也可以这样做。ldapsearch -h,ldaps://,将 URL 放在那里。因此,在配置安全 LDAP 类型时输入“LDAP_server_FQDN:端口”编号,即“openssl”或验证证书。您可以通过发出“openssl”命令来实现这一点。运行“openssl s_client -connect”。输入 Active Directory OPENLDAP 服务器的 FQDN:端口号,也就是 636。
您应该注意系统显示的是“Connected”。这意味着 ACM 能够使用该证书在该端口 636 上进行验证和连接。现在,当您发出这个命令时,可能会发现系统显示的是“unable to validate the change”或“verify the change”。这是正常的,因为您在这里只是进行连接,而不是向 Active Directory 服务器发送证书以验证数据链等内容,所以这是正常现象。同样,上面的输出被截断了,所以要注意这一点。
现在,验证查询用户和管理组的详细信息。假设您发现某些事情不对劲,可能是组不对劲,查询用户的详细信息不对劲,这就是您继续进行下一步故障排除的地方。应该怎么做呢? 您应当在 Active Directory 服务器上使用 PowerShell,可以通过查询它来获取 DN 格式,也就是 Distinguished Name 格式的用户对象和组对象。
所以,您可以输入“Get-ADUser”命令行开关,它将获取指定的用户对象,或执行搜索以获取多个用户对象。之后,您可以输入“Get-ADGroup”命令行开关,它可用于获取一个组,或执行搜索以从 Active Directory 中检索多个组。我们在左侧为用户提供了输出内容的截图。并在右侧提供了组的截图。您可以在这里看到将收到的输出内容。
您可以看到这里显示了“Distinguished Name”。所以,这是“ldap.query”。它出现在“Users”OU 中。域组件为“x400.sh”,仅通过这些内容,我就可以验证“User Principal Name”。这是我需要在“configure LDAP”弹窗或对话框中输入的内容。
因此,您可以在这里确认所有的详细信息。现在,在组截图这里,您可以看到 DN 格式,以及组的位置。这也是在“Users”OU 中。域组件为“x400”和“sh”。组类别为“Security”。请记住,我已告知您,组类别应为“Security”,组范围应为“Global”。这就是我们可以从这里验证的信息。
系统还显示了“SamAccountName”以及组的名称,也就是“dp_admin”。因此,这也是您在客户的 Active Directory 级别进行验证的好方法。需要注意的一点是,正如我在之前的幻灯片中所说,在 IDPA 上配置 LDAP 后,ACM 会ldapconfig.xml存储 LDAP 配置的详细信息。它还会将此查询用户的密码存储在名为“Component Credentials.ReadXml”的文件中。
ACM 在监视组件时的基本功能是,每隔几分钟,它将使用这些凭据和详细信息,测试每个组件的 LDAP 登录情况。它为什么会这样做呢? 它希望确保 LDAP 配置正常工作,以及 ACM 上为此用户和其他组件存储的 LDAP 查询密码是否实际同步。这一点是没有变的,也是它验证的内容。
现在,在客户更改查询用户密码的应用场景中,您的 LDAP 身份验证将停止在所有组件上工作,在 ACM UI 上,您将看到一条错误消息,指出“LDAP 密码不同步”。如果是这种情况,您基本上可以在 ACM GUI 中单击相同的“Configure external LDAP”弹出窗口,然后单击显示“Update external LDAP password”的复选框。
当您这样做的时候,您可以看到所有其他的详细信息都变成了灰色,并且您可以更新密码。在您更新后,系统将更新自身的密码,存储凭据的 ACM“Component Credentials.ReadXml”文件也将获得更新。系统还会更新每个单点产品或 IDPA 组件的配置密码,以确保验证仍然有效。这一点需特别注意。
配置失败或用户遇到某种身份验证问题的最常见原因之一可能是因为时间不同步。时间问题是一个敏感问题。对于 LDAP,这是一个参数,IDPA 组件与 Active Directory 或 OpenLDAP 服务器之间的时间必须同步。如果时间不同步,用户可能会遇到配置失败,甚至身份验证登录失败。
现在,非常重要的一点是,我们每天都在使用这些内容。日志位置和日志文件,它们是什么?因此,在对 LDAP 问题进行故障处理时,用户必须在 ACM 上分析以下日志,以了解任何配置、集成、验证、监视类型的错误,这就是您的“server.log”。
我们也曾在演示中见过这一内容。现在,假设一个或多个组件上出现配置故障,则需要分析 LDAP 配置失败的特定组件上的日志以及 ACM 中的“server.log”。这里显示的是日志的位置。对于 ACM,这里有“server.log”。对于 Data Protection Central,这里有“elg.log”。
这里显示了全部的内容。这里是 Search。Search 这里有“cis.log”。Protection Software 这里有“userauthentication.log”。在某些情况下,您还可以在“mcserver.log.0”上找到一些详细信息,这些信息也在这个位置。
对于保护存储或 Data Domain,您可以查看“messages.engineering”日志,您将需要 Bash 访问权限,因此请注意这一点。最后,对于 DPA。您可以看到“server.log”,它是 opt/emc/dpa/services/logs 目录。