Gol*_*den 17 ntlm kerberos node.js ntlmv2 ntlm-authentication
我想使用充当某种代理的Node.js构建服务器。连接到我的服务器的客户端使用NTLMv2进行身份验证(没有机会更改此身份),但是我的服务器应连接到的上游服务器需要Kerberos令牌。
因此,我的问题非常简单:如何使用Node.js将NTLMv2提供的信息转换为Kerberos令牌?到目前为止,在npm上,我已经找到了用于NTLMv2身份验证的模块,但是我可能需要以某种方式与Windows进行对话,以将用户的NTLMv2数据转换为该用户的令牌。
关于此的任何提示,如何解决此问题?
绝对不!NTLM 和 Kerberos 的运行方式完全不同。首先,我强烈建议尽快摆脱 NTLM。
如果您可以访问 C 接口,您就可以轻松解决您的问题。我还假设您在 CentOS 或 FreeBSD 等类 Unix 操作系统上使用 MIT Kerberos。
NTLM 将为您提供下层登录名。您首先需要通过 LDAP 将 NetBIOS 域转换为 DNS 域(使用libopenldap
),然后您可以为您的客户端构建 Kerberos 主体或企业主体。然后在 KDC 中创建一个服务帐户,并在该帐户上为目标服务启用协议转换和受限委派。现在代表该用户主体请求 TGT 并为该用户请求服务票证,瞧,您可以访问 Kerberos 后端。这是一篇不错的读物:https ://k5wiki.kerberos.org/wiki/Projects/Services4User
如果您运行 HTTPd 作为反向代理,它可能会为您处理mod_auth_gssapi
.
在 Windows 上,安全 API 和 SSPI 有点麻烦。Windows 中的主要转换是免费的。您需要LsaLogonUser
with KERB_S4U_LOGON
,模拟该句柄,然后要求 SSPI 获取信用句柄...
归档时间: |
|
查看次数: |
322 次 |
最近记录: |