Sei sulla pagina 1di 4

Cómo Funcionan las Directivas de Grupo (GPOs)

El uso y aplicación de las Directivas de Grupo, en adelante GPOs, en ambiente de dominio de


Directorio Activo (Active Directory) es uno de los temas que provoca más dudas e
inconvenientes entre los administradores de redes, así que en esta nota vamos a tratar de
aclarar las bases de su funcionamiento, y que permitirán aclarar su aplicación correcta.

Vamos a hacer primero un poco de historia sobre el tema. Aunque se han popularizado a
partir de Windows 2000, en realidad ya estaban en Windows 95 y NTs. La idea atrás de estas
directivas era poner restricciones a ciertos usuarios y/o máquinas.

Pocos las vieron en ese momento pues el ejecutable POLEDIT.EXE no tenía un acceso
directo en la interfaz gráfica, y por lo tanto había que descubrirlo. Los pocos que se dieron
cuenta de su existencia y uso, en general no tuvieron una buena experiencia además.

POLEDIT.EXE permitía poner restricciones por usuario, por grupo o por máquina, en forma
local o en dominio, y contenía sólo unas 50 o 60 configuraciones dependiendo de las plantillas
cargadas. Permitía guardar la directiva configurada con un nombre a elección y en la carpeta
que el creador deseara; y así no funcionaba. Había que guardarla con un nombre determinado
(CONFIG.POL para los Windows 95/98, NTCONFIG.POL para los NTs) y en un lugar
específico (NETLOGON de los Controladores de Dominio). Como si fuera poco lo anterior no
funcionaba como muchos administradores esperaban; ellos pensaban que si querían sacar las
restricciones sólo debían borrar el archivo .POL pero no era así ya que las directivas ya
habían hecho los cambios en el Registro (Registry) por lo cual para volver a cualquier
configuración anterior había que aplicar una directiva que revirtiera los cambios. Resumiendo:
tuvieron una muy reducida aplicación.

El cambio fundamental se produjo con Windows 2000, y sigue hasta nuestros días de
Windows 7 / Windows Server 2008 R2 con muchos más agregados, pero conceptualmente
funcionando de la misma forma. Todo lo que hablemos de acá en más en esta nota estará
basado en conceptos que se desarrollaron en Windows 2000 pero que siguen siendo válidos
actualmente.

Para diferenciar las “nuevas directivas” de las “viejas directivas” se decidió cambiarles el
nombre. Las primeras fueron llamadas “Directivas de Sistema” (System Policies), y las nuevas
“Objeto Directivas de Grupo” (Group Policy Objects = GPOs).

Estas nuevas GPOs ya no eran sólo un archivo, sino un grupo de carpetas y archivos que
además están relacionados con un objeto creado en el Directorio Activo (Active Directory).
Lo anterior da una explicación coherente al porqué cuando queremos operar con una GPO no
alcanza con copiar la carpeta correspondiente; no hay que olvidar que se corresponde y
relaciona con un objeto propio (dentro de) el Directorio Activo.

Estas GPOs tienen existencia propia, lo cual implica que pueden estar creadas y presentes,
pero sin embargo no afectar a ningún objeto. Para que afecten, o mejor dicho para que se
apliquen a objetos del Directorio Activo deben enlazarse (link) a un objeto de tipo contenedor
del directorio.
Una GPO puede enlazarse a un Sitio (Site), Dominio (Domain) o Unidad Organizativa
(Organizational Unit). Y cuando se enlaza a un contenedor de este tipo se aplicará a todos los
objetos contenidos en el mismo. Nota importante: un Subdominio no está contenido en el
Dominio padre; una Unidad Organizativa sí está contenida en un dominio; y un Sitio puede
contener máquinas de varios Dominios del Bosque.
Una GPO puede contener mucho más que las 50 ó 60 configuraciones iniciales. Cada versión
de Sistema Operativo y Service Pack fueron agregando posibles configuraciones. Cuando
salió Windows 2000 originalmente había aproximadamente 550 configuraciones, con Windows
7 estamos en aproximadamente un poco mas de 3300 configuraciones.
La última versión de una planilla Excel con las configuraciones posibles puede descargarse
de:
Group Policy Settings Reference for Windows and Windows
Server:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=18c90c80
-8b0a-4906-a4f5-ff24cc2030fb
Además estas configuraciones no son sólo valores en el Registro (Registry) sino
configuraciones del propio sistema.
Las configuraciones de registro son sólo las que están bajo “Plantillas administrativas”
(Administrative Templates). Y además ya no son resilientes, esto es, se revierten en la
mayoría de los casos cuando se deja de aplicar la GPO. Para comprender esto: se guardan
las configuraciones en un par de claves del Registro, y en el momento del arranque se
produce en memoria la combinación de valores.

