3 - Elementos funcionales y modelos de la arquitectura de AD

Principales capas funcionales de Active Directory

Active Directory (AD) no es un sistema monolítico, sino una arquitectura modular diseñada en capas funcionales interconectadas, cada una con responsabilidades específicas que, en conjunto, permiten su operación eficiente, segura y escalable. Estas capas no son físicas, sino lógicas, y se integran para formar un sistema coherente que gestiona identidades, recursos y políticas en una red.

Capas Funcionales de Active Directory: las capas funcionales son la división conceptual de la arquitectura en diferentes niveles de responsabilidad. Son la base sobre la cual se construyen todos los demás aspectos. Estas capas son:

+-------------------+------------------------------------------------------------+
| Capa Funcional    | Descripción                                                |
+-------------------+------------------------------------------------------------+
| Capa Lógica       | Define la jerarquía organizativa de los objetos,           |
|                   | como dominios, árboles y bosques.                          |
+-------------------+------------------------------------------------------------+
| Capa Física       | Se encarga de la topología de la red y la ubicación        |
|                   | de los servidores, como los Domain Controllers y los sitios|
+-------------------+------------------------------------------------------------+
| Capa de           | Incluye los protocolos y servicios que interactúan con     |
| Aplicaciones      | el directorio, como LDAP, Kerberos y DNS.                  |
+-------------------+------------------------------------------------------------+

Modelos de la Arquitectura de Active Directory: los modelos son los conjuntos de reglas, políticas y procesos que se aplican dentro de las capas funcionales. Representan la forma en que el directorio gestiona sus componentes y operaciones. Estos modelos son:

+----------------------------+----------------------------------------+---------------------------------------------------------------+
| Modelos de la Arquitectura | ¿Qué abarca?                           | Conceptos asociados                                           |
+----------------------------+----------------------------------------+---------------------------------------------------------------+
| 🧱 Modelo estructural      |                                        | - Schema (Esquema)                                            |
|                            | Establece las reglas sobre que objetos | - Clases de objetos (user, computer, group)                   |
|                            | pueden existir que propiedades tienen  | - Atributos (cn, objectGUID, department, etc.)                |
|                            |                                        | - Base de datos NTDS.dit                                      |
+----------------------------+----------------------------------------+---------------------------------------------------------------+
| 🌐 Jerarquía lógica        |                                        | - Forest                                                      |
|                            |Organización visible del directorio     | - Tree                                                        |
|                            |Facilita la delegación de administración| - Domain                                                      |
|                            |                                        | - Organizational Units (OUs)                                  |
|                            |                                        | - Objetos: usuarios, equipos, grupos, etc.                    |
+----------------------------+----------------------------------------+---------------------------------------------------------------+
| 🔐 Modelo de seguridad     | Controla identidades y accesos         | - Security Principals (usuarios, equipos, grupos)             |
|                            |                                        | - SIDs (Security Identifier)                                  |
|                            |                                        | - ACLs (Access Control Lists)                                 |
|                            |                                        | - GPOs (Group Policy Objects)                                 |
|                            |                                        | - Autenticación (Kerberos, NTLM)                              |
|                            |                                        | - Delegación de permisos                                      |
+----------------------------+----------------------------------------+---------------------------------------------------------------+
| 🔄Replicación y coherencia | Sincronización de datos entre DCs      | - Replicación entre Domain Controllers                        |
|                            |                                        | - Particiones de directorio (Schema, Configuration, Domain)   |
|                            | Evita inconsistencia de datos y        | - Global Catalog                                              |
|                            | permite alta disponibilidad            | - Sites y enlaces de replicación                              |
+----------------------------+----------------------------------------+---------------------------------------------------------------+
| 🛠️ Administración          | Herramientas y operaciones             | - Active Directory Users and Computers (ADUC)                 |
|                            | Simplifica tareas repetitivas y        | - PowerShell / CLI tools                                      |
|                            | asegura cumplimiento de políticas.     | - ADSI Edit                                                   |
|                            |                                        | - Delegación administrativa                                   |
+----------------------------+----------------------------------------+---------------------------------------------------------------+

🧱Elementos del modelo estructural o de datos de Active Directory

📌Schema

El schema define:

  • Qué tipos de objetos pueden existir (clases como user, computer, group)

  • Qué atributos tienen esos objetos (mail, department, objectGUID, etc.)

  • Cómo se comportan esos objetos en el directorio

Es el "modelo de datos y estructura lógica" sobre el cual se construye todo el directorio

📌Distinguished Name (DN) & Relative Distinguished Name (RDN)

Nombre Distinguido (DN):

  • Es la ruta completa desde la raíz del dominio hasta un objeto específico.

  • Representa la ubicación única de un objeto en el directorio.

  • Se compone de varios componentes: CN (Common Name), OU (Organizational Unit), y DC (Domain Component).

Por ejemplo

cn=bjones, ou=IT, ou=Employees, dc=acme, dc=local

