Autenticación Kerberos, host de servicio y acceso a KDC

10

Tengo una aplicación web (nombre de host: service.domain.com) y deseo utilizar la autenticación Kerberos para identificar a los usuarios que han iniciado sesión en un dominio de Windows. Microsoft AD (Windows Server 2008 R2) proporciona el servicio Kerberos.

El servicio es una aplicación web Java que utiliza la biblioteca de extensión Spring Security Kerberos para implementar el protocolo SPNEGO / Kerberos. He creado un archivo de tabla de claves en AD que contiene un secreto compartido que debería ser suficiente para autenticar los tickets Kerberos que envían los navegadores del cliente utilizando la aplicación web.

Mi pregunta es, ¿es necesario que el host del servicio (service.domain.com) tenga acceso de firewall (TCP / UDP 88) a KDC (kdc.domain.com) o es el archivo de tabla de claves suficiente para que el host del servicio pueda descifrar el Kerberos tickets y proporcionar autenticación?

StrangeLoop
fuente
El servicio no necesita acceso al KDC en su configuración. Los clientes lo hacen absolutamente.
jouell el

Respuestas:

11

El servicio nunca necesita hablar con el KDC . Necesita una tabla de claves generada por el KDC , pero que puede copiar de la forma que desee. Nunca tienen que hablar entre ellos.

Una versión demasiado simplificada de lo que creo que sucede se parece más o menos a esto:

Configurar el servicio

  • KDC genera una tabla de claves de servicio (que es algo así como una clave / contraseña secreta si lo desea)
  • esta pestaña se proporciona al servicio de alguna manera ( scpo se lleva en una memoria USB si lo desea)

Cliente que se conecta al servicio

  • el cliente solicita un ticket de servicio del KDC
  • KDC genera un ticket de servicio , que contiene información que solo puede ser descifrada por la pestaña de servicio (este es el archivo que se encuentra en su servidor)
  • el cliente envía su ticket de servicio al servicio
  • el servicio usa su tabla de teclas para verificar el ticket (no se necesita comunicación de red)
chutz
fuente
Gracias, así es como lo entendí también del artículo de Wikipedia de Kerberos. Esta pregunta parece tener una respuesta contradictoria: Autenticación Kerberos para servidores
web
Bueno, no sé qué sucedió en esa otra respuesta, pero tengo un servidor SSH muy remoto que realiza la autenticación basada en Kerberos, y ciertamente no tiene acceso al KDC que está en mi LAN privada en casa. ¿Podría haber algo extraño con los servidores web? Tal vez, pero lo dudo mucho.
chutz