ApacheDS 和 Kerberos 设置
Posted
技术标签:
【中文标题】ApacheDS 和 Kerberos 设置【英文标题】:ApacheDS and Kerberos Setup 【发布时间】:2014-06-02 03:50:50 【问题描述】:我的任务是设置 ApacheDS 2.0.0 LDAP + Kerberos(包括 KDC)服务器以用于我们的测试环境。我关注了this guide,但无法按照该页面上的最后一步使用 Kerberos 成功通过我的 LDAP 服务器进行身份验证。
我正在使用 Apache Directory Studio
当我选中“要求通过加密时间戳进行预身份验证”时,我收到错误:javax.security.auth.login.LoginException: 对解密字段的完整性检查失败 (31)
当我取消选中该字段并重新启动服务器时,我得到:javax.security.auth.login.LoginException: Checksum Failed
我确定我提供的用户名和密码是正确的。可能是什么问题呢?有人用 Kerberos 成功设置了 ApacheDS 2.0.0 吗?有没有我应该遵循的指南?
似乎他们的 Kerberos 服务器的 ApacheDS have yet to document configuration 上的人。
这是我的 users.ldif:
version: 1
dn: uid=krbtgt,ou=services,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
objectClass: krb5KDCEntry
objectClass: uidObject
objectClass: krb5Principal
krb5KeyVersionNumber: 0
krb5PrincipalName: krbtgt/EXAMPLE.COM@EXAMPLE.COM
ou: LDAP
uid: krbtgt
krb5Key:: MCGgAwIBEKEaBBjHVICYy3C2UuxkitpXRnZ8PVj4TGgN3xA=
krb5Key:: MBmgAwIBF6ESBBCpxZ7JnL7bycwis7pjrB+1
krb5Key:: MBmgAwIBEaESBBCv2PO7KtoerG8VJaCjGPQD
krb5Key:: MBGgAwIBA6EKBAiXyA7xg0OSzQ==
userPassword:: e1NTSEF9WWVWeFJ5cXBJVVQrT1Mva3l6ZForSU5IajBKT1RXdGNBaWdLR0E9P
Q==
dn: ou=services,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: services
dn: uid=jsmith,ou=users,dc=security,dc=example,dc=com
objectClass: top
objectClass: krb5KDCEntry
objectClass: inetOrgPerson
objectClass: krb5Principal
objectClass: person
objectClass: organizationalPerson
cn: John Smith
krb5KeyVersionNumber: 1
krb5PrincipalName: jsmith@EXAMPLE.COM
sn: Smith
krb5Key:: MCGgAwIBEKEaBBh/3/6FzQdeRS+/Sssvg7Xyrr96B3lewT4=
krb5Key:: MBmgAwIBF6ESBBCynaCNjbAxJwdWfXMcALRn
krb5Key:: MBmgAwIBEaESBBBMzkq2olx6fnakVd8zcle3
krb5Key:: MBGgAwIBA6EKBAhdv8v9esiwbQ==
uid: jsmith
userPassword:: e2NyeXB0fXJWOFlyaTlTR2tsYWs=
dn: ou=users,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: users
dn: uid=ldap,ou=services,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
objectClass: krb5KDCEntry
objectClass: uidObject
objectClass: krb5Principal
krb5KeyVersionNumber: 0
krb5PrincipalName: ldap/example.net@EXAMPLE.COM
ou: TGT
uid: ldap
krb5Key:: MCGgAwIBEKEaBBioosfqqw3pVAsaLNC12rws8vICSX9kouk=
krb5Key:: MBmgAwIBF6ESBBCXJFfXz9ORAGaUrSCHGzoN
krb5Key:: MBmgAwIBEaESBBA+pN1ipA5mPjNSLYBbuKgy
krb5Key:: MCmgAwIBEqEiBCBCxVPVFGb6miec+4ztUuMilATQNemHh+gxT+KmsqN1RQ==
krb5Key:: MBGgAwIBA6EKBAhMCxySpE8O9w==
userPassword:: e1NTSEF9YUZEazF6bnZyZFVscVFhbEpxc3dIUDBpRlJ4QysyZkUxK2RaZUE9P
Q==
dn: dc=security,dc=example,dc=com
objectClass: top
objectClass: domain
dc: security
dn: dc=example,dc=com
objectclass: top
objectclass: domain
dc: example
【问题讨论】:
我在 Windows 7 上使用 ApacheDS 2.0.0。 请注意:SO 不允许我发布我的 config.ldif,因为它会使帖子超过 30k 个字符。 就服务器 config.ldif 而言,它是 ApacheDS 2.0.0 服务器的默认配置,但启用了 Kerberos 并指定了正确的搜索 DN。我只是想遵循 ApacheDS 网页上提供的唯一指南。 我也遇到了类似的问题。你找到解决办法了吗? 我没有找到任何指南。让我更接近成功的唯一一件事就是检查代码、构建代码和调试。单步执行代码虽然很乏味,但却是了解如何配置 ApacheDS KDC 的最佳方式。我认为一旦 KDC 启动并运行,我会写一篇博文,甚至可能会向 ApacheDS 项目提交一些文档。 【参考方案1】:请提供版本详细信息以及服务器的 config.ldif。
P.S:- 将这些详细信息发布到 ApacheDS 用户邮件列表将有助于快速响应。原因 在这里,我是唯一一个监视 SO。
【讨论】:
我已将我的问题发布到邮件列表,但我没有收到任何回复。 ApacheDS 项目还活着吗?当没有任何文件支持核心广告功能时,我发现很难想象有任何行业支持。 我认为您的邮件没有通过邮件列表网关,您可以再发送一次吗? 目前 Apache 的邮件传递服务器存在问题,这解释了为什么我没有看到您的邮件。我们收到邮件后会尽快回复。 我还没有收到任何回复。 ApacheDS 是实时项目吗? 嗨 Kayyagari,你知道这个问题的解决方案吗?我也遇到同样的错误。我向 ApacheDS 邮件列表发送了一封邮件,但没有任何回复。你能帮我解决这个问题吗【参考方案2】:我在使用 Java 1.7.0_60 的 Windows 7 上使用 Apache 2.0.0-M17 时遇到了完全相同的错误。最后我设法通过使用纯文本密码而不是密码哈希来克服这个问题。我尝试了不同的密码哈希算法,但都没有奏效,所以最后我放弃了,使用了纯文本密码。
问候, 确定
【讨论】:
嗨,Detelin,您能否提供解决此问题的明确步骤【参考方案3】:我也有同样的问题,在 Windows7 上使用 JDK8 并在 Eclipse Luna 上运行 Studio。 Apache DS 文档缺少许多标有“TODO”的页面,并且在论坛等中的搜索并没有带来太多进展,除了提示它可能按照指南解释的方式工作但仅在 Linux 环境中而不是在 Windows 中工作?如果您对此有任何进一步的消息,请在此处发布。
【讨论】:
【参考方案4】:问题似乎是由用户的密码设置引起的。 设置密码时请使用“纯文本”而不是其他哈希算法。并且密码哈希拦截器默认会对其进行SSHA哈希。
如果这不能解决您的问题,请告诉我。
【讨论】:
以上是关于ApacheDS 和 Kerberos 设置的主要内容,如果未能解决你的问题,请参考以下文章