Некоторые дополнительные вопросы:
У меня нет обширного опыта настройки делегирования Kerberos в Apache, но я почти уверен, что имя службы, определенное в apache, должно совпадать с именем службы в файле keytab.
Задайте имя службы явно следующим образом:
<Location /secured>
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbAuthRealms DOMAIN.COM
Krb5KeyTab /etc/krb5.keytab
KrbLocalUserMapping On
KrbServiceName HTTP/apache_server.DOMAIN.com
require valid-user
</Location>
Учетная запись компьютера в AD должна иметь HTTP / apache_server.DOMAIN.com
SPN, но похоже, что у вас это уже есть
Ответ, приведенный выше, является правильным, но, к сожалению, вы должны использовать имя службы, которое находится в keytab
sudo ktutil list
AD SPN, Насколько я понимаю, это такие псевдонимы, что когда клиент запрашивает HTTP / apache_server.com, он фактически получает билет службы Kerberos для host / apache_server.com.
Kerberos на стороне unix ничего не знает об этих псевдонимах, поэтому вы должны явно указать, что находится в keytab.
Одна вещь, которая может помочь, - это получить последнюю версию mod_auth_kerb, которая поддерживает использование ключевого слова Any.
KrbServiceName Any
Это означает, что модуль будет искать на вкладке keytab и использовать все найденные ключи, пока один из них не заработает.
Одна вещь, которая может помочь, - это получение последней версии mod_auth_kerb, которая поддерживает использование ключевого слова Any.
KrbServiceName Any
Это означает, что модуль будет искать на вкладке ключей и использовать все найденные ключи, пока один из них не сработает.
Одна вещь, которая может помочь, - это получить последнюю версию mod_auth_kerb, которая поддерживает использование ключевого слова Any.
KrbServiceName Any
Это означает, что модуль будет искать на вкладке keytab и использовать все найденные ключи, пока один из них не заработает.