Uwierzytelnianie Kerberos, host usługi i dostęp do KDC

10

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?

StrangeLoop
źródło
Usługa nie wymaga dostępu do KDC w konfiguracji. Klienci absolutnie tak.
jouell,

Odpowiedzi:

11

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

  • KDC generuje usług keytab (który jest czymś w rodzaju tajnego klucza / hasło, jeśli chcesz)
  • ten keytab jest dostarczany do usługi w jakiś sposób ( scplub noszony na dysku USB, jeśli chcesz)

Klient łączy się z usługą

  • klient żąda biletu usługi od KDC
  • KDC generuje bilet serwisowy , który zawiera pewne informacje, które można odszyfrować tylko za pomocą klucza usługi (jest to plik, który znajduje się na serwerze)
  • klient wysyła swój bilet serwisowy do serwisu
  • serwis wykorzystuje keytab zweryfikować bilet (brak komunikacji konieczne sieć)
chutz
źródło
Dziękuję, tak też to zrozumiałem z artykułu na Wikipedii Kerberos. To pytanie wydaje się mieć sprzeczną odpowiedź: Uwierzytelnianie Kerberos dla
serwerów WWW
Cóż, nie wiem, co się stało z inną odpowiedzią, ale mam bardzo zdalny serwer SSH wykonujący uwierzytelnianie oparte na Kerberos iz pewnością nie ma dostępu do KDC, które jest w mojej prywatnej sieci LAN w domu. Czy może być coś dziwnego z serwerami WWW? Może, ale bardzo w to wątpię.
chutz