В этой статья, мы рассмотрим, как настроить Kerberos аутентификацию для различных браузеров в домене Windows для прозрачной и безопасной аутентификации на веб-серверах без необходимости повторного ввода пароля в корпоративной сети. В большинстве современных браузерах (IE, Chrome, Firefox) имеется поддержка Kerberos, однако, чтобы она работала, нужно выполнить несколько дополнительных действий.
Чтобы браузер мог авторизоваться на веб-сервере, нужно, чтобы были выполнены следующие условия:
- Поддержка Kerberos должны быть включена на стороне веб-сервера (пример настройки Kerberos авторизации на сайте IIS )
- Наличие у пользователя прав доступа к серверу
- Пользователь должен быть аутентифицирован на своем компьютере в Active Directory с помощью Kerberos (должен иметь TGT — Kerberos Ticket Granting Ticket).
К примеру, мы хотим разрешить клиентам Kerberos авторизацию через браузер на всех веб серверах домена remontka.com (нужно использовать именно DNS или FQDN, а не IP адрес веб сервера)
Настройка Kerberos аутентификации в Internet Explorer
Рассмотрим, как включить Kerberos аутентификацию в Internet Explorer 11.
Откройте Свойства браузера -> Безопасность -> Местная интрасеть (Local intranet), нажмите на кнопку Сайты -> Дополнительно . Добавьте в зону следующие записи:
- https://*.remontka.com
- http://*.remontka.com
Далее перейдите на вкладку Дополнительно (Advanced) и в разделе Безопасность (Security) убедитесь, что включена опция Разрешить встроенную проверку подлинности Windows (Enable Integrated Windows Authentication).
Включаем Kerberos аутентификацию в Google Chrome
Чтобы SSO работала в Google Chrome, нужно настроить Internet Explorer вышеописанным способом (Chrome использует данные настройки IE). Кроме того, нужно отметить, что все новые версии Chrome автоматически определяют наличие поддержки Kerberos. В том случае, если используется одна из старых версий Chrome (Chromium), для корректной авторизации на веб-серверах с помощью Kerberos, его нужно запустить с параметрами:
--auth-server-whitelist="*.remontka.com"
--auth-negotiate-delegate-whitelist="*.remontka.com"
Например,
"C:Program Files (x86)GoogleChromeApplicationchrome.exe” --auth-server-whitelist="*.remontka.com" --auth-negotiate-delegate-whitelist="*.remontka.com"
Либо эти параметры могут быть распространены через групповые политики для Chrome (политика AuthServerWhitelist) или строковый параметр реестра AuthNegotiateDelegateWhitelist (находится в ветке HKLMSOFTWAREPoliciesGoogleChrome).
Для вступления изменений в силу нужно перезагрузить браузер и сбросить тикеты Kerberos командой klist purge (см. статью ).
Настройка Kerberos аутентификации в Mozilla Firefox
По умолчанию поддержка Kerberos в Firefox отключена, чтобы включить ее, откройте окно конфигурации браузера (в адресной строке перейдите на адрес about:config). Затем в следующих параметрах укажите адреса веб-серверов, для которых должна использоваться Kerberos аутентификация.
- network.negotiate-auth.trusted-uris
- network.automatic-ntlm-auth.trusted-uris
Проверить, что ваш браузер работает через аутентифицировался на сервере с помощью Kerberos можно с помощью Fiddler или команды klist tickets.