jueves, 7 de junio de 2007

Read-Only Domain Controllers (RODC)

RODC es un nuevo tipo de Domain Controller introducido a partir de Windows Server 2008, diseñado principalmente para su implementación en sitios en los cuales no puede garantizarse total seguridad.


Anteriormente, con Windows Server 2003, los usuarios de aquellos sitios en los cuales no se cuenta con un Domain Controller propio, debían autenticarse a través de vínculos que, en algunos casos, no proveen ni las características de seguridad ni de rendimiento aceptables para tal fin.

Con esta nueva alternativa, los usuarios que se encuentren en esa situación obtendrán una seguridad mejorada, tiempos de demora en el acceso menores, y acceso más eficiente a recursos de la organización.

Como consideraciones particulares a la hora de implementarlo, se debe tener en cuenta que el DC que contenga el rol PDC Emulator, debe ser Windows Server 2008. Además, el Functional Level del dominio y el Forest, debe ser Windows Server 2003 o superior.

Nuevas Funcionalidades:

RODC trata algunas problemáticas que son comunes de una Branch Office (BO). Puede suceder que las BO no tengan un Domain Controller local, o que lo tengan, pero no cumplan con las condiciones de seguridad necesarias que esto conlleva, además del ancho de banda necesario, o la propia experiencia y/o conocimientos del personal técnico.

A raíz de la problemática enunciada anteriormente, RODC provee las siguientes características:
  • Read-only AD DS Database.
  • Unidirectional replication.
  • Credential Caching.
  • Administrator role separation.
  • Read-only DNS.
Read-only AD DS Database

Exceptuando contraseñas, un RODC contiene todos los objetos y atributos que tiene un DC típico. Sin embargo, por supuesto, no pueden llevarse a cabo cambios que impacten a la base de un RODC. Todo tipo de cambios que se quieran realizar, deberán llevarse a cabo en un DC no RODC, y luego impactados vía replicación en la base del RODC.

Aquellas aplicaciones que requieran acceso en modo lectura a la base de AD lo tendrán sin problema alguno. Sin embargo, aquellas que requieran acceso de escritura, recibirán un LDAP referral, que apuntará directamente a un DC no RODC.

Unidirectional replication

La replicación unidireccional de RODC, que aplica tanto para AD DS y DFS, permite que, en caso de que se logre hacer algún cambio con la intención de modificar la integridad de la base de datos de AD, no se replique al resto de los DCs. Desde el punto de vista administrativo, este tipo de replicación reduce la sobrecarga de bridgehead servers, y la monitorización de dicha replicación.

Credential Caching

Por defecto, RODC no almacena credenciales de usuario o computadora, exceptuando por supuesto, la cuenta correspondiente al propio RODC y la cuenta especial krbtgt que cada RODC tiene. Se debe habilitar explícitamente el almacenamiento de cualquier otro tipo de credencial.

Se debe tener en cuenta que limitar Credential Caching solo a aquellos usuarios que se autentican en el RODC, limita también la seguridad de dichas cuentas. Sin embargo, solo dichas cuentas serán vulnerables a posibles ataques.

Deshabilitar Credential Caching conlleva a que cualquier solicitud de autenticación se redireccione a un DC no RODC. Es posible, sin embargo, modificar la Password Replication Policy para permitir que las credenciales de usuarios sean cacheadas en un RODC.

Administrator Role Separation

Es posible delegar permisos administrativos únicamente para un RODC, limitando la realización de tareas administrativas únicamente en el RODC, y no en otros DCs.

Read-only DNS

El servicio DNS de un RODC no soporta actualizaciones de clientes directas. Como consecuencia de esto, tampoco registra registros NS de ninguna zona integrada que contenga. Cuando un cliente intenta actualizar su registro DNS contra el RODC, el servidor devuelve un referral, que por supuesto, es utilizado posteriormente por el cliente para actualizar su registro. Sin embargo, el RODC solicita también la replicación del registro específico.

Configuraciones y seteos agregados y/o modificados:

