【问题标题】:ntlm_auth against AD with validation of multiple group membership针对 AD 的 ntlm_auth 验证多个组成员身份
【发布时间】:2019-07-22 10:55:12
【问题描述】:

我一直在尝试为我们的网络设备设置freeradius 服务,该服务将针对 Active Directory 进行身份验证。我现在有身份验证工作。我要完成的下一个任务是检查用户是否属于某个组。使用 ntlm_auth 的参数“require-membership-of”很容易

我的配置是这样的:

program = "/usr/bin/ntlm_auth --request-nt-key --domain=DOMAIN --require-membership-of='DOMAIN\NetworkAdmins' --username=%{mschap:User-Name} --password=%{User-Password}"

但我找不到检查 2 个或更多组的方法。有没有办法以某种方式做到这一点?

谢谢

【问题讨论】:

    标签: freeradius ntlm-authentication


    【解决方案1】:

    简短的回答:不要为此使用ntlm_auth,而是使用 LDAP 模块。

    通过ntlm_auth 进行组检查是非常基本的。 (实际上最好完全跳过使用ntlm_auth 并开始使用FreeRADIUS 内置的直接winbind 身份验证:请参阅raddb/mods-available/mschap 中的winbind_usernamewinbind_domain。)

    为了更好地控制组成员资格检查(包括正确检查嵌套组),您根本不应该将其作为ntlm_auth(或winbind auth)的一部分,而是配置和使用ldap 模块。

    有关所有详细信息,请参阅raddb/mods-available/ldap。您需要创建符号链接 raddb/mods-enabled/ldap -> ../mods-available/ldap 才能启用它。

    配置 LDAP 模块后,您可以使用虚拟属性 LDAP-Group 来测试用户是否在组中,例如

    if (LDAP-Group == "group1" && LDAP-Group == "group2") {
        ...
    }
    

    如果您发现这对于您的配置仍然不够灵活,您可以使用 XLAT 扩展来执行临时 LDAP 查询。

    【讨论】:

    • 您好,感谢您提供的信息。我正在使用 FreeRADIUS 版本 3.0.13,但似乎他们完全从其中转储了 LDAP 模块。不确定他们是否不再支持它所以不确定除了 ntlm_auth 是否还有其他选择
    • LDAP 模块当然没有被删除。如果您使用的是 O/S 包,则可能需要安装另一个包(例如 freeradius-ldap)。
    • 啊没有注意到你必须单独安装它。谢谢,现在就玩这个
    猜你喜欢
    • 1970-01-01
    • 2015-05-13
    • 2020-10-14
    • 2012-03-06
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 2013-09-25
    相关资源
    最近更新 更多