Proxmox Active Directory AcceptSecurityContext 错误

Proxmox Active Directory AcceptSecurityContext 错误

概述

我正在尝试让 Proxmox 使用 Windows Server 2016 ADDS 服务器通过 LDAP 执行用户身份验证。Proxmox 确信我的凭据不正确。

环境

  • Proxmox 6.3-1,PVE 6.3-6

  • Windows Server 2019 数据中心 1809,b17763.1823

  • Proxmox 服务器和域控制器位于同一网络上(DC 是 Proxmox 实例上的客户机)。

  • DC 的根证书已添加到 Proxmox 服务器的存储中。

  • Proxmox 的领域绑定是通过 OU 中的专用标准用户帐户设置的OU=Service Users,DC=subdomain,DC=domain,DC=tld

  • 我在标准中有一个管理帐户CN=Users,DC=subdomain,DC=domain,DC=tld

  • Proxmox 的领域绑定通过 GUI 如下:

    General
    ---
    Domain: DC=subdomain,DC=domain,DC=tld
    Default: True
    Server: dc.subdomain.domain.tld
    Fallback Server: Unused
    Port: Default
    SSL: True
    Verify Certificate: True
    Require TFA: None
    
    Sync Options
    ---
    Bind User: CN=ServiceAccount,OU=Service Users,DC=subdomain,DC=domain,DC=tld
    E-Mail Attribute: mail
    Groupname Attr.: sAMAccountName
    User Classes: user
    Group Classes: group
    User Filter: (&(objectCategory=Person)(sAMAccountName=*)(memberOf=CN=InfrastructureAdmins,CN=Users,DC=subdomain,DC=domain,DC=tld))
    Group Filter: (sAMAccountName=InfrastructureAdmins)
    

发生了什么

  • Proxmox 的登录页面显示错误消息“登录失败。请重试”。
  • Proxmox 的系统日志显示行条目hostname pvedaemon[pid]: authentication failure; rhost=10.9.0.50 user=username@realm msg=80090308: LdapErr: DSID-0C090439, comment: AcceptSecurityContext error, data 52e, v4563
    • 错误代码52e表示密码不正确。
  • 登录失败时,我在 DC 的安全事件日志中看不到 ServiceAccount 或用户名的任何条目。

我尝试过的方法

  • 我已经验证 Proxmox 可以与 DC 通信;当领域同步时,它会成功地从域中提取组和用户。
  • 我已经验证绑定用户ServiceAccount可以登录加入域的计算机。
  • 我已经验证我正在测试的帐户(我的管理员帐户)可以登录到加入域的计算机;它是我用来登录 DC 的帐户。
    • 我还创建了一个没有任何附加设置的测试帐户,只有适当的组成员身份,并尝试使用它登录 Proxmox。
  • 我尝试将我的用户帐户和绑定帐户的密码简化为P4$$w0rd
  • LDAP 适用于具有类似绑定账户的其他系统。

非常感谢任何指导或建议。

答案1

100% 确定这是由于 AD 组“服务帐户”包含空格,这是 MS AD 组设计允许的,而 Proxmox 不接受这一点。

解决方法:

不要使用本机 AD 组“服务帐户”(或任何其他包含空格的组),而是用名称中没有空格的组代替它们。

解决方案:

希望 Proxmox 能够进行更新,现在将其作为一项功能进行请求,但在我看来应该是一个优先的错误修复,以符合 Microsoft 使用的 AD 命名约定以及已经模仿这些命名约定的开源变体(即允许使用空格)。

请参阅以下可追溯至 2020 年 8 月的帖子:

https://forum.proxmox.com/threads/group-names-and-active-directory-sync.74072/

https://forum.proxmox.com/threads/ldap-sync-with-nested-groups.80749/

https://forum.proxmox.com/threads/ad-group-users-permissions-not-right.113395/

以及相应的功能/错误请求:

https://bugzilla.proxmox.com/show_bug.cgi?id=2929

答案2

我不能确定你和我是否有同样的问题,但我通过以下方式解决了相同的症状:

  • 确保 LDAP 设置中的“域”是实际的 AD 域名(例如ad.example.com)。Proxmox 会将其附加到用户名以便登录,因此如果您输入错误,LDAP 服务器将拒绝您。
  • 确保登录的用户或组已分配角色。您可以通过转到数据中心->权限(“标题”,而不是下拉菜单中的内容!)并添加组权限(在我的情况下,我使用了我创建的 LDAP 组ProxmoxAdmins并为其分配角色Administrator)来执行此操作

我注意到日志消息根本没有告诉你问题的原因。我还注意到 LDAP 组中不能有空格(例如,Proxmox Admins不起作用,ProxmoxAdmins起作用)。如果您在 LDAP 设置中执行“同步预览”,则可以看到这一点)。最后,“同步”有效并不意味着用户会这样做 - 它只测试绑定凭据(有用的检查,但不是全部!)。

相关内容