Con el fin de soportar Password Replication Policy, Windows Server 2008 incluye nuevos atributos que forman parte del esquema, que permiten soportar esta funcionalidad en un RODC.
  • msDS-Reveal-OnDemandGroup.
  • msDS-NeverRevealGroup.
  • msDS-RevealedList.
  • msDS-AuthenticatedToAccountList
Resumen de requisitos previos para utilizar RODCs:
  • El RODC debe reenviar solicitudes de autenticación a un DC no RODC que sea Windows Server 2008. La Password Replication Policy se configura en este DC para determinar si las credenciales son replicadas hacia la Branch Office a partir de una solicitud del RODC.
  • El Domain Functional Level debe ser Windows Server 2003 o superior, para que de esta forma esté disponible la delegación de Kerberos.
  • El Forest Functional Level debe ser Windows Server 2003 o superior, para que linked-value replication esté disponible. Esto provee mayor consistencia en lo que respecta a replicación.
  • Se debe ejecutar adprep /rodcprep a nivel forest para actualizar los permisos en todas las DNS application Directory Partitions. Esto posibilita que los RODCs que a su vez son servidores DNS, puedan replicar los permisos sin problemas.

Pasos básicos para implementar un RODC:

Instalación del Rol Active Directory Domain Services:
  1. 1. Seleccionar Add Roles.



  2. 2. Seleccionar Next.



  3. 3. Seleccionar Active Directory Domain Services, luego, seleccionar Next.



  4. 4. Seleccionar nuevamente Next.



  5. 5. Y luego seleccionar Install, para comenzar con la instalación de los componentes seleccionados.



  6. 6. Una vez finalizada la instalación, seleccionar Close.



Instalación del Rol Read-Only Domain Controller (y componentes adicionales requeridos):
Nota: El procedimiento indica solo los pasos de configuración básicos.
  1. 1. Seleccionar Start.
  2. 2. Seleccionar Run...
  3. 3. Ejecutar DCPromo.exe.
  4. 4. Seleccionar Use Advanced Mode Installation. Luego, seleccionar Next.



  5. 5. Seleccionar Create a New Domain in the Forest. Luego, seleccionar Next.



  6. 6. Ingresar el nombre DNS completo del dominio. Luego, seleccionar Next.



  7. 7. Aceptar o modificar el nombre NETBios en caso de ser necesario. Luego, seleccionar Next.



  8. 8. Seleccionar el Forest Functional Level que corresponda. Luego, seleccionar Next.



  9. 9. Seleccionar las opciones adicionales particulares para el Domain Controller, entre ellos, DNS, Global Catalog, o Read-Only Domain Controller (el cual deberemos seleccionar). Luego, seleccionar Next.



  10. 10. Aceptar o modificar las opciones de configuración referidas a la ubicación de la base de datos de Active Directory, logs y SYSVOL. Luego, seleccionar Next.



  11. 11. Ingresar la contraseña del Administrador correspondiente al Directory Services Restore Mode. Luego, seleccionar Next.



  12. 12. En la ventana de Summary, seleccionar Next.



  13. 13. Seleccionar el checkbox Reboot on Completion, y esperar a que finalice el proceso de configuración y se reinicie el sistema operativo.



Espero que les sirva.

Saludos.

Marcelo.

4 comentarios:

Anónimo dijo...

Excelente artículo, muy detallado y con muy interesante contenido. Adelante Marcelo !!

Marcelo di Iorio dijo...

Muchas gracias por tu comentario, anónimo!

Pablo dijo...

A mi me interesa tener en mi DMZ un directorio de sólo lectura, para que aplicaciones, por ejemplo un IIS, o un Exchange autentifiquen aquí a los usuarios para estas aplicaciones en concreto, pero que NO permitan modificaciones. Para modificar una entrada debe hacerse en mi Directorio Activo de mi red local y este a su vez replicará lis cambios a mi servidor ROC de la DMZ. ¿esto es correcto?

Existen replicaciones fraccionales, es decir, en una disposición jerárquica de mi directorio puedo replicar sólo una rama a ese ROC, o tengo que replicar todo el directorio? Y si mi directorio es plano?

Vengo de OpenLDap y esto sí puedo hacerlo con él, pero no se con AD.

Gracias y un saludo
Pablo

Un saludo

Anónimo dijo...

Muy interesante.