【问题标题】:Why use kerberos when you can do authentication and authorization through ldap? [closed]既然可以通过 ldap 进行身份验证和授权,为什么还要使用 kerberos? [关闭]
【发布时间】:2018-02-21 07:36:56
【问题描述】:

我们正在讨论在我们拥有的大数据集群中使用 kerberos。我们的管理员想要使用 ldap 进行身份验证和授权。我查看了互联网并得到了不同的反应,但对于使用 kerberos 的原因没有明确的理解。

我知道您可以将 kerberos 与 ldap 一起使用,但我没有清楚地了解使用 kerbors + ldap 与仅使用 ldap 的好处。谁能解释一下?

【问题讨论】:

  • 我猜 kerberos 是为了安全和监控更多协议作为 LDAP 身份验证,更多的协议将在那里设置......问题 ldap + kerberos 或 ldap :( 我真的无法回答 cos,不是同样的事情..
  • 好问题。为什么 Microsoft 使用 Kerberos 进行 Active Directory 身份验证?可能是因为它陈旧、久经考验且安全——尤其是当您无法信任您的网络时(数据包嗅探、中间人攻击、重放攻击等)

标签: security authentication ldap authorization kerberos


【解决方案1】:

Kerberos 是企业内部网络行业标准单点登录协议。 LDAP 始终更像是一种目录查找协议。但是,LDAP 也可以进行身份​​验证,因为它的身份验证方面是在协议本身构思几年后才加入的。使用 LDAP 身份验证,每次身份验证尝试都会对目录身份验证服务器造成负载,因此从这个意义上说,它可能会经常影响您的目录身份验证服务器。使用 kerberos,在第一次身份验证之后,客户端会持有一张默认为 10 小时有效的票证,这样额外的身份验证尝试就不必再次使您的目录身份验证服务器超载。并且客户端将负责获取目标资源的身份验证“票证”,而不是应用程序服务器代表客户端执行此操作,如果 LDAP 身份验证机制起作用,这些应用程序服务器必须执行此操作。此外,如果配置不正确,LDAP 将以明文形式发送身份验证尝试。即使您配置为通过 LDAPS 进行加密身份验证,然后您需要获得 SSL 证书才能执行此操作,那么您也必须解决以纯文本形式将用户名/密码存储在任何应用程序服务器上的问题,除非有人采取额外的步骤来加密它。简而言之,作为一种身份验证协议,Kerberos 开箱即用更安全,去中心化,并且比 LDAP 对目录身份验证服务器施加的负载更少。纯 Microsoft Active Directory 环境中的 Kerberos 将为您执行身份验证和授权,而目录查找始终是 LDAP。此外,LDAP 不是单点登录。用户必须始终手动输入用户名/密码,而使用 Kerberos 他们不必这样做。

现在,如果您使用 Kerberos 进行身份验证,使用 LDAP 进行目录查找和/或基于组的授权,那么这是最佳实践,因为 LDAP 最初是根据 RFC 设计的,仅作为目录查找协议。实际上,当您使用诸如“Active Directory 用户和计算机”实用程序之类的工具时,使用它时会发生什么:您通过 Kerberos 身份验证以允许自己查询 AD LDAP 服务,然后您的从那时起,LDAP 查询就是纯 LDAP。在由 Windows 和例如 Linux 组成的混合环境中,您始终可以使用 Kerberos 进行身份验证,但这需要在应用程序方面做更多的工作,例如您需要 AD 管理员为您生成的 keytab,但组基于 - 的授权必须是 LDAP,当然目录查找是总是 LDAP。

您的管理员可能希望您一直使用直接的 LDAP,因为这样更容易站起来 - 他只需要给您一个 AD 用户帐户凭据,然后您必须在应用程序端获取并配置它允许用户登录,然后允许基于组的授权,然后通过 LDAP 查询目录。

这个问题确实涉及对 Kerberos 与 LDAP 的深入理解,还有很多要说和阅读的内容,但我现在需要把它留在这里,并为您提供一个链接:Kerberos vs. LDAP for authentication

【讨论】:

  • "您需要 AD 管理员为您生成的 keytab" >> 如果 AD 帐户是使用随机密码生成的,例如对于服务帐户。但是,如果您知道自己的密码,您始终可以创建一个密钥表,在 Linux 上使用 ktutil(与 kinitklist 一起安装)或在 Windows 上使用 ktab.exe(与 Sun/Oracle JRE 一起安装)
猜你喜欢
  • 2014-06-12
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
  • 1970-01-01
  • 2010-09-10
  • 2012-06-26
  • 2011-12-04
相关资源
最近更新 更多