Esto indica que:

  • El objeto se llama bjones

  • Está en la OU IT, dentro de Employees

  • Y pertenece al dominio acme.local

Nombre Distinguido Relativo (RDN):

  • Es el identificador único del objeto dentro de su contenedor inmediato.

  • En el ejemplo anterior, cn=bjones es el RDN del objeto.

  • Aunque puede haber varios objetos llamados bjones, no pueden coexistir en el mismo contenedor (OU).

Los conceptos de DN y RDN forman parte del modelo estructural de Active Directory, ya que describen cómo se organizan y ubican los objetos dentro de la jerarquía del directorio. Son esenciales para que AD pueda buscar, referenciar y administrar objetos de forma eficiente y sin ambigüedad, especialmente en entornos grandes.

📌sAMAccountName & userPrincipalName
  • Ambos son atributos definidos en el schema de Active Directory.

  • Se almacenan como propiedades de un objeto (por ejemplo, un usuario).

  • Aunque se utilizan en procesos de autenticación, no son mecanismos de seguridad en sí, sino formas de identificar un objeto dentro del sistema.

sAMAccountName

  • Es el logon name heredado de sistemas Windows NT.

  • Tiene un límite de 20 caracteres.

  • Debe ser único dentro del dominio.

  • Se usa en el formato: DOMAIN\bjonessales

  • Por ejemplo: acme\bjones

userPrincipalName (UPN)

  • Es el logon name moderno, similar a una dirección de correo electrónico.

  • Formato: nombredeusuario@dominio

  • Por ejemplo: bjones@acme.local

Tanto sAMAccountName como userPrincipalName son atributos del objeto usuario, definidos por el esquema, y usados principalmente para autenticación y referencia humana dentro del sistema. Aunque participan en el proceso de login, no son parte del modelo de seguridad, sino del modelo estructural / de datos.

🌐 Jerarquía lógica

📌Fully Qualified Domain Name (FQDN)

El FQDN (Fully Qualified Domain Name) pertenece a la capa de infraestructura de resolución de nombres, ya que es la forma estándar de identificar de manera única y jerárquica a cualquier objeto conectado a la red, utilizando DNS (Domain Name System).

Active Directory depende completamente de DNS para muchas de sus funciones, como:

  • Ubicar controladores de dominio (DCs) para autenticación.

  • Realizar replicación entre sitios.

  • Resolver SPNs y servicios Kerberos.

  • Aplicar políticas GPO.

Un FQDN es una cadena que identifica un host de forma completa dentro del árbol jerárquico de DNS. Tiene la forma:

[host].[dominio].[tld]

Por ejemplo:

dc01.acme.local

Esto permite:

  • Autenticarse: user@inlanefreight.local

  • Ubicar servicios: ldap._tcp.dc._msdcs.inlanefreight.local

  • Delegar identidades con Kerberos/SPN

El FQDN forma parte de la infraestructura de nombres de Active Directory, permitiendo que equipos, servicios y usuarios sean ubicados jerárquicamente sin necesidad de IPs. Es esencial para la operación segura y estable de AD, ya que todo el sistema está profundamente integrado con DNS dinámico.

🔐Elementos del modelo de seguridad en Active Directory

📌Security Principals

Los principios de seguridad son una categoría funcional/técnica dentro del modelo de seguridad de Active Directory que hace referencia a las entidades que pueden autenticarse ante el sistema y a las que se les puede asignar permisos o derechos sobre recursos. En Active Directory, esto incluye:

  • Usuarios (cuentas humanas o de servicio)

  • Equipos (cuentas de máquina)

  • El modelo de seguridad en Active Directory

  • Grupos de seguridad

  • (En sistemas más bajos: procesos o hilos que heredan la identidad del usuario o servicio que los ejecuta)

Cada uno de estos objetos tiene un SID (Security Identifier) único que lo representa dentro del sistema.

📌Security Identifier (SID)

El SID es el identificador técnico base que permite a Windows y Active Directory controlar el acceso a recursos, determinar pertenencias, y aplicar reglas de seguridad de manera precisa.

  • El SID (Security Identifier) es un valor único generado para cada entidad de seguridad (usuario, grupo, equipo).

  • Aunque el nombre de usuario pueda cambiar, el SID nunca cambia mientras el objeto exista.

  • Cuando se elimina el objeto, su SID no se reutiliza jamás.

  • Todos los permisos, ACLs y tokens de sesión en Windows se basan en SID, no en nombres.

  • Cuando un usuario inicia sesión, se le genera un Access Token con:

    • Su SID

    • Los SID de todos los grupos a los que pertenece

    • Sus derechos de usuario