Una GPO puede contener una o más configuraciones; un contenedor puede tener enlazadas
ninguna o varias GPOs; y una GPO puede estar enlazada a más de un contenedor sin
importar su clase. Lo anterior es la consecuencia de la existencia como objeto independiente
que tienen las GPO.

También es conveniente recordar que cada GPO tiene dos partes principales Configuración de
Equipo y Configuración de Usuario.

En la siguiente figura podemos ver un diagrama genérico de Directorio Activo.


Específicamente aclaramos que cada contenedor tiene solamente otros dos abajo por
simplicidad de dibujo, pero podría tener más. Así mismo es de notar que hemos puesto GPOs
enlazadas en todos los contenedores y que las cuentas de usuario y de máquina se
encuentran en Unidades Organizativas separadas, ya que la idea es hacer una explicación
general del funcionamiento.

Supongamos también que como es lógico si hemos enlazado una GPO a un contenedor es
porque ésta contiene alguna configuración o configuraciones.

También por simplicidad hemos puesto tanto la cuenta de máquina como la de usuario en el
mismo Dominio, aunque esto no es necesario.

Cuando se inicia una máquina con sistema Windows 2000 o posterior, al igual que todos los
NTs anteriores (no es el caso de los Windows 9x) la máquina debe autenticarse en el dominio.
Luego que el Controlador de Dominio hace esta autenticación le pasa a la máquina la lista de
GPOs que debe aplicar de acuerdo a la Unidad Organizativa donde ésta se encuentra. En
nuestro caso le dirá que debe aplicar: GPO1, GPO2, GPO3, GPO4 y GPO7. De todas esas
GPOs la máquina aplicará la parte Configuración de Equipo, se ejecutarán los Scripts de
Inicio, y recién aparecerá el cuadro para que el usuario ingrese sus credenciales para iniciar
sesión.
Cuando el usuario ingresa sus credenciales y es autenticado, el Controlador de Dominio
informa al equipo cuáles son las GPOs que debe aplicar de acuerdo a dónde esté la cuenta de
usuario. En nuestro caso: GPO1, GPO2, GPO3, GPO4 y GPO8. De estas GPOs se aplicará la
parte Configuración de Usuario, se ejecutarán los scripts de inicio de sesión y finalmente se
mostrará el escritorio del usuario.

Debemos aclarar, que lo anterior es rigurosamente cierto, si el equipo y usuario es la primera


vez que se ingresa al dominio, ya que de otra forma el sistema, para acelerar el proceso,
usará copias de las GPOs “cacheadas” localmente, permitiendo que el usuario llegue al
escritorio aún antes que el equipo tenga conectividad de red. Posteriormente verificará si hay
cambios en las GPOs y las aplicará posteriormente.

Volviendo al tema específico de las configuraciones ¿Qué configuraciones de GPO estarán


aplicadas? Bien, el resultado es todas. Tanto la máquina como el equipo recibirán algunas
configuraciones de una GPO y otras de otra GPO. Recibirá la “unión” de todas las GPOs.

