Настройка единого входа Kerberos/NTLM с использованием Apache в Windows.
Обзор
пошаговая инструкция по настройке Проверка подлинности Kerberos На Windows с Apache. Узнайте, как настроить Kerberos для безопасной и бесперебойной аутентификации пользователей, включая первоначальную настройку, параметры и т. д. Настройки браузера.
Простая интеграция LDAP/Active Directory для WordPress Video.
Единый вход (SSO) с Apache на сервере Windows XAMPP:
- Откройте командную строку в Режим администратора.
- Выполните следующую команду для добавления. Имя участника службы (SPN) для учетной записи сервиса.
- Проверьте правильность настроек, выполнив следующую команду:
- В результате должен быть указан список. http/machinename.domain.com
- Откройте «Пользователи и компьютеры Active Directory» и в верхнем меню выберите Просмотреть >> Расширенные функции.
- Откройте учетную запись службы и перейдите в... редактор атрибутов вкладка, перейдите к ServicePrincipalName проверить Вход SPN.
- Перейдите в Делегация меню.
- Выбрать Доверьте этому пользователю делегирование прав любой службе (только Kerberos).
Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
Пример: C:\Users\Administrator> setspn -S HTTP/ machinename.domain.com service_account
Примечание: "machinename.domain.com" здесь — это имя компьютера. Убедитесь, что оно доступно на сервере Windows, на котором запущена служба Active Directory.
setspn -l domain\service_account

- Нажмите Применить.
- Кликните сюда для загрузки модуля Apache.
- Скопируйте mod_authnz_sspi.so от Apache24 > модули и поместите эту папку в каталог модулей (C:\xampp\apache\modules).
- Скопируйте sspipkgs.exe файл из Apache24 -> bin поместите эту папку в папку bin вашего XAMPP Apache (.....\xampp\apache\bin) на вашем веб-сервере.
- Откройте файл httpd.conf (.....\xampp\apache\conf) и вставьте следующую строку кода в раздел LoadModule.
- Убедитесь, что следующие модули раскомментированы:
- Кроме того, убедитесь, что включить расширение LDAP.
- Откройте файл httpd.conf из (.....\xampp\apache\conf\httpd.conf).
Перейдите по ссылке и вставьте следующие строки после #Require all grants. - Перезапустите Сервер Apache.
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
<Directory "...../xampp/htdocs">
......
......
#Require all granted
AllowOverride None Options None
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
Require valid-user
</Directory>
Настройка браузеров для единого входа Kerberos:
Примечание: Конфигурация на стороне клиента позволяет соответствующему браузеру использовать SPNEGO для согласования аутентификации Kerberos. Необходимо убедиться, что браузер в системе конечного пользователя настроен на поддержку аутентификации Kerberos.
Общая настройка единого входа Kerberos для всех браузеров:
- Перейдите в Панель управления и нажмите на Сеть и Интернет >> Параметры интернета.
- Откроется окно «Свойства интернета». Нажмите на Безопасность >> Локальная интранет-сеть >> Сайты.

- После этого нажмите на Кнопка «Дополнительно».

- В Добавить этот сайт в зону В этом разделе укажите URL-адрес веб-сайта, на который вы хотите войти с помощью единого входа (SSO).

- Нажмите Инструменты > Параметры интернета > Безопасность > Локальная интранет-сеть > Пользовательский уровень.
- Прокрутите вниз до раздела «Параметры аутентификации пользователя» и выберите Автоматический вход в систему возможен только в зоне интранета..

- Нажмите на Ok Нажмите кнопку, а затем перезапустите браузер.
После выполнения вышеуказанных настроек вам не потребуется настраивать параметры браузеров Internet Explorer, Google Chrome и Apple Safari.
- Internet Explorer
- Google Chrome
- Mozilla Firefox
- Apple Safari
Часто задаваемые вопросы (FAQ)
Дополнительные часто задаваемые вопросы ➔Можно ли использовать существующего пользователя LDAP в качестве субъекта службы Kerberos?
Да, вы можете использовать существующего пользователя LDAP в качестве субъекта службы Kerberos. Однако у этого пользователя должен быть установлен пароль, срок действия которого никогда не истечет. Пожалуйста, убедитесь, что эта учетная запись не используется никаким другим пользователем, поскольку приложение использует эту учетную запись в качестве субъекта службы Kerberos и соответствующий файл keytab для получения билета Kerberos.
Что такое «клиент Kerberos», «сервер Kerberos» и «сервер приложений»?
Вся аутентификация в Kerberos происходит между клиентами и серверами. Поэтому любой субъект, получающий сервисный билет для службы Kerberos, в терминологии Kerberos называется «клиентом Kerberos». Пользователи часто считаются клиентами, но любым субъектом может быть клиент.
Центр распределения ключей, или KDC, обычно называют «сервером Kerberos». KDC реализует как службу аутентификации (AS), так и службу выдачи билетов (TGS). Каждый пароль, связанный с каждым субъектом, хранится в KDC. Поэтому крайне важно, чтобы KDC был максимально безопасным.
Термин «сервер приложений» часто относится к программному обеспечению, использующему Kerberos, которое клиенты применяют для взаимодействия и аутентификации с помощью билетов Kerberos. Примером сервера приложений является демон Telnet Kerberos.
Почему мне предлагается ввести свои учетные данные?
Это происходит, когда для аутентификации используется протокол NTLM вместо Kerberos.
Это может произойти по нескольким причинам:
- Проверьте, используете ли вы для доступа к веб-сайту компьютер, подключенный к домену.
- Убедитесь, что время синхронизировано между LDAP-сервером и веб-сервером.
- Убедитесь, что в настройках вашего браузера и параметрах интернета включена поддержка единого входа Kerberos.
- Если проблема сохраняется, пожалуйста, свяжитесь с нами.