📌 Read-Only Domain Controller (RODC)
  • No almacena contraseñas en caché por defecto (excepto algunas cuentas específicas), lo cual:

    • Mitiga riesgos en sitios físicos menos seguros.

    • Si el RODC es comprometido físicamente, el impacto es mucho menor.

  • Permite la delegación de administración local:

    • Usuarios locales pueden reiniciar equipos o administrar DNS sin privilegios en el dominio completo.

  • Contiene una copia KRBTGT exclusiva para el RODC, lo que aísla aún más su impacto en la seguridad global del dominio.

El RODC es una función híbrida que se ubica en las capas de replicación, seguridad y administración, ya que afecta cómo se replica la base de datos de AD, cómo se controla el acceso local y cómo se implementa en entornos remotos. Fue diseñado para ofrecer presencia de AD en ubicaciones vulnerables sin comprometer la integridad del dominio.

📌Service Principal Name (SPN)

El SPN (Service Principal Name) es un atributo técnico de seguridad usado por el protocolo de autenticación Kerberos, cuyo propósito es asociar servicios de red con cuentas específicas dentro de Active Directory.

Es fundamental para permitir que un cliente obtenga tickets Kerberos para autenticarse en un servicio, sin tener que conocer directamente la cuenta del servicio, y sin requerir contraseñas en texto plano.

  • Un SPN identifica de forma única una instancia de servicio en una red.

  • Se asocia con una cuenta de servicio (usuario o máquina) en Active Directory.

  • Su formato es típicamente:

<tipo-servicio>/<nombre-host>:<puerto>
  • Por ejemplo:

HTTP/webserver01.acme.local
MSSQLSvc/db01.acme.local:1433

¿Qué rol cumple en Kerberos?

Cuando un cliente quiere acceder a un servicio (ej. SQL Server), sigue este flujo:

  1. El cliente solicita un ticket al KDC (Key Distribution Center) para el SPN del servicio.

  2. El KDC localiza el SPN en AD y determina a qué cuenta está asociado.

  3. Se emite un TGS (Ticket Granting Service) para ese SPN.

  4. El cliente usa ese ticket para autenticarse con el servicio, sin saber el nombre de usuario real ni la contraseña.

Relación con la seguridad:

  • El uso correcto de SPNs permite:

    • Autenticación sin contraseñas

    • Delegación segura de identidad (RBCD, S4U)

  • Su mala configuración puede permitir ataques como:

    • Kerberoasting

    • Abuso de delegación unconstrained

    • Falsificación de tickets de servicio

El SPN es un componente del modelo de seguridad en Active Directory, usado por Kerberos para identificar servicios y emitir tickets de autenticación.

📌Group Policy Object (GPO)

¿Qué es una GPO?

  • Una Group Policy Object es un conjunto de configuraciones almacenadas en AD y el sistema de archivos.

  • Los GPOs se utilizan para definir políticas de seguridad, restricciones del sistema, configuraciones del entorno, scripts de inicio/cierre, redirección de carpetas, etc.

  • Aunque afectan la seguridad (como bloquear puertos, deshabilitar funciones o restringir acceso), también tienen un rol muy importante en la gestión administrativa del entorno de dominio.

  • Está representado por un GUID único.

  • Existen dos tipos principales de políticas:

    • Configuración de usuario (ej. bloquear acceso al Panel de control)

    • Configuración de equipo (ej. configurar el firewall)

Estructura de un GPO:

  • Parte en AD → almacena vínculos, permisos y configuraciones administrativas.

  • Parte en SYSVOL → almacena archivos, scripts, plantillas administrativas (.adm/.admx), etc.

Las GPOs pueden aplicarse a nivel de:

| Nivel de aplicación | Alcance de la política                              |
| ------------------- | --------------------------------------------------- |
| Dominio             | Afecta a todos los usuarios y equipos del dominio.  |
| Unidad Organizativa | Afecta solo a los objetos dentro de esa OU.         |
| Sitio (opcional)    | Afecta a todos los objetos del sitio (menos común). |
📌ACLs, DACLs, SACLs y ACEs

Estos elementos están relacionados con cómo se controla y audita el acceso a objetos securizables (archivos, carpetas, objetos de AD, claves de registro, etc.). Son parte del sistema de control de acceso que Windows y Active Directory utilizan para garantizar que solo los usuarios/autenticaciones autorizadas puedan realizar acciones específicas.

| Concepto                   | Tipo                          | Descripción                                                                                     |
| -------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------- |
| ACL (Access Control List)  | Estructura general            | Lista ordenada de entradas (ACEs) que determinan los permisos sobre un objeto securizable.  |
| ACE (Access Control Entry) | Entrada individual de ACL     | Cada ACE especifica qué usuario o grupo tiene (o no) determinados permisos sobre un objeto. |
| DACL (Discretionary ACL)   | Subtipo de ACL (de acceso)    | Controla quién tiene acceso y qué tipo de acceso (lectura, escritura, etc.).                |
| SACL (System ACL)          | Subtipo de ACL (de auditoría) | Define qué accesos deben ser auditados y registrados en el event log.                       |

