我知道以下问题已被多次询问,我能找到的答案是获得 SSL 证书。
但是如何在没有 SSL 的情况下绕过它?
这是问题所在:
我一直在实现一个基于 Rest 的 API,它使用 Active Directory 对用户进行身份验证。
我们的安全团队担心将纯文本密码从 UI 传递到 API 会带来安全风险。
但我们这样做是因为 Active Directory 需要纯文本密码。它只是在 POST 请求中采用 JSON 格式:
{"user":"uname","password":"password"}
这是我从 python ldap3 模块使用的 AD 身份验证代码。
s = Server(AD_SERVER, port=AD_PORT, use_ssl=True, get_info=ALL)
c = Connection(s, user=userName, password=password, authentication=NTLM)
c.bind()
所以上面有一种方法可以以任何散列或任何加密格式发送密码。我不确定 Active Directory 或 ldap3 是否支持这种连接机制。
任何线索将不胜感激。