首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python ldap模块是否支持LDAP通道绑定和LDAP签名

Python ldap模块是否支持LDAP通道绑定和LDAP签名
EN

Stack Overflow用户
提问于 2020-01-29 23:52:20
回答 2查看 516关注 0票数 3

Microsoft Active Directory将在2020年3月进行更新,默认启用LDAP通道绑定和LDAP签名,请参阅https://support.microsoft.com/en-us/help/4520412/2020-ldap-channel-binding-and-ldap-signing-requirement-for-windows

当激活ldap通道绑定和LDAP签名以查询Active Directory中的数据时,Python LDAP模块是否仍然有效?

我需要修改什么吗?还是开箱即用?

我像这样连接到Active directory:

代码语言:javascript
复制
conn = ldap.initialize('url', bytes_mode=False)
conn.set_option(ldap.OPT_REFERRALS, 0)
conn.start_tls_s()
conn.simple_bind_s('username', 'password')

更新后必须使用的Python和ldap模块的最低版本是多少?

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-02-19 02:59:48

如果您使用的是简单绑定(就像您的代码示例中那样),那么在您的客户端中不需要进行任何更改。它将继续与LdapEnforceChannelBinding=2合作。

如果您将请求签名设为强制(LDAPServerIntegrity=2),那么如果没有ldaps或STARTLS,您将无法使用简单绑定(但您的示例代码似乎请求了STARTLS,因此它应该可以继续工作)。

但是,我还没有测试Pyton-ldap和SASL是否设置了绑定信息,如果您想使用GSSAPI/Kerberos或SASL/Digest-md5,它将是相关的。两者都不再适用于未修改的客户端(例如,Java sun-ldap JNDI提供程序无法使用)。

票数 3
EN

Stack Overflow用户

发布于 2020-02-28 22:11:49

我认为通道绑定不会影响LDAP简单TLS绑定( LDAPS )。通道签名是另一回事,但对于TLS也是可以的。

我所理解的是,通道绑定是用于CBT令牌的,并且是NTLMv2的SASL/NTLM的一部分,然后不是直接由LDAP实现,而是通过使用SASL实现。从github项目https://github.com/jborean93/ntlm-auth/blob/master/README.md中,我可以找到CBT,它被定义为从服务器证书派生的某个值,我猜它可能包含在RFC5929中,通道绑定令牌在第4章“tls- server -end-point”通道绑定类型中定义。

这与GSSAPI/Kerberos相同(请参阅https://github.com/requests/requests-kerberos/blob/master/requests_kerberos/kerberos_.py _get_channel_bindings_application_data )

不过,我没有看过SASL/Digest-md5 CBT。

通道绑定是CBT:https://support.microsoft.com/en-us/help/4034879/how-to-add-the-ldapenforcechannelbinding-registry-entry

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

https://stackoverflow.com/questions/59970805

复制
相关文章

相似问题

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