Cómo se relacionan:

          Objeto securizable
                |
               ACL
            _________
           |         |
         DACL       SACL
           |          |
     [ACE 1, ACE 2...] [ACE A, ACE B...]
  • ACL → contenedor general de controles de acceso (ACE).

  • DACL → controla acceso permitido/denegado.

  • SACL → controla auditoría (quién intentó acceder y cómo).

Las ACLs, DACLs, SACLs y ACEs forman la base del modelo de seguridad de Windows y Active Directory. Son estructuras que definen, permiten y auditan el acceso a objetos en el sistema, asegurando que los permisos estén controlados y trazables.

📌AdminSDHolder

AdminSDHolder actúa como un mecanismo automático de protección de objetos sensibles, como miembros de los grupos:

  • Domain Admins

  • Enterprise Admins

  • Schema Admins

  • Administrators

  • Backup Operators

  • etc.

En esencia, Active Directory considera que los miembros de estos grupos son privilegiados y deben tener controles de seguridad estrictos, para evitar que ACLs maliciosos o modificaciones accidentales les otorguen permisos indebidos a otros usuarios.

¿Cómo funciona?

| Elemento                                | Descripción                                                                           |
| --------------------------------------- | ------------------------------------------------------------------------------------- |
| AdminSDHolder                           | Objeto especial en AD que define la ACL "modelo" para cuentas privilegiadas.          |
| SDProp (Security Descriptor Propagator) | Servicio que aplica periódicamente la ACL del AdminSDHolder a los objetos protegidos. |
| Frecuencia                              | Corre cada hora por defecto, desde el PDC Emulator del dominio.                       |
| Efecto de seguridad                     | Revierte cambios en las ACL de cuentas protegidas que no coincidan con la ACL base.   |

Esto significa que aunque un atacante modifique permisos (ACLs) sobre un admin, esos cambios se eliminarán automáticamente en 60 minutos salvo que altere también el comportamiento del SDProp.

AdminSDHolder es un mecanismo interno de Active Directory que protege cuentas privilegiadas, asegurando que mantengan un conjunto específico y seguro de permisos. Forma parte integral del modelo de seguridad proactiva de AD y actúa automáticamente desde el PDC Emulator.

📌dsHeuristics

El atributo dsHeuristics es un elemento avanzado y muy poderoso de configuración dentro de Active Directory, particularmente cuando se quiere modificar el comportamiento predeterminado del bosque (forest-wide).

El atributo dsHeuristics se encuentra en el objeto CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=... y es utilizado para activar o desactivar funciones específicas a nivel de bosque, muchas de las cuales no están expuestas en la GUI ni en herramientas comunes.

Una de estas funciones es:

Excluir ciertos grupos de la protección automática que proporciona el mecanismo AdminSDHolder.

Esto significa que:

  • Si un grupo privilegiado (por ejemplo, un grupo personalizado similar a Domain Admins) se excluye con dsHeuristics, entonces:

    • El proceso SDProp no le aplicará la ACL definida en AdminSDHolder.

    • Las modificaciones a su ACL no serán revertidas automáticamente.

    • Se vuelve vulnerable a persistencia o abuso si no se controla cuidadosamente.

Este atributo controla muchas configuraciones "legacy" y de compatibilidad, como:

| Ejemplo de función controlada              | Código en `dsHeuristics` | Descripción breve                                    |
| ------------------------------------------ | ------------------------ | ---------------------------------------------------- |
| Desactivar protección de AdminSDHolder     | Bit 15 (posición 16)     | Permite excluir ciertos grupos de la lista protegida |
| Habilitar atributos adicionales de usuario | Bits 1-6                 | Controlan qué atributos personalizados se permiten   |
| Comportamientos de LDAP                    | Bit 7 en adelante        | Ajustes de búsqueda, respuesta, codificación, etc.   |

Consideración de seguridad

Modificar dsHeuristics puede ser muy riesgoso si no se documenta y se audita correctamente, ya que se pueden:

  • Debilitar protecciones internas del dominio.

  • Dejar puertas abiertas a ataques de persistencia silenciosa.

  • Invalidar monitoreos que asumen el comportamiento por defecto.

📌adminCount

El atributo adminCount actúa como una bandera interna que marca si una cuenta está sujeta a la protección automática del AdminSDHolder. Cumple una función de control interno para el proceso SDProp (Security Descriptor Propagator):

| Valor de `adminCount` | Significado                                                          |
| --------------------- | -------------------------------------------------------------------- |
| `1`                   | El objeto está protegido por SDProp (recibe ACL desde AdminSDHolder) |
| `0` o no presente     | El objeto no está protegido por SDProp                               |

¿Cómo se usa este atributo?

  • Cuando un usuario es agregado a un grupo privilegiado (como Domain Admins, Enterprise Admins, etc.), AD automáticamente marca su adminCount como 1.

  • Esto indica al proceso SDProp que debe aplicar la ACL de AdminSDHolder a ese usuario.

  • Si luego se remueve al usuario del grupo privilegiado, el adminCount = 1 permanece, lo que sigue aplicando las ACLs restringidas, salvo intervención manual.

