Аутентифікація Kerberos, хост сервісу та доступ до KDC


10

У мене є веб-додаток (ім'я хоста: service.domain.com), і я хочу використовувати автентифікацію Kerberos для ідентифікації користувачів, які увійшли до домену Windows. Microsoft AD (Windows Server 2008 R2) надає послугу Kerberos.

Служба - це веб-додаток Java, що використовує бібліотеку розширень Spring Security Kerberos для реалізації протоколу SPNEGO / Kerberos. Я створив файл рекламних ключів в AD, який містить загальний секрет, якого повинно вистачити для автентифікації квитків на Kerberos, які надсилаються браузерами клієнтів за допомогою веб-програми.

Моє запитання: чи повинен хост сервісу (service.domain.com) мати доступ між брандмауером (TCP / UDP 88) до KDC (kdc.domain.com) або чи достатньо файлу з клавішами, щоб хост сервісу міг розшифрувати Керберос-квитки та надають автентифікацію?


Службі не потрібен доступ до KDC у ваших налаштуваннях. Клієнти абсолютно роблять.
Jouell

Відповіді:


11

Служба ніколи не повинна говорити на KDC . Для цього потрібна вкладка ключа, що генерується KDC , але ви можете скопіювати будь-який потрібний вам спосіб. Їм ніколи не доводиться розмовляти між собою.

Занадто спрощена версія того, що, на мою думку, продовжується, виглядає приблизно так:

Налаштування послуги

  • KDC генерує службову клавішу (яка є чимось на зразок секретного ключа / пароля, якщо вам це подобається)
  • ця клавіша клавіатури надається до сервісу певним чином ( scpабо переноситься на USB-накопичувач, якщо ви хочете)

Клієнт, який підключається до послуги

  • клієнт запитує сервісний квиток у KDC
  • KDC генерує службовий квиток , який містить деяку інформацію, яку можна розшифрувати тільки службовою клавішею служби (це файл, який сидить на вашому сервері)
  • Клієнт відправляє сервісний квиток на сервіс
  • НЕ служба використовує Keytab перевірити квиток (немає мережі зв'язку необхідно)

Дякую, саме так я зрозумів це і зі статті Вікіпедії в Керберосі. На це питання, мабуть, є суперечлива відповідь: Автентифікація Kerberos для веб-серверів
StrangeLoop

Ну, я не знаю, що сталося в тій іншій відповіді, але у мене дуже віддалений сервер SSH, який робить автентифікацію на основі Kerberos, і він, безумовно, не має доступу до KDC, який знаходиться в моїй приватній локальній мережі вдома. Чи може статися щось дивне з веб-серверами? Можливо, але я дуже сумніваюся в цьому.
chutz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.