Получение JMeter для аутентификации с помощью Kerberos - PullRequest
1 голос
/ 05 июня 2019

У меня возникли проблемы при попытке аутентификации в Kerberos через JMeter. Я следовал некоторым инструкциям по установке на разных сайтах, но JMeter все же не смог пройти аутентификацию Все HTTP-запросы, которые я записал, не были выполнены во время воспроизведения с кодом 401 .

До этого наш тестовый сервер использовал Kerberos и NTLM для аутентификации, и тесты прошли нормально. До этого месяца, когда группа безопасности будет применять Kerberos как единственную защиту.


На экране командной строки JMeter при каждом запуске теста отображается следующее:

[Krb5LoginModule] добавил Krb5Principal MyUserName в тему Совершить успешно


HTTP-запросы все еще возвращаются с 401

В соответствии с моим планом тестирования я добавил:

- Диспетчер авторизации HTTP
- HTTP-запрос по умолчанию
- Менеджер заголовков
- Cookie Manager


Авторизация хранится в диспетчере авторизации

|| ... URL ... || --- имя пользователя-- || пароль || ----- Домен ---- || ---- Царство ----- || Механизм ||

|| ... URL ... || myUserName || *********** || COMDOMAIN || DEPT.COMPANY.COM || KERBEROS ||


Я отредактировал krb5.conf, чтобы он выглядел следующим образом:

[libdefaults] default_tkt_enctypes = опущено
default_tgs_enctypes = опущено
forwardable = опущено
dns_lookup_kdc = true
dns_lookup_realm = true
udp_preference_limit = 1

default_realm = DEPT.COMPANY.COM

[царства]
DEPT.COMPANY.COM = {
kdc = TEST-SPACE.dev.company.com
admin_server = TEST-SPACE.dev.company.com
}

[Domain_realm]
COMDOMAIN = DEPT.COMPANY.COM

kdc и admin_server были предоставлены сотрудником службы безопасности. У меня нет доступа к безопасности сервера.

РЕДАКТИРОВАТЬ 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

Sidenotes: Я просмотрел некоторые онлайн-справки и создал реестр REG_SZ с именем allowtgtsessionkey по умолчанию 1 в regedit, но безрезультатно.

Также относительно той же проблемы, я думаю, что это может быть связано keytab , однако мои знания о keytab ограничены. Поэтому я могу войти на сайт в обычном режиме, просто я не могу заставить JMeter пройти через Kerberos.

...