Riesgos y ataques relacionados

| Escenario de riesgo                         | Descripción                                                                                 |
| ------------------------------------------- | ------------------------------------------------------------------------------------------- |
| Persistencia silenciosa                     | Cuentas "huérfanas" con `adminCount=1` pueden retener privilegios ocultos.                  |
| Falsos positivos o privilegios innecesarios | Usuarios que ya no deberían estar protegidos, pero aún lo están.                            |
| Reconocimiento por atacantes                | Herramientas de post-explotación buscan `adminCount=1` para identificar objetivos valiosos. |

¿Cómo verificar este atributo?

Usando PowerShell:

Get-ADUser -Filter 'adminCount -eq 1' -Properties adminCount

Esto devuelve todas las cuentas marcadas como protegidas (potencialmente con privilegios elevados o históricos).

El atributo adminCount determina si una cuenta de AD está protegida por el mecanismo de ACL reforzada de AdminSDHolder. Su valor puede persistir incluso después de remover privilegios y puede ser usado por atacantes para localizar cuentas sensibles.

📌sIDHistory

El atributo sIDHistory permite que un objeto de Active Directory (por ejemplo, un usuario o grupo) herede derechos de acceso que tenía previamente en otro dominio o entorno, al conservar los SIDs anteriores asociados a ese objeto. Esto es muy útil en migraciones entre dominios, pero también puede ser un vector de abuso si no se controla adecuadamente.

Función principal de sIDHistory

| Propósito                       | Descripción                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------ |
| Compatibilidad tras migraciones | Permite a un usuario conservar acceso a recursos en el dominio antiguo.        |
| Transparencia para el usuario   | No necesita nuevas ACLs, ya que el nuevo objeto retiene los SID antiguos.      |
| Acceso acumulativo              | El token del usuario incluye los SIDs del `sIDHistory` → mantiene privilegios. |

Riesgos y abusos de sIDHistory

| Riesgo                           | Descripción                                                                 |
| -------------------------------- | --------------------------------------------------------------------------- |
| Privilege Escalation             | Un atacante puede modificar el `sIDHistory` para heredar permisos elevados. |
| Bypass de controles de acceso    | El sistema puede otorgar acceso a recursos basados en SIDs antiguos.        |
| Falta de filtrado entre dominios | Si SID Filtering no está habilitado, puede aceptar SIDs externos.           |

Ejemplo de ataque

Un atacante podría:

  1. Obtener acceso de escritura a un objeto de usuario.

  2. Modificar el atributo sIDHistory para incluir el SID de un grupo privilegiado (como Domain Admins) de otro dominio o del mismo.

  3. Lograr acceso extendido a recursos sin pertenecer visiblemente a ningún grupo elevado actual.

Mitigación: SID Filtering

Cuando se establecen trusts entre dominios, se debe habilitar SID Filtering para impedir que SIDs de dominios externos se acepten en tokens de seguridad

📌NTDS.DIT

El archivo NTDS.DIT es la base de datos de Active Directory, localizada en todos los controladores de dominio (DCs), y contiene:

| Contenido                   | Detalle                                                            |
| --------------------------- | ------------------------------------------------------------------ |
| Objetos del dominio         | Usuarios, grupos, máquinas, UO, GPOs, SPNs, ACLs, etc.             |
| Estructura jerárquica de AD | Árbol, bosque, particiones (Domain, Schema, Configuration)         |
| Hashes de contraseñas       | Hashes LM/NTLM de todos los usuarios del dominio                   |
| Atributos extendidos        | Como `sIDHistory`, `adminCount`, `SPNs`, `userPrincipalName`, etc. |
| Claves para replicación     | Timestamps y objetos de conexión para replicación entre DCs        |

Importancia desde la seguridad

  • Contiene todos los hashes de contraseñas del dominio.

  • Su robo implica compromiso total del dominio (punto sin retorno).

  • Permite ataques como:

    • Pass-the-Hash

    • Crackeo offline (Hashcat, John the Ripper)

    • Golden Ticket (una vez obtenido krbtgt)

    • Password spraying interno

  • Si la política "Store passwords using reversible encryption" está activada, puede contener contraseñas en texto claro.

Riesgos comunes

| Riesgo                            | Descripción                                                                  |
| --------------------------------- | ---------------------------------------------------------------------------- |
| Compromiso físico o lógico del DC | Si se accede al disco o se extrae la copia de seguridad                      |
| Ataques tipo DCSync               | Requieren privilegios, pero permiten obtener datos de `NTDS.DIT` remotamente |
| Extracción directa                | Herramientas como `ntdsutil`, `secretsdump.py`, `Volume Shadow Copy`, etc.   |

Tools relacionadas para su análisis o ataque

