GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

ISA Server cannot connect to the Configuration Storage Server: Error al instalar un Array de ISA Server 2006 en Directorio Activo (ISA Server no sincroniza)


Hace pocos días, estuve ayudando a unos compañeros en la instalación de un Array de ISA Server 2006, que no se dejaba, y que mostraba el siguiente error: ISA Server cannot connect to the Configuration Storage Server. Dicho error, quedaba también registrado en el Visor de Sucesos con Event ID 21238 y Event Source Microsoft ISA Server Control. El problema, es que uno de los ISA Server 2006 no sincronizaba con el CSS. Aunque Googleando no tuvimos suerte, finalmente, conseguimos corregir dicho problema. A continuación, los detalles.

Escenario de partida

Partimos de un Bosque de Directorio Activo, formado por Controladores de Dominio Windows 2000 Server. El nivel funcional del dominio y del bosque, es Windows 2000 Nativo en ambos casos. Denominaremos al domino, como guillesql.local con nombre NetBIOS de GUILLESQL.

Las máquinas sobre las que se tiene instalado ISA Server 2006 Enterprise, montan el Sistema Operativo Windows Server 2003 R2, y son servidores miembros del dominio de directorio activo mencionado (guillesql.local). Denominaremos a los servidores ISA01.guillesql.local e ISA02.guillesql.local. Se tiene montado un único CSS.

Así, uno de los ISA Server 2006 (ej: ISA01.guillesql.local), actúa como Configuration Storage Server (CSS), es decir, contiene el servicio ADAM (Active Directory Application Mode) que utiliza ISA Server 2006 como repositorio de configuración. Este servicio ADAM, está funcionando sobre el puerto TCP 2171 (recordemos que ADAM es un servidor LDAP, y que el puerto por defecto de LDAP es el puerto TCP 389).

Sin embargo, el otro ISA Server 2006 (ej: ISA02.guillesql.local), no es capaz de sincronizar con el CSS, produciéndose el siguiente error:

ISA Server cannot connect to the Configuration Storage Server ISA01.guillesql.local for one of the following reasons:

  • The Configuration Storage server is not available.
  • There are general networking or authentication issues.
  • The firewall policy for the array is incorrectly configured.

A continuación, se muestra una pantalla captura del error ISA Server cannot connect to the Configuration Storage Server:

Error ISA Server cannot connect to the Configuration Storage Server ISA01.guillesql.local for one of the following reasons

Como comentábamos, este error queda registrado en el Visor de Sucesos con Event ID 21238 y Event Source Microsoft ISA Server Control.

Diagnóstico y solución al error ISA Server cannot connect to the Configuration Storage Server

En nuestro caso, el CSS estaba disponible y funcionando correctamente, de hecho, el problema afectaba a un único ISA Server 2006, ya que el ISA Server 2006 que tenía en local el CSS, funcionaba y sincronizaba OK.

No existían problemas de red, ni de configuración incorrecta de las políticas de Firewall. De hecho, se podía comprobar con un Telnet, que se podía acceder con éxito al puerto TCP del CSS (el puerto TCP 2171) desde el servidor que no conseguía sincronizar (ISA02.guillesql.local).

Está claro: se trata de un problema de Autenticación.

Llegados a este punto, teniendo en cuenta que estamos hablando de Directorio Activo y de problemas de Autenticación, lo primero que se me viene a la cabeza es Kerberos y los SPN (Service Principal Name).

Por gracia o desgracia, ya me he pegado varias veces con problemas y configuraciones aparentemente parecidas, como es el caso de la Autenticación Integrada y Delegación de Kerberos en IIS, el error Cannot Generate SSPI context y la autenticación de Kerberos en SQL Server, etc.

Investigando por estos lares, encontramos el problema. Parece ser, que al montar ISA Server 2006 Enterprise sobre servidores miembros de un dominio de Directorio Activo, las conexiones remotas al CSS (es decir, al ADAM o servidor LDAP), deben utilizar la Autenticación de Kerberos (o al menos, así lo hemos deducido). En consecuencia, para que la Autenticación de Kerberos pueda utilizarse, es necesario que estén registrados en Directorio Activo los correspondientes Service Principal Names (SPN) asociados al ADAM (es decir, al LDAP), como ocurre con otros servicios (ej: IIS, SQL Server, etc).

Descargamos de la Web de Microsoft la herramienta setspn.exe, que es la utilidad que nos permitirá mostrar, crear, modificar y eliminar los SPNs en Directorio Activo (ojo, necesitaremos permisos de Administrador en Directorio Activo, con un usuario moñas, no tira). Podemos comprobar con setspn.exe, los SPNs actualmente registrados para la cuenta de equipo del servidor (isa01.guillesql.local). Para ello, ejecutaremos el comando setspn.exe -l isa01 con lo que obtendremos el siguiente resultado:

Registered ServicePrincipalNames for CN=ISA01,CN=Computers, DC=guillesql,DC=local:

   MSSQLSvc/ISA01.guillesql.local
   HOST/ISA01
   HOST/isa01.guillesql.local

Como se puede observar, no existe ningún SPN asociado a LDAP. Teniendo en cuenta que el ADAM no se está corriendo en el puerto 389 (que es el puerto por defecto para LDAP), procedemos a crear dos nuevos SPN, teniendo en cuenta el puerto TCP utilizado por el ADAM o CSS (el puerto TCP 2171), y los nombres corto y largo del servidor que hospeda el CSS. En particular, se crean los siguientes SPNs sobre la cuenta de equipo del ISA Server que ejecuta el ADAM o CSS:

  • ldap/isa01:2171
  • ldap/isa01.guillesql.local:2171

Esto lo realizamos ejecutando los siguientes comandos setspn:

  • setspn.exe -a ldap/isa01:2171 isa01
  • setspn.exe -a ldap/isa01.guillesql.local:2171 isa01

Y ya está. Pasados unos momentos, ISA Server 2006 empezó a sincronizar correctamente, y el error ISA Server cannot connect to the Configuration Storage Server desapareció (aquí paz, y después gloria, como decía un amigo ;-).

Resuelto el problema, nos surgió una duda, ya que en otra instalación similar, no ocurrió este problema (ojo, que se trataba de un dominio de Directorio Activo sobre Windows Server 2003). Sin embargo, comprobamos con SETSPN en dicha instalación, que estaban registrados los correspondientes SPN para LDAP en el puerto 2171, aunque en dicha instalación, no fue necesario hacer este trabajo manual, ni se produjo el presente error. Cosas de la vida.

Poco más por hoy. Espero que el presente frikiconsejo, os resulte de ayuda.




Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.