AD DS Global Catalog – Part I

Hola a todos,

Creo bastante oportuno hablar un poco acerca de esta propiedad de las que podemos dotar a nuestros Controladores de dominio.

Algunas abreviaturas para seguir este artículo, y disculpar por las definiciones en Inglés pero me parece más correcto así:

AD DS: Active Directory Domain Services

DC: Domain Controller

GC: Global Catalog

DNS: Domain Name System

UPNs: User Principal Names (daniel@contoso,com)

FSMO: Flexible Single Master Operations

 

La importancia de un buen diseño de AD DS es fundamental para el correcto funcionamiento de nuestro entorno, hay que tener en cuenta muchas variables, requerimientos, seguridad, topología geográfica, y un sin fin de variables que pueden hacer que nuestro diseño sea de una manera determinada, y apropiada para nuestra organización, o clientes.  Lo cierto es que a día de hoy parece que AD DS es de los productos más sencillos de desplegar, todos conocemos la errónea creencia del Siguiente, siguiente y siguiente y ya tienes un Dominio … y nada más lejos de la realidad los que nos dedicamos de verdad a esto sabemos que un mal diseño de AD DS puede afectar al negocio de tu cliente, y generar una auténtica catástrofe en entornos grandes que son Productivos.

En la arquitectura de AD DS hay bastantes factores a tener en cuenta, el núcleo por así decir sobre el que se sustenta nuestro AD DS es el servicio DNS, del que ya he escrito algunas entradas, y seguiré profundizando en sucesivas entradas, y otro factor muy importante es la topología de nuestro entorno, y por esa razón creo conveniente la entrada de hoy. En los foros de Microsoft en los cuales colaboro siempre que puedo, veo muchas consultas relacionadas con Global Catalog, y Universal Group Member Caching, pues bien veamos en profundidad que es cada una, que aportan, cuando usarlos y cuando no. 

Global Catalog

La definición sobre que es un GC sería algo así como un DC que almacena una copia completa de todos los objetos de su AD (aquí se refiere a los objetos de su propio dominio …del que forma parte el DC), y una copia parcial de todos los objetos de otros dominios en el bosque. Por lo tanto tiene replicas parciales de todas las particiones de dominios del bosque, estás réplicas parciales son distribuidas mediante replicación Multimaster (al igual que AD DS).

Por lo tanto podríamos decir que GC nos ofrece una funcionalidad crítica, y que pasa desapercibida en numerosas ocasiones.

Pero … ¿que hace exactamente un GC, o mejor dicho como aplica en el día a día su propia definición?

Tiene tres principales usos que serían:

Logon: Otra función es la de poder resolver los UPNs a la hora de hacer logon por ejemplo, como sabéis a la hora de validarnos en AD DS podemos hacerlo de varias maneras, las más común es hacerlo mediante domain_name\username, y otra es hacerlo mediante el UPN, el UPN usa formato de dirección de correo electrónico tipo daniel@contoso.com. El GC en este caso es el encargado de resolver o traducir el UPN a username.

Membresía de Grupos Universales : los grupos universales son un grupo de seguridad, y para refrescar un poco la memoria sobre ellos los grupos universales nos permiten aplicar permisos sobre cualquier recurso de nuestro dominio, y pueden contener objetos de cualquier dominio con el que tengamos relación de confianza. La membresía de los grupos Universales es almacenada en los GC, y replicada a través del forest.

image Os estaréis preguntando que tiene de especial esta funcionalidad del GC … los grupos universales están en AD DS… Si hacemos un poco de memoria en AD DS, cuando se introdujeron los grupos universales en AD DS en la versión Windows Server 2000 modo de funcionalidad Windows 2000 Nativo, resultaba que que si nuestro AD DS contaba con muchos grupos Universales, esto podía afectar al tráfico de red que generaban, ya que la información era replicada cada vez que se modificaba alguna propiedad de un objeto. En Windows 2003 se introdujo una mejora que fue la replicación de la membresía de grupos universales reduciendo drásticamente la carga de replicación.

Cuando un usuario se autentica, el DC debe poder ver los miembros de los grupos universales para determinar si permite autenticar a ese usuario en el dominio o no, por consiguiente debe existir al menos un GC en el AD DS, y por esa razón siempre el primer DC que se instala es GC. Si un GC está disponible localmente por ejemplo en el mismo site que el DC que intenta localizarlo contactará con el, si hubiera un GC en una ubicación remota el DC contactará con el GC remoto seguramente a través de una red WAN, y eso afectará al rendimiento, y al tiempo que se tarda en autenticar al usuario, por esa razón es muy importante tener un GC al menos en cada site.

Búsquedas en AD DS: El GC se encarga de procesar las peticiones de búsquedas sobre nuestro AD DS, esto que quiere decir, en definitiva quiere decir que cuando hacemos una búsqueda en AD DS el encargado de recibir dicha petición, y procesarla es el GC. Pongamos como ejemplo que abro una consola de Active directory users and computers, y haga una búsqueda cualquiera, la petición de búsqueda será enviada a un GC a través del puerto TCP 3268 (puerto específico para GC), y el GC procesará la petición.  ¿Cómo sabe a que GC enviar la consulta? Como ya hemos comentado al principio,el servicio DNS es fundamental en nuestra infraestructura de AD DS, y se basa en el para poder funcionar, y localizar los distintos servicios dentro de AD DS, los GC tienen un registro SRV denominado _gc que les identifica como GC, por lo tanto el servidor DNS identifica un GC, y se le envía la petición TCP por el puerto 3268.

image

Recomendaciones:

  • Tener al menos 2 GC por motivos de alta disponibilidad.
  • A día de hoy es altamente recomendado que todos los DCs sean GC en entornos denominados single-domain forest, ya que todos los DCs tienen la única partición de dominio en el forest. También lo es en entornos multi-domain.
  • Infrastructure Operation Master FSMO… no hacer GC a un DC que tiene el rol FSMO Infrastructure Master, a menos que todos los DCs sean GC, o el bosque tenga un único dominio.
  • ¿Existe alguna aplicación que requiera de un GC? Por ejemplo Exchange requiere el uso de GC, en esos casos hay que tener en cuenta el uso de GCs.

image Esto es solo una pequeña introducción a los GC, podemos investigar tanto como queramos, y en base a la estructura de la empresa el diseño será de una manera u otra, lo que está claro es que hay que toma tiempo para estudiar cada caso, los requerimientos, la topología, y el mejor diseño adaptado.

Algo de bibliografía

¿Qué es un GC? http://technet.microsoft.com/en-us/library/cc728188(v=ws.10).aspx

Scope de grupos en AD DS http://technet.microsoft.com/en-us/library/cc755692%28v=ws.10%29.aspx

Ubicación de GC http://technet.microsoft.com/en-us/library/cc732877%28v=ws.10%29.aspx

 

Lo dejamos aquí en esta entrada, profundizaremos más en sucesivas.

Un saludo,

DGM