| Herramienta         | Uso                                                    |
| ------------------- | ------------------------------------------------------ |
| secretsdump.py      | Dump remoto desde `NTDS.DIT` y SYSTEM hive (Impacket)  |
| ntdsutil            | Crear copia de seguridad de `NTDS.DIT`                 |
| hashcat / john      | Cracking de hashes NTLM extraídos                      |
| vssadmin + copy     | Crear snapshot del volumen y extraer `NTDS.DIT`        |
| PowerShell + VSS    | Dump programático sin alertas si se tiene acceso local |

🔄 Elementos del modelo de Replicación y coherencia de Active Directory

📌FSMO roles (Flexible Single Master Operations)

El FSMO nos va a ayudar a entender cómo Active Directory mantiene consistencia, estabilidad y orden en entornos distribuidos con múltiples controladores de dominio (DCs). Los roles FSMO existen para garantizar la consistencia de ciertos cambios críticos en AD, evitando conflictos entre múltiples controladores de dominio. Aunque AD es multi-master (es decir, muchos DCs pueden aceptar cambios), algunas operaciones deben ser centralizadas para evitar corrupción o duplicidad. Por eso, se delegan funciones únicas a determinados DCs mediante los roles FSMO.

| Rol FSMO              | Alcance     | Función clave                                                                         |
| --------------------- | ----------- | ------------------------------------------------------------------------------------- |
| Schema Master         | Forest-wide | Controla modificaciones al esquema (estructura del AD).                               |
| Domain Naming Master  | Forest-wide | Controla la creación y eliminación de dominios en el bosque.                          |
| RID Master            | Por dominio | Asigna bloques de RIDs a los DCs para crear nuevos objetos.                           |
| PDC Emulator          | Por dominio | Emula el PDC legacy. Gestiona sincronización de tiempo, cambios de contraseña y GPOs. |
| Infrastructure Master | Por dominio | Actualiza referencias cruzadas entre objetos en distintos dominios.                   |

Los roles FSMO pertenecen a la capa de replicación y coherencia en Active Directory. Permiten evitar conflictos y asegurar la consistencia de operaciones críticas que no pueden realizarse en modo multi-master. Sin estos roles, el funcionamiento estable de AD —especialmente en entornos con múltiples DCs— se vería comprometido.

📌Global Catalog

El Catálogo Global (GC) es una función especial que se habilita en uno o más controladores de dominio dentro del bosque. Su objetivo principal es almacenar y replicar información clave de todos los objetos del bosque, lo cual lo hace parte del modelo de replicación y optimización de búsquedas y autenticación.

Funciones clave del Catálogo Global:

  1. Replica parcialmente todos los objetos del bosque:

    • Contiene una copia completa de todos los objetos del dominio local.

    • Contiene una copia parcial (con atributos clave) de los objetos en otros dominios del bosque.

  2. Facilita la búsqueda de objetos en múltiples dominios:

    • Permite a usuarios y aplicaciones buscar información de cualquier objeto en el bosque, sin importar en qué dominio se encuentre.

    • Esto es fundamental en estructuras de directorio distribuidas.

  3. Interviene en el proceso de autenticación:

    • Durante el inicio de sesión, el GC proporciona la información sobre la pertenencia a grupos universales del usuario (que pueden estar en otros dominios).

    • Sin esta información, no se podría generar correctamente el Access Token para usuarios con membresía interdominio.

📌 Read-Only Domain Controller (RODC)
  • El RODC contiene una copia de solo lectura de la base de datos de AD (NTDS.dit), lo que significa que:

    • No replica cambios de vuelta a otros DCs.

    • Sólo recibe actualizaciones desde un DC de escritura (normal).

    • No permite modificaciones a objetos de AD desde allí.

  • Reduce el tráfico de replicación, ideal para sitios con ancho de banda limitado.

El RODC es una función híbrida que se ubica en las capas de replicación, seguridad y administración, ya que afecta cómo se replica la base de datos de AD, cómo se controla el acceso local y cómo se implementa en entornos remotos. Fue diseñado para ofrecer presencia de AD en ubicaciones vulnerables sin comprometer la integridad del dominio.

📌Replication

La replicación es el mecanismo central de esta capa (Replicación y coherencia de Active Directory), ya que permite que todos los controladores de dominio dentro de un dominio o bosque mantengan una copia sincronizada de la base de datos de Active Directory (NTDS.dit).

Esto es esencial para:

  • Garantizar la consistencia de los objetos de AD en toda la red

  • Permitir la redundancia y alta disponibilidad

  • Soportar operaciones multi-master, en las que más de un DC puede aceptar cambios

Componentes clave del proceso de replicación:

