首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FreeRADIUS与LDAP对Kerberos

FreeRADIUS与LDAP对Kerberos
EN

Server Fault用户
提问于 2018-12-02 11:46:23
回答 2查看 2.5K关注 0票数 1

下面的站点讨论如何设置FreeRADIUS来对LDAP后端进行身份验证(本教程演示如何在FreeIPA中公开NT哈希密码,以便FreeRADIUS能够读取它们)。

https://firstyear.id.au/blog/html/2016/01/13/FreeRADIUS:_使用_mschapv2_使用_freeipa.html

它还阻止使用Kerberos键选项卡将FreeRADIUS连接到IPA,因为在使用PAP身份验证时,

代码语言:javascript
复制
"FreeRADIUS can either read the NTHash and do a comparison (as above),
or it can directly bind to the LDAP server. This means in the direct
bind case, that the transport may not be encrypted due to the keytab."

另一方面,各种FreeRADIUS指南不鼓励使用LDAP (例如,参见默认内部隧道站点的注释,其中指出:

代码语言:javascript
复制
    #  We do NOT recommend using this.  LDAP servers are databases.
    #  They are NOT authentication servers.  FreeRADIUS is an
    #  authentication server, and knows what to do with authentication.
    #  LDAP servers do not.

除一般免责声明外,上述声明背后的理由是什么?

有谁能从安全的角度解释一下,一种方法和另一种方法的利弊吗?

我已经成功地使用了LDAP后端(没有KRB)进行安装,并且我正在使用PEAP进行WiFi身份验证。我想更好地理解这种情况下的安全权衡。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2018-12-02 21:34:26

For FreeRADIUS

该评论是作为一个通用的免责声明,以解决FreeRADIUS的一个缺陷。

在大多数情况下,您不知道用户的DN是什么来执行绑定。因此,首先,您需要以匿名用户的身份绑定,或者使用一组特权凭据来执行搜索并找到DN。

FreeRADIUS不为不同的目的维护单独的连接池,因此必须将连接作为身份验证用户进行反弹。

这意味着,为了在LDAP中对用户进行身份验证,您最终执行三个操作:

  1. 绑定为特权/匿名用户。
  2. 搜索用户的DN。
  3. 绑定为用户。

如果LDAP服务器和RADIUS服务器之间的延迟很大,这会严重限制吞吐量(就auth/S而言),因为FreeRADIUS版本的<= v3.0.x实现了同步I/O。

绝对没有理由不使用绑定操作对用户进行身份验证,特别是在LDAP服务器使用专门的后端身份验证插件来执行身份验证的情况下。不管LDAP是为什么而设计的。RADIUS协议当然不是为多层认证方案中的国际漫游联盟和隧道TLS设计的,但它能够很好地填补这些角色。

For IPA

您所链接的文档令人困惑。它似乎在讨论使用服务帐户通过Kerberos ( GSSAPI )绑定到LDAP服务器,而且由于389‘s中的缺陷,GSSAPI无法与StartTLS或LDAPS相结合,这意味着在第二次绑定操作期间用户的凭据将在何时提交。

或者,因为您不能在StartTLS中使用GSSAPI,或者不能在389 to中使用LDAPS,所以如果您使用Kerberos执行用户绑定操作,那么凭证就会被清晰地提交。

在这两种情况下,我相当肯定这是仅在389 is中的一个限制,而且大多数其他LDAP服务器将通过TLS加密的LDAP连接支持GSSAPI。

无论在何种情况下,如果不使用StartTLS或LDAPS,您都不应该向LDAP目录提交或检索凭据,如本文所述:

今天,保护您的帐户的唯一安全、有保障的方法是TLS。您应该使用LDAPS,这保证了所有通信都是安全的。更简单,更快,更好。

如果与目录服务器的通信是透明的,那么攻击者可以很容易地窥探正在提交给目录服务器的明文密码,或者查看返回的NTPassword。NTPassword只是密码的16位小endian编码,使用MD4进行散列,它和明文一样好。

票数 3
EN

Server Fault用户

发布于 2018-12-02 18:17:12

评论:

代码语言:javascript
复制
#  We do NOT recommend using this.  LDAP servers are databases.
#  They are NOT authentication servers.  FreeRADIUS is an
#  authentication server, and knows what to do with authentication.
#  LDAP servers do not.

在LDAP服务器将用于身份验证的上下文中,而不是作为数据库。这基本上意味着radius服务器将尝试使用提供的凭据对LDAP服务器进行身份验证。他们正确地警告你,这不是LDAP设计的目的。

现在,如果您使用LDAP作为数据库,这是其他地方的情况,这是没有问题的。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/942522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档