Últimamente, no sé que pasa, que me está tocando lidiar con configuraciones Kerberos de Service Principal Name (SPN) en Directorio Activo, tanto con SQL Server (ej: error Cannot generate SSPI context), como con IIS (ej: Autenticación Integrada y Delegación de Kerberos, especialmente en entornos de Balanceo de Carga NLB). Me ha sorprendido, que ya varias veces cuando he intentado hablarlo con los especialistas en Directorio Activo del correspondiente cliente, o no conocen eso de los Service Principal Name (SPN), o incluso me han llegado a soltar que eso es algo muy complicado y que es mejor no hacerlo en producción por los efectos colaterales que puede llegar a tener (¿Qué efectos colaterales? ¿El cambio climático, quizás?).
El caso, es que al final, me ha tocado configurarlo, para lo cual he recurrido a la herramienta setspn.exe (disponible en Kit de Recursos de Windows 2000 Server o en las Windows Support Tools de Windows Server 2003), para la configuración de los Service Principal Name (SPN) necesarios en Directorio Activo, consiguiendo así el funcionamiento deseado (y sin cambio climático, jeje ;-). O al menos, parecía que funcionaba (lo de configurar los Service Principal Name, me ha llegado de rebote, la verdad, que me sonaba algo pero poco y de lejos...).
Sin embargo, setspn.exe es una herramienta de línea de comandos, que la verdad, al principio se hace un poco dura, aunque tampoco sea para tanto. Lo bueno, es que es posible utilizar la herramienta administrativa Active Directorio Users and Computers (ADUC) para realizar este tipo de configuraciones de Kerberos y SPN en Directorio Activo. Al menos, en algunos casos. La ventaja principal, disponer de una interfaz gráfica para realizar o revisar este tipo de configuraciones.
Esto es posible, gracias a que ADUC incorpora la pestaña Delegation, a través de la cual, se puede llevar a cabo estas configuraciones de Kerberos y de los Service Principal Name (SPN) en Directorio Activo. Y aquí llega la pregunta del millón de céntimos ¿Dónde está la pestaña Delegation en ADUC? ¿Por qué no aparece la pestaña Delegation en ADUC? ¿Cómo mostrar la pestaña Delegation en ADUC para configurar Kerberos y SPN?
El tema es que hay truco. Para empezar, estoy hablando de un Directorio Activo de Windows Server 2003 R2 SP2, recién instaladito. Por otro lado, la pestaña Delegation debe aparecer en las propiedades de una cuenta de equipo (bueno, esto no es del todo cierto, como ahora después veremos...). Sin embargo, en este escenario, la pestaña Delegation no aparece. ¿Por qué? A priori parece que no hay ningún motivo en esto, pero no es así. La pestaña Delegation de ADUC, aparece sólo cuando el Dominio está en Modo Funcional Windows Server 2003. Muy importante.
En una ocasión, me contó un personaje (consultor con traje que aparenta y vende motos), que la pestaña Delegation venía en la versión del AdminPack que te descargas de la Web de Microsoft. Hombre, algo de razón tenía. Si tienes tu dominio de Directorio Activo en el Modo Funcional de Windows Server 2003, y te bajas las herramientas administrativas de la Web de Microsoft, podrás ver la pestaña Delegation. Efectivamente. Como se nota que había estudiado una carrera de cinco años...
Para verlo de forma gráfica, he utilizado uno de mis entornos de Laboratorios (dios salve a Virtual Server), que tengo en uno mis portátiles, que casualmente tenía con un Dominio de Directorio Activo en Modo Funcional Windows 2000 mixed. A través del mismo, he aprovechado a tomar los pantallazos, paso a paso (sin trampa ni cartón).
Lo primero, comprobar el Modo Funcional del Dominio de Directorio Activo. Esto lo haremos, haciendo click con el botón derecho sobre el dominio (en la imagen siguiente, sobre mobile.local), y seguidamente, click en Properties. Como se puede ver, en estos momentos estamos en un Dominio con Modo Funcional Windows 2000 mixed.
Visto esto, vamos a mostrar las propiedades de una cuenta de equipo. Como podemos ver, en la pestaña General aparece la opción Trust computer for delegation, y además, la pestaña Delegation no aparece por ningún lado.
Bien. Ahora voy a subir el Modo Funcional de mi Dominio, a Windows Server 2003. Ojo, que esta tarea no es reversible. Para subir el Modo Funcional de un Dominio, en el menú Actions de ADUC, seleccionar la opción Raise Domain Functional Level (ADUC -> Actions -> Raise Domain Functional Level).
En el diálogo Raise Domain Functional Level, seleccionamos la opción Windows Server 2003, y click en Raise. Ojo, que no he probado con el Nivel Funcional Windows 2000 Nativo (quizás así también aparezca la pestaña Delegation, pero la verdad, no lo he probado y tengo la duda).
Si ahora comprobamos el Nivel Funcional de nuestro Dominio de Directorio Activo desde ADUC, podremos evidenciar que ya estamos en el Nivel Funcional Windows Server 2003, como puede apreciarse en la siguiente pantalla capturada.
Genial. Ahora ya sólo queda la prueba del algodón. El siguiente paso es mostrar las Propiedades de una Cuenta de Equipo. Como se puede mostrar en la siguiente pantalla captuda, para empezar la opción Trust computer for delegation ya no aparece en la pestaña General. Ademá, aparece una nueva pestaña, la pestaña Delegation de ADUC que estábamos buscando.
Por ultimo, quería aprovechar para mostrar un pantallazo del aspecto de la pestaña Delegation de ADUC.
Del mismo modo, si observamos las propiedades de un usuario en ADUC, en principio no veremos la pestaña Delegation, como se muestra en el siguiente ejemplo:
Pos va a ser que no. A continuación, se muestran las propiedades de una cuenta de usuario, que fue utilizada anteriormente con el comando setspn.exe, para asociar a dicha cuenta de usuario un Service Principal Name (SPN). A continuación se muestra el aspecto del diálogo de propiedades de dicha cuenta de usuario, que muestra la pestaña Delegation:
Y con esto, acabamos este breve artículo, a través del cual, quería conseguir dos objetivos: dar a conocer la existencia de la pestaña Delegation de ADUC, y además mostrar la problemática existente para poder acceder a dicha pestaña, que como hemos visto, depende del Modo Funcional del Dominio de Directorio Activo.
Como siempre, espero que os resulte de interés.