| Componente                          | Función                                                                                   |
| ----------------------------------- | ----------------------------------------------------------------------------------------- |
| KCC (Knowledge Consistency Checker) | Servicio que construye y optimiza automáticamente las conexiones de replicación entre DCs |
| Conexiones de replicación           | Rutas lógicas entre controladores de dominio para sincronizar datos                       |
| Particiones de directorio           | AD replica porciones específicas: Schema, Configuration, Domain, Application              |
| Sitios de AD (Sites)                | Ayudan a optimizar la replicación entre ubicaciones geográficas distintas                 |
| Protocolo de replicación            | Utiliza RPC sobre IP (intra-sitio) y SMTP (entre sitios si se permite)                    |

La replicación es el mecanismo que mantiene sincronizada la base de datos de Active Directory entre todos los controladores de dominio. Permite distribuir los cambios de forma eficiente, garantizar redundancia y mantener una infraestructura coherente y disponible en todo momento.

📌Tombstone

El Tombstone es una representación lógica de un objeto eliminado en Active Directory. Cuando se borra un objeto (usuario, equipo, grupo, etc.), no se elimina de inmediato del directorio. En su lugar:

  • Se convierte en un "tombstone object" (objeto marcador de tumba).

  • Se marca como eliminado (isDeleted=TRUE) y se mueve al contenedor Deleted Objects.

  • Se mantiene por un período de gracia llamado Tombstone Lifetime (por defecto 60 o 180 días).

  • Luego de ese tiempo, el objeto se purga completamente del sistema.

Esto asegura que la eliminación pueda replicarse correctamente a todos los controladores de dominio, incluso si están desconectados por días.

Relación con otras funciones de AD:

| Función                   | Relación con Tombstone                                                           |
| ------------------------- | -------------------------------------------------------------------------------- |
| Replicación entre DCs     | Los DCs deben sincronizar eliminaciones; el tombstone garantiza eso.             |
| Integridad del directorio | Evita que un DC restaurado "resucite" objetos ya eliminados en otros.            |
| AD Recycle Bin            | Si no está habilitada, solo se pueden restaurar tombstones limitadamente.        |
| Backups y recuperación    | La vida útil del tombstone influye en la efectividad de las copias de seguridad. |

El Tombstone es una técnica de eliminación lógica en Active Directory que permite propagar correctamente los cambios de eliminación y ofrece una ventana limitada para recuperación. Es esencial para la replicación confiable, la integridad global del bosque y la administración de copias de seguridad y restauración.

📌AD Recycle Bin

El AD Recycle Bin forma parte del conjunto de funcionalidades que permiten revertir errores humanos o fallos administrativos, como la eliminación accidental de usuarios, grupos, equipos o UO.

Antes de su introducción (en Windows Server 2008 R2), recuperar un objeto eliminado en AD era un proceso engorroso que implicaba:

  • Restaurar copias de seguridad.

  • Reiniciar servicios como AD DS.

  • Rebootear controladores de dominio.

  • Re-sincronizar la replicación.

Con la papelera activada:

  • Los objetos eliminados no se purgan directamente, sino que se mantienen en estado “restringido” y recuperable, sin perder la mayoría de sus atributos.

  • El objeto conserva información crítica, como miembros de grupos, SID, rutas de DN, SPN, etc., lo que simplifica la restauración completa.

Relación con otros conceptos:

| Concepto relacionado | Relación                                                                                                                    |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Tombstone            | Ambos retienen objetos eliminados, pero el tombstone pierde atributos clave, mientras que la papelera los conserva.         |
| NTDSUtil             | Ya no es estrictamente necesario para recuperar objetos.                                                                    |
| PowerShell / GUI     | Permiten restaurar objetos desde el Recycle Bin de forma directa.                                                           |
| Backups de AD        | El Recycle Bin reduce la dependencia de restauraciones completas.                                                           |

Ciclo de vida del objeto (con y sin papelera):

              [Objeto en AD]

      Eliminación lógica (Tombstone)
                    ↓                                  CON RECYCLE BIN
     Sin atributos / No recuperación  →   Objeto recuperable (60 días por defecto)

                                               Restauración o purga definitiva

El AD Recycle Bin es una función moderna de Active Directory que permite restaurar objetos eliminados con la mayoría de sus atributos intactos, sin requerir procesos complejos ni reinicios. Es parte esencial del modelo de recuperación de AD y mejora significativamente la resiliencia administrativa.

🛠️Elementos del modelo de Administración de Active Directory

📌 Read-Only Domain Controller (RODC)
  • Útil para entornos distribuidos donde no se puede garantizar la misma seguridad física o disponibilidad de red.

  • Simplifica el mantenimiento y reduce la exposición de control total a sitios remotos.

El RODC es una función híbrida que se ubica en las capas de replicación, seguridad y administración, ya que afecta cómo se replica la base de datos de AD, cómo se controla el acceso local y cómo se implementa en entornos remotos. Fue diseñado para ofrecer presencia de AD en ubicaciones vulnerables sin comprometer la integridad del dominio.

📌ADSI Edit (Active Directory Service Interfaces Editor)

