У меня есть веб-приложение (имя хоста: service.domain.com), и я хочу использовать аутентификацию Kerberos для идентификации пользователей, которые вошли в домен Windows. Microsoft AD (Windows Server 2008 R2) предоставляет службу Kerberos.
Служба представляет собой веб-приложение Java, использующее библиотеку расширений Spring Security Kerberos для реализации протокола SPNEGO / Kerberos. Я создал файл keytab в AD, который содержит общий секрет, которого должно быть достаточно для проверки подлинности билетов Kerberos, отправляемых браузерами клиента с помощью веб-приложения.
У меня такой вопрос: требуется ли хосту службы (service.domain.com) иметь доступ через брандмауэр (TCP / UDP 88) к KDC (kdc.domain.com) или достаточно файла keytab, чтобы хост службы мог расшифровать Билеты Kerberos и обеспечить аутентификацию?
источник
Ответы:
Служба никогда не должна говорить на KDC . Ему нужна таблица ключей , сгенерированная KDC , но которую вы можете скопировать любым способом. Им никогда не придется разговаривать друг с другом.
Чрезмерно упрощенная версия того, что, как я полагаю, происходит, выглядит примерно так:
Настройка службы
scp
или переносится на USB-накопитель, если хотите)Клиент, подключающийся к услуге
источник