Apache - заменить Apache::AuthenNTLM на Kerberos (mod_auth_kerb)
В настоящее время в системе интрасети в Solaris мы используем модуль perls Apache2:: AuthenNTLM для аутентификации на сервере Doman Win 2k3, поэтому мы можем получить доступ к идентификатору пользователя, просматривающего сайт.
Переходя на серверы Win 2012 AD, нам говорят, что он не будет поддерживать NTLM, который Microsoft все равно не рекомендует в наши дни. Является ли mod-auth-curb подходящей заменой для этого варианта использования?
Я искал в Google и не могу найти релевантную статью или учебник, показывающий, что mod-auth-curb используется таким образом. Я с трудом начинаю и могу использовать точку в правильном направлении.
Спасибо
1 ответ
Вам необходимо, чтобы ваш администратор Active Directory создал учетную запись службы, которая содержит принципы обслуживания Kerberos для вашего сервера интрасети. SPN или SPN должны выглядеть <service>/<hostname>
и содержат все имена хостов и / или псевдонимы DNS, которые пользователи используют для доступа к вашему сайту в интрасети, например что-то вроде:
http/solarishost.int.example.com
http/solarishost
http/intranet.example.com
Администратор Active Directory может извлечь имена участников-служб вkeytab
файл, который необходимо скопировать на хост Solaris и настроить в Apache. Примечание: имя пользователя http/hostname также используется для HTTPS.
В Solaris вам понадобятся инструменты и библиотеки MIT Kerberos 5, загрузите и установите модуль Apache, а затем настройте его.
Обычно вы редактируете глобальный файл конфигурации Kerberos./etc/krb5/krb5.conf
для установки значений по умолчанию, которые также будет использовать mod-auth-curb, важны, как правило, только имена REALM, обычно это домен Windows AD, ваш домен DNS и серверы KDC - обычно контроллеры домена, которые администратор AD советует вам использовать,
Конфигурация Apache выглядит примерно так:
<Location /intranet>
AuthType Kerberos
AuthName "intranet"
KrbMethodNegotiate on
KrbAuthoritative on
KrbVerifyKDC on
KrbAuthRealm YOUR_ACTIVEDIRECTORY_DOMAIN
Krb5Keytab /etc/httpd/intranet.keytab
KrbSaveCredentials off
Require valid-user
</Location>
Некоторое понимание Kerberos и Microsoft AD помогает, так как это может быть сложно отладить для непосвященных. Да, и с Kerberos убедитесь, что ваши часы синхронизированы.