У цій стаття, ми розглянемо, як налаштувати Kerberos аутентифікацію для різних браузерів в домені Windows для прозорої і безпечної аутентифікації на веб-серверах без необхідності повторного введення пароля в корпоративній мережі. У більшості сучасних браузерах (IE, Chrome, Firefox) є підтримка Kerberos, однак, щоб вона працювала, потрібно виконати кілька додаткових дій.

Щоб браузер міг авторизуватися на веб-сервері, потрібно, щоб були виконані наступні умови:

  • Підтримка Kerberos повинні бути включена на стороні веб-сервера (приклад налаштування Kerberos авторизації на сайті IIS)
  • Наявність у користувача прав доступу до сервера
  • Користувач повинен бути аутентифікований на своєму комп’ютері в Active Directory за допомогою Kerberos (повинен мати TGT – Kerberos Ticket Granting Ticket).

Наприклад, ми хочемо вирішити клієнтам Kerberos авторизацію через браузер на всіх веб серверах домена winitpro.ru (потрібно використовувати саме DNS або FQDN, а не IP адреса веб сервера)

Налаштування Kerberos аутентифікації в Internet Explorer

Розглянемо, як включити Kerberos аутентифікацію в Internet Explorer 11.

Відкрийте властивості браузера -> Безпека -> місцева интрасеть (Local intranet), натисніть на кнопку сайти -> додатково. Додайте в зону такі записи:

  • https: //*.winitpro.ru
  • http: //*.winitpro.ru

Включити kerberos для Internet Explorer 11

Додати сайти в цю зону можна за допомогою групової політики: Конфігурація комп’ютера ->Адміністративні шаблони ->Компоненти Windows -> Internet Explorer -> Панель управління Інтернетом -> Сторінка безпеки -> Призначення сайту до зони. Для кожного веб-сайту потрібно додати запис зі значенням 1. Приклад дивись в статті про відключення попередження системи безпеки для завантажених з інтернету файлів

Далі перейдіть на вкладку додатково (Advanced) і в розділі Безпека (Security) переконайтеся, що включена опція Дозволити вбудовану перевірку автентичності Windows (Увімкнути інтегровану автентифікацію Windows).

Дозволити вбудовану перевірку автентичності Windows

важливо. Переконайтеся, що веб сайти, для яких включена підтримка Kerberos аутентифікації пріустают тільки в зоні Місцева интрасеть. Для сайтів, включених в зону Надійні сайти (Trusted sites), токен Kerberos не надсилається на відповідний веб-сервер.

Включаємо Kerberos аутентифікацію в Google Chrome

Щоб SSO працювала в Google Chrome, потрібно налаштувати Internet Explorer вищеописаним способом (Chrome використовує дані настройки IE). Крім того, потрібно відзначити, що всі нові версії Chrome автоматично визначають наявність підтримки Kerberos. У тому випадку, якщо використовується одна зі старих версій Chrome (Chromium), для коректної авторизації на веб-серверах за допомогою Kerberos, його потрібно запустити з параметрами:

--auth-server-whitelist="*.winitpro.ru"
--auth-negotiate-delegate-whitelist="*.winitpro.ru"

наприклад,

"C:Program Files (x86)GoogleChromeApplicationchrome.exe” --auth-server-whitelist="*.winitpro.ru" --auth-negotiate-delegate-whitelist="*.winitpro.ru"

Або ці параметри можуть бути поширені через групові політики для Chrome (політика AuthServerWhitelist) або строковий параметр реєстру AuthNegotiateDelegateWhitelist (Знаходиться в гілці HKLM SOFTWARE Policies Google Chrome).

Для вступу змін в силу потрібно перезавантажити браузер і скинути тікети Kerberos командою klist purge (див. Статтю).

Налаштування Kerberos аутентифікації в Mozilla Firefox

За замовчуванням підтримка Kerberos в Firefox відключена, щоб включити її, відкрийте вікно конфігурації браузера (в адресному рядку перейдіть на адресу about: config). Потім в наступних параметрах вкажіть адреси веб-серверів, для яких повинна використовуватися Kerberos аутентифікація.

  • network.negotiate-auth.trusted-uris
  • network.automatic-ntlm-auth.trusted-uris

Mozilla Firefox • network.negotiate-auth.trusted-uris

Для зручності, можна відключити обов’язкове зазначення FQDN адреси сторінки в адресному рядку Mozilla Firefox, включивши параметр network.negotiate-auth.allow-non-fqdn

Перевірити, що ваш браузер працює через аутентифицироваться на сервері за допомогою Kerberos можна за допомогою Fiddler або команди klist tickets.

Leave a Reply

Your email address will not be published. Required fields are marked *