【问题标题】:Has anyone successfully authenticated with Jmeter against a Windows ADFS/SSO using SPNEGO (Negotiate) and Kerberos?是否有人使用 SPNEGO (Negotiate) 和 Kerberos 针对 Windows ADFS/SSO 成功通过 Jmeter 进行身份验证?
【发布时间】:2019-02-11 20:43:01
【问题描述】:

或者,有没有人确定这不能完成或不起作用?

我正在尝试使用 Jmeter 对使用 OKTA Oauth2 进行授权但使用 ADFS/SSO 进行身份验证的站点进行负载测试。看来身份验证方案是带有 KERBEROS 的 SPNEGO,应该由 HttpClient 支持。我对 OKTA 部分没有任何问题,但无法让 Jmeter 对 SSO 服务器进行身份验证。

我有一个 HTTP Cookie 管理器以及一个具有一些常见请求标头值的 HTTP 标头管理器。当需要额外的请求标头值时,我使用单独的 HTTP 标头管理器和 HTTP 请求采样器。构造请求标头没有问题(在下面的步骤 6 中指出了一个例外),并且 cookie 都得到了正确处理。我正在为 HTTP 请求采样器使用默认的 HttpClient4 实现。我只使用如下所示的 HTTP 授权管理器。我们的安全团队提供了用户和密码,以及相关的密钥表,以及领域、域、KDC 和管理服务器。 krb5.conf 和 jaas.conf 已配置并指定了它们的位置。我没有收到任何 Java 异常。

Jmeter log extract:
            DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Authentication schemes in the order of preference: [Negotiate, Kerberos, NTLM, CredSSP, Digest, Basic]
        DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Challenge for Kerberos authentication scheme not available
        DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Challenge for CredSSP authentication scheme not available
        DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Challenge for Digest authentication scheme 

问题在于 Jmeter 没有响应来自服务器的任何挑战来执行多步骤身份验证过程。

【问题讨论】:

    标签: jmeter kerberos


    【解决方案1】:

    假设配置正确,这应该不是问题。适用于正常负载测试的相同规则:JMeter 必须发送与真实浏览器相同的网络流量模式。您可以使用像Wireshark 这样的嗅探器工具仔细检查它。

    仔细检查您在 user.properties 文件中设置了以下Kerberos-related JMeter properties

    kerberos.spnego.delegate_cred=true
    kerberos.spnego.strip_port=false
    kerberos_jaas_application=name_of_your_application_from_the_jaas_conf
    

    并且以防万一将下一行添加到 system.properties 文件:

    sun.security.krb5.debug=true
    

    参考资料:

    【讨论】:

    • 谢谢@Dmitri T。我有这些设置,但最好得到确认,这样我就可以消除它们作为问题的根源。同样,Kerberos 故障排除文章将有助于消除其他潜在问题。不幸的是,Blazemeter 文章只涉及用户名和密码的明确提供,而不是“协商”的 SPNEGO 方法。
    • 我忘了问 Wireshark。我知道它是什么,但从未使用过。我确实用 Fiddler 做了一些捕捉。使用 Wireshark 与 Fiddler 有其他好处吗?
    • Fiddler 只能捕获 HTTP/HTTPS 流量,而 Wireshark 支持更多协议。对您来说最有趣的功能是解密 Kerberos 流量。
    • 谢谢。我会试一试的。
    猜你喜欢
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2010-09-25
    相关资源
    最近更新 更多