# Active Directory

Active Directory (AD) o Directorio Activo (DA) son los términos que utiliza Microsoft para referirse a su implementación de servicio de directorio en una red distribuida de computadoras. Utiliza distintos protocolos, principalmente LDAP, DNS, DHCP y Kerberos.
De forma sencilla se puede decir que es un servicio establecido en uno o varios servidores en donde se crean objetos tales como usuarios, equipos o grupos, con el objetivo de administrar los inicios de sesión en los equipos conectados a la red, así como también la administración de políticas en toda la red.
Su estructura jerárquica permite mantener una serie de objetos relacionados con componentes de una red, como usuarios, grupos de usuarios, permisos y asignación de recursos y políticas de acceso.
Active Directory permite a los administradores establecer políticas a nivel de empresa, desplegar programas en muchos ordenadores y aplicar actualizaciones críticas a una organización entera. Un Active Directory almacena información de una organización en una base de datos central, organizada y accesible. Pueden encontrarse desde directorios con cientos de objetos para una red pequeña hasta directorios con millones de objetos.

## Funcionamiento

De esta forma, es posible crear recursos (como carpetas compartidas, impresoras de red, etc) y conceder acceso a estos recursos a usuarios, con la ventaja que estando todos estos objetos memorizados en Active Directory, y siendo esta lista de objetos replicada a todo el dominio de administración, los eventuales cambios serán visibles en todo el ámbito. Para decirlo en otras palabras, Active Directory es una implementación de servicio de directorio centralizado en una red distribuida que facilita el control, la administración y la consulta de todos los elementos lógicos de una red (como pueden ser usuarios, equipos y recursos).

### Intercambio entre dominios empresa lic of whith

Para permitir que los usuarios de un dominio accedan a recursos de otro dominio, Active Directory usa una relación de confianza (en inglés, trust). La relación de confianza es creada automáticamente cuando se crean nuevos dominios. Los límites de la relación de confianza no son marcados por dominio, sino por el bosque al cual pertenece. Existen relaciones de confianza transitivas, donde las relaciones de confianza de Active Directory pueden ser un acceso directo (une dos dominios en árboles diferentes, transitivo, una o dos vías), bosque (transitivo, una o dos vías), reino (transitivo o no transitivo, una o dos vías), o externo (no transitivo, una o dos vías), para conectarse a otros bosques o dominios que no son de Active Directory. Active Directory usa el protocolo V5 de Kerberos, aunque también soporta NTLM y usuarios webs mediante autentificación SSL/TLS.

#### Confianzas transitivas

Las Confianzas transitivas son confianzas automáticas de dos vías que existen entre dominios en Active Directory.

#### Confianza de Acceso Directo

La Confianza de acceso directo es, esencialmente, una confianza explícita que crea accesos directos entre dos dominios en la estructura de dominios. Este tipo de relaciones permite incrementar la conectividad entre dos dominios, reduciendo las consultas y los tiempos de espera para la autenticación.

#### Confianza entre bosques

La Confianza entre bosques permite la interconexión entre bosques de dominios, creando relaciones transitivas de doble vía. En Windows 2000, las confianzas entre bosques son de tipo explícito, al contrario de Windows Server 2003.

### Direccionamientos a recursos

Los direccionamientos a recursos de Active Directory son estándares con la Convención Universal de Nombres (UNC), Localizador Uniforme de Recursos (URL) y Nombres de LDAP.
Cada objeto de la red posee un nombre de distinción (en inglés, Distinguished name (DN)), así una impresora llamada Imprime en una Unidad Organizativa (en inglés, Organizational Units, OU) llamada Ventas y un dominio foo.org, puede escribirse de las siguientes formas para ser direccionado:
* en DN sería CN=Imprime,OU=Ventas,DC=foo,DC=org, donde
** CN es el nombre común (en inglés, Common Name)
** DC es clase de objeto de dominio (en inglés, Domain object Class).
* En forma canónica sería foo.org/Ventas/Imprime
Los otros métodos de direccionamiento constituyen una forma local de localizar un recurso
* Distinción de Nombre Relativo (en inglés, Relative Distinguised Name (RDN)), que busca un recurso sólo con el Nombre Común (CN).
* Globally Unique Identifier (GUID), que genera una cadena de 128 bits que es usado por Active Directory para buscar y replicar información
Ciertos tipos de objetos poseen un Nombre de Usuario Principal (en inglés, User Principal Name (UPN)) que permite el ingreso abreviado a un recurso o un directorio de la red. Su forma es objetodered@dominio

## Diferencias entre Windows NT y Active Directory

A diferencia del anterior sistema de administración de dominios de Windows NT Server, que proveía únicamente el dominio de administración, Active Directory permite también crear estructuras jerárquicas de dominios y subdominios, facilitando la estructuración de los recursos según su localización o función dentro de la organización a la que sirven. Otra diferencia importante es el uso de estándares como X.500 y LDAP para el acceso a la información.

## Interfaces de programación

Las interfaces de servicio de Active Directory (ADSI) entregan al programador una interfaz orientada a objetos, facilitando la creación de programas de directorios mediante algunas herramientas compatibles con lenguajes de alto nivel, como Visual Basic, sin tener que lidiar con los distintos espacios de nombres.
Mediante las ADSI se permite crear programas que realizan un único acceso a varios recursos del entorno de red, sin importar si están basados en LDAP u otro protocolo. Además, permite generar secuencias de comandos para los administradores.
También se puede desarrollar la Interfaz de mensajería (MAPI), que permite generar programas MAPI.

## Requisitos de instalación

Para crear un dominio hay que cumplir, por lo menos, con los siguientes requisitos recomendados:
* Tener cualquier versión Server de Windows 2000, 2003 (Server, Advanced Server o Datacenter Server) o Windows 2008. En el caso de 2003 server, tener instalado el SP1 en la máquina con una ram de 256 MB .
* Protocolo TCP/IP instalado y configurado manualmente, es decir, sin contar con una dirección asignada por DHCP,
* Tener un servidor de nombre de DNS, para resolver la dirección de los distintos recursos físicos presentes en la red
* Poseer más de 250 MB en una unidad de disco formateada en NTFS.

## Alternativas

Samba es un programa de software libre, que tiene disponible un controlador de dominios compatible con Windows NT 4, Windows 2003 y Windows 2008.
El programa de código libre Mandriva Directory Server ofrece una interfaz web para manejar el controlador de dominios de Samba y el servicio de directorios de LDAP.
Otra alternativa es NetIQ eDirectory, que es Multiplataforma: se puede correr sobre cualquier sistema operativo: Linux, AIX, Solaris, Novell Netware, UNIX e integra LDAP v.3 Nativo. Es el precursor en materia de estructuras de Directorio, ya que fue introducido en 1990 con la versión de Novell Netware 4.0. Aunque AD de Microsoft alcanzó mayor popularidad, todavía no puede igualar la fiabilidad y calidad de eDirectory y su capacidad Multiplataforma.
Sun Java ES Directory Server y OpenDS son otras alternativas, el primero basado en java y el segundo basado y desarrollado en C. El primero es un producto de Sun Microsystems y el segundo una alternativa de código abierto.
Una alternativa que integra OpenLDAP, Heimdal kerberos, Samba y además certificación digital y Bind9 (modificado para usar LDAP como backend) es WBSAgnitio