Evitar que los usuarios unan equipos al dominio

domingo, 22 de febrero de 2015


Aunque muchos no lo sepan, cualquier usuario autenticado en un dominio puede unir su propia máquina al dominio, sin necesidad de contar con privilegios administrativos para ello, de hecho no solamente puede unir su máquina sino otras nueve (9) más, es decir; cada usuario autenticado en un dominio puede unir hasta 10 máquinas de manera predeterminada. ¿Cómo evitamos este comportamiento? veamos a continuación:

  1. Existe una directiva que aplica solamente a los controladores de dominio, la cual indica que los usuarios autenticados pueden unir máquinas al dominio, y en la misma ayuda de la directiva indica que puede unir hasta 10.





Bastaría con eliminar el grupo Usuarios Autenticados de la anterior directiva para prevenir que los usuarios sin permisos explícitos unan máquinas al dominio,

2. Podemos también realizar este cambio a través de ADSI Edit modificando el atributo ms-DS-MachineAccountQuota


Una vez tengamos abierto el editor ADSI, nos conectamos al Default naming context



Expandimos hasta el nombre de nuestro dominio y hacemos clic derecho sobre el mismo y luego elegimos Propiedades del menú contextual



En la propiedades tendremos el editor de atributos, allí debemos buscar el atributo ms-DS-MachineAccountQuota



Como se puede apreciar su valor está en 10, basta con editar el atributo y cambiar su valor a 0 para que ningún usuario pueda ingresar equipos al dominio, para mi caso lo dejaré en 2 con el fin de probar con un usuario y agotar la cuota y observar el error que arroja.


El valor del anterior atributo también puede ser consultado desde PowerShell utilizando el siguiente comando:

Get-ADDomain | select -ExpandProperty DistinguishedName | Get-ADObject -Properties 'ms-DS-MachineAccountQuota' | select -ExpandProperty ms-DS-MachineAccountQuota



Con cualquiera de las dos opciones anteriores podemos prevenir que los usuarios no autorizados unan equipos al dominio, solo podrán hacerlo aquellos a quienes les hemos otorgado el privilegio de manera explícita.

Aparte de asegurarnos que ningún usuario pueda ingresar máquinas al dominio, lo ideal y recomendado es siempre crear primero las cuentas de equipo en Active Directory y luego si realizar la unión al dominio, cuando creamos las cuentas previamente tenemos la posibilidad de indicar que usuario o grupo puede realizar la vinculación al dominio. Veamos en un mundo ideal como se logra esto.

Primero nos ubicamos en la OU donde deseamos crear la cuenta de equipo, clic derecho Nuevo - Equipo


Ponemos un nombre al equipo, en este caso DESKTOP01, y muy importante, haciendo clic en el botón Change podemos elegir el grupo o usuario al cual se le otorgará el permisos para unir la máquina al dominio


Ahora, nos vamos al equipo cliente y unimos la máquina al dominio.



Vemos como de manera satisfactoria hemos unido el equipo al dominio, ahora vamos a seguir uniendo máquinas con este mismo usuario, pero en esta ocasión no lo haremos creando la cuenta antes, como hicimos en el paso anterior, sino que esta vez la uniremos directamente desde el equipo cliente, tal como muchos estamos acostumbrados a hacerlo, recordemos que establecimos el límite a 2, veamos qué ocurre.


Se logró unir de manera satisfactoria una segunda máquina llamada DESKTOP02 utilizando el mismo usuario. Vamos por la tercera! ¿crees qué la dejara unir, recordemos el límite de 2?


Efectivamente dejó unir la máquina DESKTOP03, ¿permitirá más? veamos:


Y hasta aquí nos dejó llegar, como se puede observar en el mensaje de error, se ha superado el límite de cuentas de equipo que se pueden crear en este dominio.

En resumen nos dejó agregar 3 máquinas al dominio, ya que la primera no cuenta, porqué no cuenta? porque creamos la cuenta previamente, en este caso el objeto no es propiedad del usuario que une la máquina al dominio, en su lugar si agregamos la máquina al dominio sin antes crear la cuenta de equipo, el objeto queda como propiedad del usuario que lo une al dominio, y allí si aplica el límite de máquinas que puede unir, que ya mencionamos que por defecto es 10, en mi caso lo establecí a 2, y como podemos ver, efectivamente al intentar unir una tercera máquina que no fue creada previamente, el sistema arroja el mensaje de error que podemos apreciar en la imagen anterior.

Ahora, veamos cómo Active Directory sabe cuáles máquinas unió determinado usuario al dominio:

La cantidad de equipos que une un usuario al dominio se determina contando las máquinas que tienen el atributo ms-DS-CreatorSID igual al SID del usuario.

Primero, vamos a reaizar una consulta que indique todas aquellas máquinas que tienen algún valor en el atributo ms-DS-CreatorSID, 

Get-ADComputer -Filter {ms-DS-CreatorSID -like '*'}


Como se puede observar nos trajo dos cuentas de equipo, fueron precisamente las dos máquinas que se unieron al dominio ya que tenemos permitido unir hasta dos máquinas por usuario, cuando intentamos unir una tercera no fue permitido, la primera no aparece aquí ya que se trata de una cuenta previamente creada, la cual no tiene ningún valor en el atributo ms-DS-CreatorSID

En este caso, en mi dominio de prueba solamente se han unido estas dos máquinas al dominio, en un entorno de dominio en producción el comando anterior arrojará un listado de todas las máquinas que se hayan unido sin tener una cuenta previamente creada. Pero que tal si deseamos conocer no todas las máquinas, sino las máquinas unidas por un determinado usuario. Para ello podemos hacer lo siguiente:

1. Obtener el SID del usuario (recuerda que se compara el SID del usuario frente al atributo ms-DS-CreatorSID, deben ser iguales).

$sid = (Get-ADUser cherrada).SID

2. Traemos todos los equipos pero filtrando solo aquellos cuyo atributo ms-DS-CreatorSID sea igual a la variable $sid que contiene el SID del usuario.

Get-ADComputer -Filter {ms-DS-CreatorSID -eq $sid}


El resultado: Todas las máquinas unidas al dominio por el usuario cherrada

No hay comentarios:

 

Lo más visto

Comunidad

Comunidad
Comunidad Técnica

Visitas