Неуказанная ошибка GSS: ... kvno [Number] найдено в keytab, но не с enctype rc4-hmac - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь запустить код, который проверяет токен авторизации от клиента. Я написал этот код внутри функции:

 host = 'site_address'
state = None
service_name = f'HTTP@{host}'
try:
    rc, state = kerberos.authGSSServerInit(service_name)
    if rc != kerberos.AUTH_GSS_COMPLETE:
        return None
    rc = kerberos.authGSSServerStep(state, token)   <<<<< !!! ERROR !!!
    if rc == kerberos.AUTH_GSS_COMPLETE:
        self.kerberos_token = kerberos.authGSSServerResponse(state)
        self.kerberos_user = kerberos.authGSSServerUserName(state)
        return rc
    elif rc == kerberos.AUTH_GSS_CONTINUE:
        return kerberos.AUTH_GSS_CONTINUE
    else:
        return None
except kerberos.GSSError as error:
    LOGGER.error('Failed to perform the token verification due to %s', error)
    return None
finally:
    if state:
        kerberos.authGSSServerClean(state)

Но код завершается с ошибкой на rc = kerberos.authGSSServerStep(state, token) (помечена строка в коде) с этой ошибкой:

GSSError: (('Unspecified GSS failure.  Minor code may provide more information', 851968), ('Request ticket server HTTP/<site_address>@<realm_name> kvno 4 found in keytab but not with enctype rc4-hmac', 100005))

Также выкинул эту ошибку на экран:

[3302] 1547638447.877515: Failed to decrypt AP-REQ ticket: -1765328340/Request ticket server HTTP/base.testing.gc@TESTING.GC kvno 4 found in keytab but not with enctype rc4-hmac

Мой вопрос: почему я получаю это сообщение? Мой пользователь, который настраивается в Active Directory, помечен включенным This account supports Kerberos AES 256 bit encryption, а файл keytab создан с помощью /crypto AES256-SHA1 enctype.

Почему мой сервер (докер на машине с Ubuntu - Ubuntu 18.04) пытается расшифровать это с помощью rc4-hmac enctype? Как это исправить?

Редактировать Может быть, мой вопрос должен звучать так: кто мне скажет, в каком enctype мне прочитать keytab?

1 Ответ

0 голосов
/ 16 января 2019

Для меня это был trust configuration браузера - должен был добавить сайт к доверенным сайтам браузера (Свойства обозревателя -> Безопасность -> Локальный Интернет -> Сайты -> Добавить сайт с точным портом , http / https и ** адрес *).

По какой-то странной причине инструкция энктипа находится в заголовке токена ... или есть какое-то отступление к этому шифрованию.

...