Si todo fuera tan simple sería muy fácil, pero qué sucede si hay configuraciones opuestas, por
ejemplo que una GPO oculta el Ejecutar y otra tiene que hay que mostrar el Ejecutar.
El valor por omisión es que prevalece la última en ejecutarse, la más cercana al objeto.
Esto es así para permitir que las configuraciones más generales se hagan “más alto” y la
estructura de Unidades Organizativas permitan poner las configuraciones más específicas. Un
poco más adelante veremos cómo podemos alterar este comportamiento.

Permítanme una observación personal que creo que ha llevado al poco entendimiento general
sobre cómo trabajan las GPOs. En inglés GPO = “Group Policy Object”, y está localizado en
español como “Objeto Directiva de Grupo”. Eso ha llevado a multitud de confusiones porque
muchos administradores con buena lógica asociaron su uso a Grupos de seguridad de
Directorio Activo. En realidad esto no es así, hubiera sido mucho más lógico usar algo como
“Objeto Conjunto de Directivas” porque en realidad con “grupo” se está refiriendo a que en una
GPO pueden agruparse (en conjunto) varias configuraciones.

Cuando se planifica un Directorio Activo es fundamental decidir sobre qué estructura de


Unidades Organizativas se va a utilizar, ya que ésta debe facilitar la administración de los
recursos. Se deben tener en cuenta dos factores: Delegación de Tareas, y Aplicación de
GPOs.

Volvamos ahora al tema que dejamos pendiente sobre qué podemos hacer para alterar la
resolución de conflictos de configuraciones cuando se aplican varias GPOs.
Habíamos dicho que el valor por omisión es que en caso de configuraciones opuestas
prevalecía la última en aplicar, pero esto no siempre es deseable o posible para alcanzar
objetivos propuestos.
Por eso tenemos otras opciones para alterar esa forma de aplicación:
Bloquear la Herencia de Directivas (Block Policy Inheritance): esta opción está a nivel del
contenedor y nos permite bloquear en forma total todas las GPOs heredadas que vienen de
contenedores superiores. No se puede hacer selectivamente, se bloquean todas o ninguna.
No Reemplazar (Enforce / No Override): esta opción a nivel de enlace (link) permite forzar la
aplicación. Las configuraciones de esta GPO se aplicarán aunque esté bloqueada la herencia,
e inclusive prevalecerán en caso de conflicto.
Permisos sobre la GPO: como todo objeto del Directorio Activo, una GPO tiene permisos.
Por omisión el grupo Usuarios Autentificados (Authenticated Users) tiene los permisos Permitir
Lectura y Permitir Aplicar GPO. Como todas las máquinas y usuarios pertenecen a este grupo,
la GPO no hará excepciones. Pero aprovechando nuestros conocimientos de administración
de permisos y sabiendo que los permisos de Denegar prevalecen por sobre los de Permitir,
podemos influenciar el comportamiento utilizándolos adecuadamente.
Por ejemplo si queremos exceptuar a un grupo de usuarios podríamos incluirlos en un grupo y
específicamente a este grupo denegarle los permisos mencionados, con lo cual lo
exceptuaríamos.
Otra posibilidad para que aplique a un grupo específico, sería editar los permisos, sacando a
Usuarios Autentificados y otorgándoselos específicamente al grupo que queramos.

Algunos comentarios sobre estas posibilidades antes nombradas. La mejor solución es


siempre la más simple. Una buena planificación de la estructura de Unidades Organizativas
nos puede ahorrar mucho tiempo y trabajo. Por lo tanto tratemos de evitar en lo posible
cualquiera de las tres alternativas anteriores, no porque no funcionen adecuadamente, sino
porque en caso de problemas éstos son de más difícil resolución.
Si tenemos que usar mucho el bloqueo de herencia y forzar la aplicación es para pensar si un
rediseño de la estructura de Unidades Organizativas nos podría ayudar. El uso de los
permisos a través de grupos únicamente debería usarse en casos excepcionales.

Potrebbero piacerti anche