Mam aplikację internetową (nazwa hosta: service.domain.com) i chcę używać uwierzytelniania Kerberos do identyfikowania użytkowników zalogowanych do domeny Windows. Microsoft AD (Windows Server 2008 R2) zapewnia usługę Kerberos.
Usługa jest aplikacją internetową Java wykorzystującą bibliotekę rozszerzeń Spring Security Kerberos do implementacji protokołu SPNEGO / Kerberos. Utworzyłem plik tabeli kluczy w AD, który zawiera wspólny klucz tajny, który powinien wystarczyć do uwierzytelnienia biletów Kerberos, które są wysyłane przez przeglądarki klienta za pomocą aplikacji internetowej.
Moje pytanie brzmi: czy host usługi (service.domain.com) musi mieć dostęp do zapory ogniowej (TCP / UDP 88) do KDC (kdc.domain.com), czy też plik tabeli kluczy wystarcza, aby host usługi mógł odszyfrować Bilety Kerberos i zapewnić uwierzytelnianie?
źródło
Odpowiedzi:
Usługa nie musi rozmawiać z KDC . Wymaga keytab wygenerowanego przez KDC , ale można go kopiować w dowolny sposób. Nigdy nie muszą ze sobą rozmawiać.
Zbyt uproszczona wersja tego, co według mnie dzieje się mniej więcej tak:
Konfiguracja usługi
scp
lub noszony na dysku USB, jeśli chcesz)Klient łączy się z usługą
źródło