让JMeter使用Kerberos进行身份验证

让JMeter使用Kerberos进行身份验证,jmeter,kerberos,Jmeter,Kerberos,我在尝试通过JMeter对Kerberos进行身份验证时遇到了很多问题。我在不同的站点上遵循了一些安装指南,但JMeter仍然无法进行身份验证。我录制的所有HTTP请求在播放过程中都失败,代码为401 在此之前,我们的测试服务器使用Kerberos和NTLM进行身份验证,测试进行得很顺利。直到本月安全团队将Kerberos作为唯一的安全机制 在JMeter命令提示符屏幕上,每次运行测试时都会显示: [Krb5LoginModule]向主题添加了Krb5PrincipalMyUserName 提

我在尝试通过JMeter对Kerberos进行身份验证时遇到了很多问题。我在不同的站点上遵循了一些安装指南,但JMeter仍然无法进行身份验证。我录制的所有HTTP请求在播放过程中都失败,代码为401

在此之前,我们的测试服务器使用Kerberos和NTLM进行身份验证,测试进行得很顺利。直到本月安全团队将Kerberos作为唯一的安全机制


在JMeter命令提示符屏幕上,每次运行测试时都会显示:

[Krb5LoginModule]向主题添加了Krb5PrincipalMyUserName 提交成功


HTTP请求仍然返回401

在我的测试计划下,我添加了:

-HTTP授权管理器
-HTTP请求默认值
-标题管理器
-Cookie管理器


授权管理器中存储的授权

||…URL…||---用户名--| |密码--Domain--| |--Realm--| |机制||

||…URL…||myUserName | |*********| |COM域名| |DEPT.COMPANY.COM| |||


我编辑了krb5.conf,如下所示:

[默认值] 默认类型=省略
默认\u tgs\u enctypes=省略
可转发=省略
dns_lookup_kdc=true
dns_lookup_realm=true
udp_首选项_限制=1

默认领域=DEPT.COMPANY.COM

[领域]
DEPT.COMPANY.COM={
kdc=TEST-SPACE.dev.company.com
admin_server=TEST-SPACE.dev.company.com
}

[域\领域]
COMDOMAIN=DEPT.COMPANY.COM

kdc管理服务器由安全人员提供。我没有任何访问服务器安全的权限

编辑1: 关于这个问题的最新情况。因此,我重新启用了kerberos凭据提示,以手动将我的凭据输入JMeter测试,并获得以下结果:

KinitOptions cache name is C:\Users\myadusername\krb5cc_MyADusername
LSA: Found Ticket
LSA: Made NewWeakGlobalRef
LSA: Found PrincipalName
LSA: Made NewWeakGlobalRef
LSA: Found DerValue
LSA: Made NewWeakGlobalRef
LSA: Found EncryptionKey
LSA: Made NewWeakGlobalRef
LSA: Found TicketFlags
LSA: Made NewWeakGlobalRef
LSA: Found KerberosTime
LSA: Made NewWeakGlobalRef
LSA: Found String
LSA: Made NewWeakGlobalRef
LSA: Found DerValue constructor
LSA: Found Ticket constructor
LSA: Found PrincipalName constructor
LSA: Found EncryptionKey constructor
LSA: Found TicketFlags constructor
LSA: Found KerberosTime constructor
LSA: Finished OnLoad processing

Acquire default native Credentials
Found no TGT's in LSA
Kerberos username [MyADusername]: myadusername
Kerberos password for myadusername:
KdcAccessibility: reset
KinitOptions cache name is C:\Users\myadusername\krb5cc_MyADusername
Acquire default native Credentials
Found no TGT's in LSA
旁注:我查阅了一些在线帮助,并在regedit中创建了名为allowtgtsessionkey default的注册表,默认值为1,但无效


同样关于同一个问题,我认为它可能与keytab有关,但我对keytab的了解有限。因此,我可以正常登录到网站,只是无法让JMeter通过Kerberos。

我只是再次查看了日志,并看到以下警告:
HttpAuthenticator:协商身份验证错误:未提供有效凭据(机制级别:未提供有效凭据(机制级别:未找到任何Kerberos tgt))
但在JMeter system.properties中,我已经添加了以下行:
java.security.krb5.conf=krb5.conf
java.security.auth.login.config=jaas.conf
读取HTTPCLIENT-1625,JMeter也会受到影响。充其量,您的Fiddler作为代理,它将执行SPNEGO身份验证。我只是再次查看了日志,我看到了以下警告:
HttpAuthenticator:协商身份验证错误:未提供有效凭据(机制级别:未提供有效凭据(机制级别:未找到任何Kerberos tgt))
但在JMeter system.properties中,我已经添加了以下行:
java.security.krb5.conf=krb5.conf
java.security.auth.login.config=jaas.conf
读取HTTPCLIENT-1625,JMeter也会受到影响。充其量,您的Fiddler作为代理,它将执行SPNEGO身份验证