Autenticazione Kerberos, host del servizio e accesso a KDC


10

Ho un'applicazione web (nome host: service.domain.com) e desidero utilizzare l'autenticazione Kerberos per identificare gli utenti che hanno effettuato l'accesso a un dominio Windows. Microsoft AD (Windows Server 2008 R2) fornisce il servizio Kerberos.

Il servizio è un'applicazione Web Java che utilizza la libreria di estensioni Kerberos di Spring Security per implementare il protocollo SPNEGO / Kerberos. Ho creato un file keytab in AD che contiene un segreto condiviso che dovrebbe essere sufficiente per autenticare i ticket Kerberos inviati dai browser client tramite l'applicazione Web.

La mia domanda è: l'host del servizio (service.domain.com) deve avere l'accesso al firewall (TCP / UDP 88) a KDC (kdc.domain.com) o è il file keytab sufficiente affinché l'host del servizio sia in grado di decrittografare il Biglietti Kerberos e fornire autenticazione?


Il servizio non richiede l'accesso al KDC nella configurazione. I clienti lo fanno assolutamente.
jouell

Risposte:


11

Il servizio non ha mai bisogno di parlare con il KDC . Ha bisogno di un keytab generato dal KDC , ma che puoi copiare nel modo che preferisci. Non devono mai parlarsi.

Una versione eccessivamente semplificata di ciò che credo accada va più o meno così:

Impostazione del servizio

  • KDC genera un keytab di servizio (che è qualcosa come una chiave / password segreta se lo desideri)
  • questo keytab viene fornito al servizio in qualche modo ( scpo portato su una chiavetta USB se lo si desidera)

Client che si connette al servizio

  • il client richiede un ticket di servizio dal KDC
  • KDC genera un ticket di servizio , che contiene alcune informazioni che possono essere decrittografate solo dalla tabella dei servizi (questo è il file che si trova sul tuo server)
  • il client invia il proprio ticket di servizio al servizio
  • il servizio utilizza il suo keytab per verificare il ticket (nessuna comunicazione di rete necessaria)

Grazie, è così che l'ho capito anche dall'articolo di Kerberos Wikipedia. Questa domanda sembra avere una risposta contraddittoria: Autenticazione Kerberos per server web
StrangeLoop,

Bene, non so cosa sia successo in quell'altra risposta, ma ho un server SSH molto remoto che esegue l'autenticazione basata su Kerberos e certamente non ha accesso al KDC che si trova sulla mia LAN privata a casa. Potrebbe esserci qualcosa di strano nei server web? Forse, ma ne dubito fortemente.
Chutz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.