ADSI Edit es una herramienta de administración basada en LDAP que permite:

  • Leer y escribir atributos directos en la base de datos del AD.

  • Acceder a todas las particiones del AD (no solo al dominio).

  • Ver o editar objetos del sistema como:

    • Schema

    • Configuration

    • Domain

    • Deleted Objects

    • CN=Directory Service, etc.

Esto lo convierte en una herramienta poderosa para la administración profunda y para la solución de problemas complejos. Pero también implica un riesgo: no hay verificación ni validación automática de cambios.

Capacidades de ADSI Edit

| Capacidad                            | Ejemplo / Uso                                                   |
| ------------------------------------ | --------------------------------------------------------------- |
| Ver atributos ocultos                | `adminCount`, `isDeleted`, `sIDHistory`, `servicePrincipalName` |
| Acceder al **esquema** de AD         | Editar clases, atributos, tipos de objetos                      |
| Modificar `dsHeuristics`             | Cambiar configuración global de protección                      |
| Ver objetos borrados (tombstones)    | Acceder a `CN=Deleted Objects`                                  |
| Editar relaciones de confianza, ACLs | Cambiar propiedades críticas manualmente                        |

Riesgos

  • Sin protección contra errores: Un cambio erróneo puede corromper objetos críticos.

  • No apto para uso frecuente: Solo se recomienda para tareas específicas, avanzadas o guiadas por expertos.

📌 SYSVOL
  • Administración centralizada: SYSVOL es el repositorio compartido desde el cual los controladores de dominio distribuyen políticas, scripts de inicio de sesión, archivos compartidos y configuraciones a todos los usuarios y equipos del dominio.

  • Replicación y coherencia: El contenido de SYSVOL se replica automáticamente entre todos los controladores de dominio (DCs) usando FRS o DFS-R, asegurando que todos los DCs tengan la misma configuración disponible.

| Tipo de contenido       | Descripción                                                               |
| ----------------------- | ------------------------------------------------------------------------- |
| GPOs (archivos)         | Plantillas administrativas, configuraciones de políticas, etc.            |
| Scripts de logon/logoff | Scripts de inicio/cierre de sesión que se aplican a usuarios y equipos.   |
| Archivos públicos       | Archivos que deben estar disponibles para todos los usuarios del dominio. |
| Plantillas              | Archivos .adm/.admx para GPOs.                                            |

Ruta típica del SYSVOL en un DC:

C:\Windows\SYSVOL\

Se comparte como:

\\dominio.local\SYSVOL

Ejemplo:

\\acme.local\SYSVOL\acme.local\scripts\login.bat

Cómo se replica?

SYSVOL se replica entre DCs usando uno de dos mecanismos:

  • FRS (File Replication Service): Usado en versiones antiguas (obsoleto desde 2008 R2).

  • DFS-R (Distributed File System Replication): Recomendado y más eficiente, detecta cambios a nivel de bloque.

📌Active Directory Users and Computers (ADUC)

Es la herramienta gráfica (GUI) más conocida y utilizada por administradores para gestionar objetos en el dominio. ADUC no es un componente técnico que defina cómo funciona AD internamente, sino una interfaz de administración sobre el Directorio Activo. Permite a los administradores interactuar con el contenido del dominio de forma visual.

¿Qué se puede hacer desde ADUC?

| Acción común                      | Descripción                                                        |
| --------------------------------- | ------------------------------------------------------------------ |
| Crear/modificar/eliminar usuarios | Establecer nombres, contraseñas, expiraciones, atributos, etc.     |
| Gestionar grupos                  | Crear grupos de seguridad o distribución y agregar/quitar miembros |
| Administrar equipos (máquinas)    | Mover objetos a UO, renombrar, deshabilitar                        |
| Organizar en UO                   | Mover objetos a unidades organizativas según departamentos/roles   |
| Editar atributos avanzados        | Usar "Advanced Features" para ver/modificar atributos ocultos      |

Cómo interactúan las capas:

Las capas se superponen para garantizar cohesión. Por ejemplo:

  • Un usuario (Modelo Estructural) se crea en una OU (Jerarquía Lógica), se protege con permisos (Modelo de Seguridad), se replica a otros DCs (Replicación) y se gestiona con herramientas (Administración).

  • Ejemplo práctico: Creación de un usuario

    1. Modelo Estructural: Verifica que el objeto user tenga los atributos obligatorios (sAMAccountName, mail).

    2. Jerarquía Lógica: Lo ubica en OU=Marketing,DC=empresa,DC=com.

    3. Modelo de Seguridad: Asigna permisos para que solo su jefe pueda modificar su cuenta.

    4. Replicación: Propaga el nuevo usuario a todos los DCs en 15 minutos.

    5. Administración: Un script de PowerShell notifica al equipo de Help Desk.

Esquema (define atributos) → Jerarquía (ubica el objeto) → Seguridad (protege el objeto) → Replicación (sincroniza el objeto) → Administración (monitorea/modifica el objeto)

Last updated