Curso de PowerShell
Aprende a utilizar PowerShell desde cero con este curso de PowerShell para principiantes y saca todo el potencial...
En este artículo profundizamos en qué es Active Directory, para qué sirve, cómo funciona y en varios consejos para administrar este servicio de Microsoft.
¿Recuerdas aquellos tiempos donde te montabas un grupo de trabajo en casa y ya podías jugar con tus amigos en red? Montarse una pequeña red LAN en casa era una tarea bastante sencilla. Solo necesitabas un concentrador de red, cableado estructurado, configurar la dirección IP de cada ordenador presente en la red y quizá añadir un router para salir a Internet a darlo todo a golpe de clic y teclado. Para muchos eso fue el comienzo de su interés en la administración de redes informáticas y para otros fue darse de bruces con la realidad.
Un grupo de trabajo no es una buena idea si tu red comienza a ser un poco extensa. Quiero decir, una cosa es una red montada entre amigos y otra cosa la que debe tener un negocio y los usuarios que acceden a sus recursos. Necesitas definir quién tiene acceso al entorno, qué cosas puede o no puede hacer, cuando puede acceder, qué recursos se instalarán (programas, impresoras), y hasta cosas tan sencillas como evitar que puedan cambiar el fondo de escritorio se puede convertir en toda una tortura si tenemos que ir puesto a puesto, ordenador por ordenador definiendo políticas.
Para resolver esto, en el mundo empresarial, ya existían varias soluciones para “tener todo atado y bien atado”. Quizá los más “viejóvenes” recuerden su primer contacto con Novell Directory Services u otros servicios de directorio. Pero quien realmente se llevó el gato al agua fue Microsoft con Active Directory.
En realidad, no deja de ser una vuelta más a la norma X.500, un conjunto de estándares de redes informáticas de la ITU sobre servicios de directorio, desarrollado como un protocolo de capa Aplicación, conjuntamente con la ISO como parte del Modelo de interconexión de sistemas abiertos.
Pero volviendo al tema, y para no extendernos demasiado. Un servicio de directorio es un contenedor que proporciona una estructura jerárquica y permite almacenar objetos para su fácil y rápido acceso y manipulación. Un servicio de directorio es como un directorio telefónico electrónico que nos permite buscar el nombre y recuperar el número de teléfono, la dirección u otra información sin saber dónde vive esa persona pero que además nos permite una serie de funciones avanzadas que ahora veremos.
Active Directory es el servicio de directorio desarrollado y mantenido por Microsoft. Gracias a este servicio los administradores de una red Windows pueden administrar de una forma centralizada tareas de control de acceso y recursos para el resto de los clientes o usuarios que componen la red. Con Active Directory básicamente podemos reproducir la estructura de una empresa u organización de manera lógica definiendo las diferentes áreas que se delimitan mediante dominios y a su vez los diferentes departamentos como unidades organizacionales y allí cada objeto.
Active Directory se basa en varios protocolos de red, entre los cuales destacan LDAP, DHCP, KERBEROS y DNS, funcionando como una especie de base de datos, en la cual se van almacenando en tiempo real, datos sobre la identificación de los usuarios que forman parte de una red de ordenadores. Todos estos datos quedan bajo un elemento central de control.
Muchas aplicaciones dentro de una red de Windows dependen de Active Directory. Como puedes imaginar, un fallo del servicio de directorio puede dar lugar a problemas considerables. Para mitigar esto, la base de datos se encuentra distribuida entre múltiples servidores o controladores de dominio que mediante mecanismos de replicación y redundancia garantizan la disponibilidad de servicio.
Profundizando un poco más, Active Directory reproduce la estructura de una organización, incluidos los dispositivos y recursos utilizados. Los denominados dominios, de los que hablaremos un poco más adelante, separan lógicamente las distintas áreas entre sí. Los dominios están estructurados jerárquicamente. Su jerarquía es independiente de la infraestructura de red subyacente. Los objetos administrados en un AD son, por ejemplo, computadoras, servicios, servidores, almacenamiento, impresoras, usuarios, grupos o archivos compartidos.
El administrador de AD puede liberar o bloquear recursos de red para los usuarios. Solo el administrador tiene derecho a cambiar los objetos, sus atributos y la estructura de los servicios de directorio.
Algunas de la ventajas que ofrece un directorio activo son las siguientes:
¿Cómo se estructura un directorio activo? En realidad, no es algo muy difícil de entender. Eso sí, existen unos términos de los que necesitamos familiarizarnos antes, pero en realidad, por simplificar un poco, podemos pensar en un bosque que está formado por diferentes árboles. Aquellos árboles del mismo grupo o especie forman parte de un dominio y así de vamos descendiendo hasta llegar a los objetos, que pueden ser los usuarios, periféricos u otros.
Objetos: Un objeto es la unidad más pequeña administrada en el servicio de directorio, comparable a un solo registro de datos en una base de datos. Describe recursos o dispositivos como computadoras, servicios, servidores, almacenamiento, impresoras, usuarios, grupos o archivos compartidos. Las propiedades de un objeto son los atributos. Los tipos de objetos, las clases, los atributos y la sintaxis de los atributos utilizados generalmente se pueden definir mediante un esquema como una especie de plantilla para todas las entradas del directorio.
Clases: Son los modelos o las plantillas para los tipos de objetos que se pueden crear en Active Directory. Cada clase de objeto es definida por un grupo de atributos, los cuales identifican los posibles valores que puede tomar cada objeto. Cada objeto tiene una combinación única de los valores de atributos.
Esquemas: El mapeo de la estructura de una organización se realiza a través de dominios. Un dominio es un área de red separada lógicamente con las mismas pautas y configuraciones de seguridad.
Unidades Organizativas: Son contenedores de objetos y sirven para organizarlos (con fines netamente administrativos). Se puede delegar la autoridad para administrarlas e incluso asignarles políticas de seguridad especiales a cada una.
Controlador de dominio: El controlador de dominio hace que Active Directory esté disponible para usuarios y dispositivos y maneja la autenticación del usuario y la asignación de roles. La información de Active Directory se almacena en el servidor del controlador de dominio. Para iniciar sesión en el servicio de directorio, buscar objetos o recursos y abordarlos, se debe contactar con el controlador de dominio de antemano.
Dominios: El nombre de un dominio es, por ejemplo, tecnologiandroid.com. Los nombres de un dominio de Active Directory no tienen que corresponder a un dominio de Internet registrado, pero pueden hacerlo. Las estructuras de dominio se pueden configurar independientemente de las estructuras lógicas o físicas existentes de la organización. Cada dominio se identifica con un nombre único basado en las convenciones de nomenclatura del Sistema de nombres de dominio (DNS). Los subdominios parten de un dominio raíz. El nombre completo incluye subdominios y dominio raíz.
Árbol del dominio (Tree): Son dominios agrupados en estructuras jerárquicas: al agregar un segundo dominio en una estructura, este último se convierte en hijo del dominio principal y así sucesivamente. Un ejemplo de ellos sería ba.contoso.com (hijo), donde el árbol de dominio o principal seria contoso.com
Bosque (Forest): Un bosque es una instancia completa de Active Directory, y consiste en uno o más árboles.
Las políticas de grupo son una de las herramientas incluidas en los sistemas operativos de Microsoft. Este instrumento sirve para administrar entornos de usuarios y máquinas, aplicar políticas de IT, simplificar tareas administrativas e implementar configuraciones de seguridad. Y como puedes imaginar, vienen a ser una parte muy importante dentro del directorio activo.
De acuerdo al ámbito de aplicación se pueden catalogar de la siguiente manera:
En definitiva, las políticas permiten controlar y configurar centralizadamente diversos aspectos de la configuración que reciben los distintos usuarios al conectarse a la PC. Dentro de estos aspectos se encuentran las configuraciones de seguridad, ejecución de scripts, configuraciones de escritorios, configuraciones del Internet Explorer, instalación automática de software, etc.
Las políticas se pueden aplicar en distintos niveles del Active Directory, a nivel de Site, a nivel de Dominio y a nivel de Unidad Organizacional (OU).
Las políticas a nivel de OU sólo afectan a los equipos y usuarios que contienen. Las Ous pueden anidarse y a su vez se heredan de los niveles superiores, salvo que se indique lo contrario. No suelen aplicarse políticas a nivel de sitios ya que no es una práctica recomendada.
Las políticas se aplican cuando un usuario inicia sesión o cuando se inicia el equipo, y por defecto cada 90 minutos, aunque este valor puede ser modificado.
La directiva de grupo es una serie de configuraciones en el registro de Windows que controlan la seguridad, la auditoría y otros comportamientos operativos. Podemos considerarlos el pilar central a mantener para construir un directorio activo saludable.
Por ejemplo, la Política de grupo permite evitar que los usuarios accedan a ciertos archivos o configuraciones en el sistema, ejecutar scripts específicos cuando el sistema se inicia o se apaga, o forzar la apertura de una página de inicio en particular para cada usuario de la red.
A continuación, enumeráremos algunas de las mejores prácticas de la Política de grupo de Active Directory que lo ayudarán a proteger sus sistemas y optimizar el rendimiento de la Política de grupo.
No modifiques la Default Domain Policy y Default Domain Controller Policy.
Es mejor utilizar la Default Domain Policy predeterminada para la configuración de la cuenta, el bloqueo de la cuenta, la contraseña y la política Kerberos únicamente; definiendo otras GPO para el resto de configuraciones. A ese nivel la política de dominio predeterminada se aplica a nivel de dominio, por lo que afecta a todos los usuarios y equipos del dominio. Del mismo modo es preferible usar la Default Domain Controller Policy para definir las políticas de asignación de derechos de usuario y auditoría únicamente.
Crea una estructura de unidad organizativa (OU) bien diseñada en Active Directory.
Tener una buena estructura de unidades organizativas facilita la aplicación y la resolución de problemas de la directiva de grupo. No mezcle diferentes tipos de objetos de AD en las mismas unidades organizativas; en su lugar es mejor que separes los usuarios y las computadoras en sus propias OU y luego cree sub OU para cada departamento. Al hacer esto, colocar usuarios y equipos en unidades organizativas independientes, facilitamos la aplicación de políticas informáticas a todos los equipos y las políticas de usuario solo a los usuarios. En otras palabras, es más fácil crear un GPO y vincularlo en muchas OU que vincularlo a una OU y tratar con equipos o usuarios a los que la política no debería afectar.
Dar nombres descriptivos a los GPO.
Esto que parece de perogrullo es en realidad uno de los mayores quebraderos de cabeza a medio y largo plazo.Si no tenemos control y damos nombres genéricos a nuestras GPO, no es ni será la primera vez que no sepamos para quien aplica esa GPO y qué parámetros define. Mejor utiliza los siguientes patrones de nomenclatura:
Agregar comentarios a las GPO.
Además de crear buenos nombres, siempre será una buena práctica el agregar comentarios a cada GPO explicando por qué fue creado, su propósito y qué configuraciones contiene.
No establezca GPO a nivel de dominio.
Cada objeto de directiva de grupo que se establece en el nivel de dominio se aplicará a todos los objetos de usuario y equipo. Esto podría llevar a que se apliquen algunas configuraciones a los objetos que no desea.
Aplicar GPO en el nivel raíz de la unidad organizativa.
La aplicación de GPO a nivel de OU permitirá que las subOU hereden estas políticas; no es necesario vincular la política a cada unidad organizativa secundaria. Si tenemos usuarios o equipos que no queremos que hereden una configuración, siempre podremos ponerlos en su propia unidad organizativa y aplicar una política directamente a esa unidad organizativa.
No utilices las carpetas raíz de Usuarios o Equipos en Active Directory.
Esas carpetas no son unidades organizativas, por lo que no pueden tener GPO vinculados a ellas.
Evita deshabilitar las GPO.
Si una GPO está vinculada a una OU y no queremos que se aplique, es mejor eliminar su vínculo en lugar de deshabilitar el GPO. Eliminar el enlace de una OU no eliminará el GPO; simplemente elimina el enlace de la unidad organizativa y su configuración no se aplica, mientras que deshabilitar el GPO evitará que se aplique por completo en el dominio, lo que podría causar problemas.
Implementar la gestión de cambios para la política de grupo.
La directiva de grupo puede salirse de control si permitimos que todos los administradores realicen los cambios que consideren necesarios. El seguimiento de los cambios en la Política de grupo puede ser difícil porque los registros de seguridad no suelen brindar una imagen completa de exactamente qué configuración se cambió y cómo. Por esa razón, los cambios de GPO más importantes deben discutirse con la gerencia y documentarse completamente. Además, es una buena idea configurar alertas por correo electrónico para los cambios en las GPO críticas.
Evitar el uso de la herencia de políticas de bloqueo y la aplicación de políticas.
Si tienes una buena estructura de unidades organizativas, lo más probable es que puedas evitar el uso de la herencia de políticas de bloqueo y la aplicación de políticas. Esta configuración puede dificultar la resolución de problemas y la administración de GPO. El bloqueo de la herencia de políticas y la aplicación de políticas nunca son necesarios si la estructura de la unidad organizativa está diseñada correctamente.
Utilice pequeñas GPO para simplificar la administración.
Tener GPO pequeñas facilita la resolución de problemas, la administración, el diseño y la implementación. Sin embargo, esto también tiene una contra. Las GPO más grandes con más configuraciones requerirán menos procesamiento al iniciar sesión (ya que los sistemas tienen que realizar menos solicitudes de información de GPO); cargar muchas GPO pequeñas puede llevar más tiempo. Sin embargo, las GPO grandes pueden tener conflictos de configuración de GPO.
Acelerar el procesamiento de GPO al deshabilitar la computadora y las configuraciones de usuario no utilizadas.
Si tenemos una GPO que tiene configuraciones de computadora, pero no configuraciones de usuario, debe deshabilitar la configuración de usuario para esa GPO para mejorar el rendimiento del procesamiento de la directiva de grupo en el inicio de sesión del sistema.
Aquí hay algunos otros factores que pueden causar tiempos de arranque e inicio de sesión lentos:
Scripts de inicio de sesión que descargan archivos grandes
Scripts de arranque que descargan archivos grandes
Mapeo de recursos y unidades que están lejos
Implementación de controladores de impresora enormes sobre las preferencias de la directiva de grupo
Uso excesivo del filtrado de políticas de grupo por pertenencia al grupo de AD
Uso excesivo de filtros WMI
Carpetas personales de usuario aplicadas a través de GPO
Evite el uso de muchos filtros WMI: WMI contiene una gran cantidad de clases con las que puede describir casi cualquier configuración de usuario y computadora. Sin embargo, el uso de muchos filtros WMI ralentizará los inicios de sesión de los usuarios y provocará una mala experiencia de usuario. En su lugar intenta utilizar solo filtros de seguridad sobre WMI, cuando sea posible, porque necesitan menos recursos.
Utiliza el procesamiento de bucle invertido (Loopback) solo para casos de uso específicos: El procesamiento de bucle invertido limita la configuración del usuario al equipo al que se aplica el GPO.
Utiliza “gpresult” para solucionar problemas de procesamiento de GPO: El comando gpresult muestra información de la política de grupo para un usuario y una computadora remotos.
Hacer una copia de seguridad de las políticas de su grupo: Es una excelente idea configurar la copia de seguridad diaria o semanal de las políticas utilizando scripts de Powershell o mediante una solución de terceros para que, en caso de errores de configuración, siempre se pueda restaurar su configuración.
En los controladores de dominio se encuentra centralizada toda la actividad de nuestro entorno de dominio. Es por ello que se recomienda encarecidamente habilitar una directiva de auditoría en todas las estaciones de trabajo y servidores para evitar perderse información importante cuando ocurre un incidente.
Para configurar una directiva de auditoría para estaciones de trabajo y servidores, deberemos crear una nueva directiva de auditoría. Esta será una directiva de auditoría independiente de los controladores de dominio. No aplicaría esta directiva a la raíz del dominio. En su lugar es mejor tener todas las estaciones de trabajo y servidores en una unidad organizativa independiente y aplicar la directiva de auditoría a esta unidad organizativa.
Eventos a monitorizar:
En general se recomienda monitorizar los siguientes eventos:
Para mayor detalle disponemos también de la siguiente lista completa de eventos:
Group Policy Group | Group Policy Option | Event IDs |
---|---|---|
Account Logon | Audit Credential Validation | 4774, 4775, 4776, 4777 |
Audit Kerberos Authentication Service | 4768, 4771, 4772 | |
Audit Kerberos Service Ticket Operations | 4769, 4770 | |
Audit Other Account Logon Events | 4649, 4778, 4779, 4800, 4801, 4802, 4803, 5378, 5632, 5633 | |
Account Management | Audit Application Group Management | 4783, 4784, 4785, 4786, 4787, 4788, 4789, 4790 |
Audit Computer Account Management | 4741, 4742, 4743 | |
Audit Distribution Group Management | 4744, 4745, 4746, 4747, 4748, 4749, 4750, 4751, 4752, 4753, 4759, 4760, 4761, 4762 | |
Audit Other Account Management Events | 4782, 4793 | |
Audit Security Group Management | 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4734, 4735, 4737, 4754, 4755, 4756, 4757, 4758, 4764 | |
Audit User Account Management | 4720, 4722, 4723, 4724, 4725, 4726, 4738, 4740, 4765, 4766, 4767, 4780, 4781, 4794, 5376, 5377 | |
Detailed Tracking | Audit DPAPI Activity | 4692, 4693, 4694, 4695 |
Audit Process Creation | 4688, 4696 | |
Audit Process Termination | 4689 | |
Audit RPC Events | 5712 | |
DS Access | Audit Detailed Directory Service Replication | 4928, 4929, 4930, 4931, 4934, 4935, 4936, 4937 |
Audit Directory Service Access | 4662 | |
Audit Directory Service Changes | 5136, 5137, 5138, 5139, 5141 | |
Audit Directory Service Replication | 4932, 4933 | |
Logon/Logoff | Audit Account Lockout | 4625 |
Audit IPsec Extended Mode | 4978, 4979, 4980, 4981, 4982, 4983, 4984 | |
Audit IPsec Main Mode | 4646, 4650, 4651, 4652, 4653, 4655, 4976, 5049, 5453 | |
Audit IPsec Quick Mode | 4977, 5451, 5452 | |
Audit Logoff | 4634, 4647 | |
Audit Logon | 4624, 4625, 4648, 4675 | |
Audit Network Policy Server | 6272, 6273, 6274, 6275, 6276, 6277, 6278, 6279, 6280 | |
Audit Other Logon/Logoff Events | 4649, 4778, 4779, 4800, 4801, 4802, 4803, 5378, 5632, 5633 | |
Audit Special Logon | 4964 | |
Object Access | Audit Application Generated | 4665, 4666 ,4667, 4668 |
Audit Certification Services | 4868, 4869, 4870, 4871, 4872, 4873, 4874, 4875, 4876, 4877, 4878, 4879, 4880, 4881, 4882, 4883, 4884, 4885, 4886 ,4887, 4888, 4889, 4890, 4891, 4892, 4893, 4894, 4895, 4896, 4897, 4898 | |
Audit Detailed File Share | 5145 | |
Audit File Share | 5140, 5142, 5143, 5144, 5168 | |
Audit File System | 4664, 4985, 5051 | |
Audit Filtering Platform Connection | 5031, 5140, 5150, 5151, 5154, 5155, 5156, 5157, 5158, 5159 | |
Audit Filtering Platform Packet Drop | 5152, 5153 | |
Audit Handle Manipulation | 4656, 4658, 4690 | |
Audit Kernel Object | 4659, 4660, 4661, 4663 | |
Audit Other Object Access Events | 4671, 4691, 4698, 4699, 4700, 4701, 4702 ,5148, 5149, 5888, 5889, 5890 | |
Audit Registry | 4657, 5039 | |
Audit SAM | 4659, 4660, 4661, 4663 | |
Policy Change | Audit Audit Policy Change | 4715, 4719, 4817, 4902, 4904, 4905, 4906, 4907, 4908, 4912 |
Audit Authentication Policy Change | 4713, 4716, 4717, 4718, 4739, 4864, 4865, 4866, 4867 | |
Audit Authorization Policy Change | 4704, 4705, 4706, 4707, 4714 | |
Audit Filtering Platform Policy Change | 4709, 4710, 4711, 4712, 5040, 5041, 5042, 5043, 5044, 5045, 5046, 5047, 5048, 5440, 5441, 5442, 5443, 5444, 5446, 5448, 5449, 5450, 5456, 5457, 5458, 5459, 5460, 5461, 5462, 5463, 5464, 5465, 5466, 5467, 5468, 5471, 5472, 5473, 5474, 5477 | |
Audit MPSSVC Rule-Level Policy Change | 4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4956, 4957, 4958 | |
Audit Other Policy Change Events | 4670, 4909, 4910, 5063, 5064, 5065, 5066, 5067, 5068, 5069, 5070, 5447, 6144, 6145 | |
Privilege Use | Audit Non-Sensitive Privilege Use | 4672, 4673, 4674 |
Audit Sensitive Privilege Use | 4672, 4673, 4674 | |
Audit Other Privilege Use Events | N/A | |
System | Audit IPsec Driver | 4960, 4961, 4962, 4963, 4965, 5478, 5479, 5480, 5483, 5484, 5485 |
Audit Other System Events | 5024, 5025, 5027, 5028, 5029, 5030, 5032, 5033, 5034, 5035, 5037, 5058, 5059, 6400, 6401, 6402, 6403 ,6404, 6405, 6406, 6407, 6408 | |
Audit Security State Change | 4608, 4609 ,4616, 4621 | |
Audit Security System Extension | 4610, 4611, 4614, 4622, 4697 | |
Audit System Integrity | 4612, 4615, 4618, 4816, 5038, 5056, 5057, 5060, 5061, 5062, 6281 | |
Global Object Access Auditing | Registry (GOAA) | N/A |
File System (GOAA) | N/A |
Truco: Para evitar consultar el visor de eventos una alternativa es utilizar PowerShell en su lugar. Por ejemplo:
Es importante definir el tamaño del registro de eventos de seguridad) y la configuración de retención. Si esta configuración no está definida, puede sobrescribir y perder datos de auditoría importantes.
Computer Configuration -> Policies -> Security Settings -> Event Log
Importante: Los registros generados en servidores y estaciones de trabajo de la directiva de auditoría están diseñados para la retención a corto plazo. Para mantener registros de auditoría históricos durante semanas, meses o años, deberemos configurar un sistema de registro centralizado.
Parámetros recomendados:
Para auditar correctamente las cuentas de usuario, debemos asegurarnos de que tenemos configurada la directiva de bloqueo de contraseña y cuenta. Si estamos auditando los bloqueos de cuenta, pero no tienes un umbral de bloqueo establecido, nunca verás esos eventos.
Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Account Policies -> Password Policy
Parámetros recomendados:
Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Account Policies -> Account Lockout Policy
Si todavía tienes dudas o necesitas más información, recomiendo que descargues el Microsoft Security compliance toolkit. En él encontrarás un documento de Excel con la seguridad recomendada y la configuración de auditoría para sistemas Windows 10, servidores miembros y sus controladores de dominio. Además, el kit de herramientas tiene documentos y archivos adicionales para ayudarnos a aplicar la configuración de seguridad y auditoría.
Cuando se habilita una directiva de seguridad y auditoría en todos los sistemas, esos registros de eventos se almacenan localmente en cada sistema. Pero cuando necesitamos investigar un incidente o ejecutar informes de auditoría, además de pasar por cada registro individualmente en cada equipo puede que la información no esté disponible porque simplemente alguien la ha podido borrar. La centralización de los registros nos ahorrará vivir esa pesadilla y garantizará que los registros estén disponibles.
Y llegamos al final. Nos ha salido un artículo un poco largo, pero creo que aquí se condensan aspectos clave para entender qué es y cómo funciona Active Directory, además de algunos consejos para no volvernos locos de remate durante su administración. Por supuesto nos hemos dejado un montón de cosas en el tintero, pero iremos hablando de ello en próximos artículos.
Ya por último, si te ha picado el gusanillo, me gustaría compartir contigo los siguientes enlaces para ampliar información:
No te olvides de compartir este artículo y dejar tus comentarios.
También te puede interesar
Aprende a utilizar PowerShell desde cero con este curso de PowerShell para principiantes y saca todo el potencial...
Si te estás planteando cambiar de Windows a Linux, te contamos unas impresiones generales y unos consejos para migrar entre ambos Sistemas...
Aprende de forma práctica a gestionar procesos y servicios que están corriendo y siendo lanzados a través de instrucciones de comandos Shell...