РЕДАКТИРОВАТЬ 25 октября 2018: мы не смогли решить эту проблему и прекратили попытки.Поскольку другие части нашей компании используют SAML, мы переводим все наши сайты / приложения на подход SAML SSO.Спасибо всем за ваши вопросы и помощь
Преамбула: Я стремлюсь получить некоторое представление о том, где начать искать решение моей проблемы.Заранее благодарим всех за прочтение и предоставление каких-либо рекомендаций!
[Редактировать] Тестирование проводилось с использованием IE, Firefox и Chrome.На Windows машины и Mac.Результаты одинаковы: все работают на старых серверах и все отказывают на новых серверах.
Проблема: единый вход Kerberos не работает на новых серверах CentOS 7.5.Я перемещаю свои веб-сайты на новые серверы, обновляя CentOS 6.7 до CentOS 7.5.В этом шаге я также обновляюсь с Apache / 2.2.15 до Apache / 2.4.33.Все серверы находятся за конечной точкой балансировки нагрузки.
На всех моих машинах CentOS 6.7 Kerberos работает.На всех моих компьютерах 7.5 это происходит сбой.
==== Особенности системы ====
CentOS Linux release 7.5.1804 (Core)
Server version: Apache/2.4.33 (Unix)
Server built: Jul 3 2018 11:33:42
==== Вывод из журнала ошибок apache ====
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require all granted: granted
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: granted
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require all granted: granted
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: granted
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
[auth_kerb:debug] src/mod_auth_kerb.c(1643): kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[headers:debug] mod_headers.c(900): AH01503: headers: ap_headers_error_filter()
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
[auth_kerb:debug] src/mod_auth_kerb.c(1643): kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[auth_kerb:debug] src/mod_auth_kerb.c(1400): Verifying client data using KRB5 GSS-API
[auth_kerb:debug] src/mod_auth_kerb.c(1416): Client didn't delegate us their credential
[auth_kerb:debug] src/mod_auth_kerb.c(1444): Warning: received token seems to be NTLM, which isn't supported by the Kerberos module. Check your IE configuration.
[auth_kerb:debug] src/mod_auth_kerb.c(1116): GSS-API major_status:00010000, minor_status:00000000
[auth_kerb:error] gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)
[headers:debug] mod_headers.c(900): AH01503: headers: ap_headers_error_filter()
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require all granted: granted, referer: https://six.***********.com/sso
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: granted, referer: https://six.***********.com/sso
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require all granted: granted, referer: https://six.***********.com/sso
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: granted, referer: https://six.***********.com/sso
[headers:debug] mod_headers.c(900): AH01503: headers: ap_headers_error_filter()
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require all granted: granted, referer: https://six.***********.com/sso
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: granted, referer: https://six.***********.com/sso
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of Require all granted: granted, referer: https://six.***********.com/sso
[authz_core:debug] mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: granted, referer: https://six.***********.com/sso
==== apache vhost files ====
conf / vhosts.d / site
<VirtualHost *:80>
Define vhost_name siteName
Define vhost_home /path/to/site/home
Include conf/vhosts.d/template.inc
</VirtualHost>
conf / vhosts.d / template.inc
<Directory "${vhost_home}/sso">
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate on
KrbMethodK5Passwd off
KrbAuthoritative off
KrbAuthRealms [list of realms removed for security]
Krb5Keytab "/etc/krb5.keytab"
KrbServiceName Any
require valid-user
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/login/anonlogin.php\"></html>"
</Directory>
==== И некоторый вывод из kinit и klist ====
$ sudo kinit -V -t /etc/krb5.keytab HTTP/six.***********.com@aaa.**********.COM
keytab specified, forcing -k
Using default cache: /tmp/krb5cc_0
Using principal: HTTP/six.***********.com@aaa.**********.COM
Using keytab: /etc/krb5.keytab
kinit: Client 'HTTP/six.***********.com@aaa.**********.COM
Kerberos database while getting initial credentials
$ sudo klist -etk
Keytab name: FILE:/etc/krb5.keytab
KVNO Timestamp Principal
---- -------------------------------------------------------------------------
3 09/27/2018 10:22:17 HTTP/one.***********.com@aaa.**********.COM (arcfour-hmac)
3 09/27/2018 10:22:17 HTTP/two.***********.com@aaa.**********.COM (arcfour-hmac)
3 09/27/2018 10:22:17 HTTP/three.***********.com@aaa.**********.COM (arcfour-hmac)
3 09/27/2018 10:22:17 HTTP/four.***********.com@aaa.**********.COM (arcfour-hmac)
3 09/27/2018 10:22:17 HTTP/five.***********.com@aaa.**********.COM (arcfour-hmac)
3 09/27/2018 10:22:17 HTTP/six.***********.com@aaa.**********.COM (arcfour-hmac)
Рады предоставить любую дополнительную информацию.
У нас есть эти новые серверыв настоящее время находится за конечной точкой балансировщика нагрузки, которая работает с Kerberos и Centos 6.7 и Apache 2.2.Файл keytab одинаков на старом и новом серверах.