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?
fuente
Respuestas:
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
scp
o se lleva en una memoria USB si lo desea)Cliente que se conecta al servicio
fuente