Sean Deuby

Dentro de su infraestructura de TI, Active Directory (AD) es el eje central para controlar el acceso a los recursos y mantener su negocio operativo. Sin embargo, la importancia de Active Directory para su organización lo pone en el punto de mira de los actores de amenazas. Si se consigue vulnerar Active Directory, los atacantes pueden hacerse con credenciales privilegiadas y poner en peligro la seguridad de los datos de la empresa o afectar a las aplicaciones. Implementar las mejores prácticas de seguridad de Active Directory es, por tanto, una parte importante de la planificación de una política de seguridad digital.

¿Cuáles son las mejores prácticas de seguridad de Active Directory?

Proteger Active Directory significa hacer la vida lo más difícil posible a los ciberatacantes. Estas 12 mejores prácticas de seguridad de Active Directory pueden ayudarle a reducir el riesgo de violación de la seguridad y aumentar su resistencia cibernética. El objetivo: reducir la superficie de ataque para proteger y reforzar su entorno de Active Directory.

  1. Mantener un número mínimo de usuarios con privilegios.
  2. Utiliza grupos para asignar privilegios.
  3. Cuentas seguras con privilegios de administrador.
  4. Aplique políticas de contraseñas modernas.
  5. Imponga contraseñas seguras en las cuentas de servicio.
  6. Realice evaluaciones periódicas para detectar infracciones de la política de contraseñas.
  7. Desactive el servicio Print Spooler.
  8. Desactive Server Message Block v1 (SMBv1) y restrinja New Technology LAN Manager (NTLM).
  9. Restringir el acceso a los controladores de dominio (DC).
  10. Planifique la recuperación de Active Directory.
  11. Utilizar el filtrado SID en todos los fideicomisos forestales.
  12. Supervise Active Directory para detectar actividades sospechosas y configuraciones inseguras.

¿Listo para empezar?

1. Mantener un número mínimo de usuarios con privilegios

Los usuarios con privilegios excesivos desafían directamente los requisitos de seguridad y cumplimiento normativo. Si se ponen en peligro, estas cuentas permiten a los atacantes hacerse un hueco más grande en su entorno. La gestión de usuarios con privilegios es una parte crucial de la gestión general de Active Directory, pero también puede llevar mucho tiempo. Las grandes empresas pueden tener cientos de cuentas en grupos privilegiados.

A algunas cuentas se les pueden conceder permisos excesivos para que las nuevas aplicaciones funcionen rápidamente. Otras pueden haber heredado permisos que ya no necesitan. Si eres el responsable de conceder el acceso, para resolver este problema deberás comprender el principio del mínimo privilegio y utilizarlo para determinar qué permisos necesita cada usuario o grupo para realizar su trabajo con eficacia.

Comience por revisar los siguientes grupos para verificar que cada miembro tiene una razón legítima para ser incluido:

  • Administradores de empresa
  • Administradores de esquemas
  • Administradores de dominio
  • Operadores de cuenta (si procede)
  • Operadores de servidores (si procede)
  • Operadores de impresión (si procede)
  • Administradores DHCP
  • DNSAdmins

2. Utilizar grupos para asignar privilegios

El uso de grupos simplifica el proceso de asignación de permisos a los usuarios. En lugar de gestionar los permisos individualmente (lo que puede dar lugar a errores), organiza a los usuarios en grupos y luego asigna los permisos adecuados a esos grupos.

Un grupo de usuarios puede representar una unidad de negocio o un equipo interno en el que los usuarios tienen necesidades idénticas en cuanto a derechos de acceso. Determinar quién debe pertenecer a cada grupo (por ejemplo, quién actúa como administrador de dominio o administrador de esquema) y qué derechos deben tener esos grupos requiere comunicación entre el equipo de administración de Active Directory y las partes interesadas del negocio.

3. Cuentas seguras con privilegios de administrador

Cuando se crea un dominio en Active Directory, la cuenta de administrador local se convierte en la cuenta de administrador del dominio y en miembro por defecto de los grupos Administradores de dominio y Administradores del dominio. Si el dominio es el dominio raíz del bosque, la cuenta también se convierte en miembro del grupo Enterprise Admins.

Para proteger esta cuenta, Microsoft recomienda establecer el indicador "La cuenta es confidencial y no se puede delegar". Compruebe también que los objetos de directiva de grupo (GPO) están configurados para restringir el uso de las cuentas de administrador de dominio y administrador integrado en los sistemas unidos a un dominio. En concreto, bloquee estas cuentas para que no puedan:

  • Acceso a los servidores y estaciones de trabajo de los miembros
  • Inicio de sesión como trabajo por lotes
  • Iniciar sesión como servicio
  • Acceso a servidores y estaciones de trabajo miembros mediante Servicios de Escritorio Remoto

4. Aplicar políticas modernas de contraseñas

En el centro de cada ataque empresarial o violación de la seguridad suele haber una credencial de contraseña robada. Además de utilizar dichas credenciales para el acceso inicial, los actores de la amenaza pueden utilizarlas para moverse lateralmente por el entorno comprometido.

Por este motivo, la seguridad de las contraseñas es primordial. Sin embargo, la experiencia en grandes proveedores de servicios en la nube ha demostrado que las políticas de contraseñas tradicionales son inadecuadas contra los ataques modernos. El NIST y otras grandes organizaciones han actualizado sus políticas de contraseñas para reconocer esta realidad.

Los ataques de fuerza bruta contra los servicios de Internet han disminuido. Han sido sustituidos por los ataques de pulverización de contraseñas, en los que se intentan utilizar contraseñas comunes muy conocidas contra muchos usuarios de una organización. En la actualidad, este tipo de ataques son habituales y, a menudo, tienen éxito. Estos ataques aprovechan la tendencia de los usuarios a crear contraseñas fáciles de recordar y de adivinar.

Una mejor estrategia es centrarse primero en eliminar las contraseñas comunes de Active Directory. Esto se puede conseguir con filtros de contraseñas de terceros o con Microsoft Azure AD Password Protection.

El segundo paso para una política de contraseñas segura es reconocer que imponer la complejidad puede conducir a contraseñas que los usuarios no puedan recordar y a patrones fácilmente reconocibles que los atacantes puedan descifrar rápidamente. En su lugar, fomente la longitud de la contraseña o frase de contraseña, con la adición de números y caracteres especiales, que permitan contraseñas fáciles de recordar para los usuarios pero difíciles de adivinar para los atacantes.

Por ejemplo, la contraseña Implicate-Research1-Uncooked puede recordarse fácilmente, pero (según la herramienta de seguridad de contraseñas Bitwarden) se tardaría siglos en descifrarla. Tanto las fuentes en línea como los principales gestores de contraseñas contienen utilidades para generar frases de contraseña. Un usuario puede simplemente ir generando hasta que encuentre una contraseña que pueda recordar.

Por último, se desaconseja exigir la caducidad de las contraseñas. La experiencia ha demostrado que la rotación obliga a los usuarios a utilizar patrones de contraseñas fáciles de descifrar. Si una organización ha sido violada o las credenciales de un usuario se han visto comprometidas, las contraseñas deben actualizarse. De lo contrario, déjelas como están.

Aplique simultáneamente todos estos controles: prohibir las contraseñas comunes, reducir la complejidad, aumentar la longitud y desactivar la caducidad de las contraseñas. De lo contrario, corres el riesgo de crear contraseñas fáciles de descifrar.

Otra buena práctica: Aproveche la función de política de contraseñas detallada. Aunque los administradores pueden utilizar la política de dominio predeterminada para establecer una única política de contraseñas para todos los miembros del dominio, las políticas de contraseñas detalladas permiten a los administradores establecer contraseñas más estrictas para usuarios individuales y grupos globales.

5. Imponer contraseñas seguras en las cuentas de servicio

Kerberoasting es la forma más común de comprometer una cuenta privilegiada y obtener el control de un servidor Active Directory. Los ataques Kerberoasting han ido en aumento, según algunas estimaciones han aumentado más del 500% desde principios de 2022.

En esta técnica, un actor de amenaza comienza por obtener acceso de usuario regular a través de phishing u otro método. Con ese acceso, el atacante puede obtener fácilmente una lista de cuentas de servicio enumerando los nombres principales de servicio (SPN) en Active Directory.

A continuación, el atacante correlaciona estas cuentas con la pertenencia a grupos privilegiados para obtener una lista de cuentas de servicio privilegiadas. A continuación, el actor de la amenaza solicita un vale de servicio Kerberos a una de estas cuentas privilegiadas. Este vale se cifra con el hash de la contraseña de la cuenta de servicio, que el atacante puede descifrar normalmente sin conexión.

Con el hash de la contraseña de la cuenta de servicio crackeada, el actor de la amenaza puede obtener rápidamente el control de Active Directory. Un ataque Kerberoasting exitoso puede comprometer un bosque de Active Directory en cuestión de minutos.

La única forma de combatir un ataque Kerberoasting es hacer que las contraseñas de las cuentas de servicio sean extremadamente difíciles de descifrar:

  • Utilice un mínimo de 25 caracteres.
  • Utilice un generador de contraseñas para crear una contraseña larga, compleja y altamente entrópica y guárdela en una caja fuerte de contraseñas.
  • Considera la posibilidad de utilizar una cuenta de servicio gestionada por grupo (gMSA) que rote automáticamente las contraseñas complejas. (Antes, sin embargo, asegúrate de que estás familiarizado con las posibles vulnerabilidades relacionadas con las gMSA).

6. Realizar evaluaciones periódicas para detectar infracciones de la política de contraseñas.

Las revisiones periódicas de las políticas y configuraciones de contraseñas pueden ayudar a detectar problemas que pueden exponer Active Directory a ataques. Por ejemplo, examine cualquier cuenta con el indicador PASSWD_NOTREQD activado. Además, examine las cuentas configuradas para permitir el acceso anónimo a Active Directory, lo que permite a los usuarios no autenticados consultar Active Directory.

7. Desactive el servicio Print Spooler

El servicio Print Spooler gestiona los procesos de impresión y se ejecuta por defecto en los clientes y servidores de Windows. Aunque eso parece estar bien en la superficie, cualquier usuario autenticado puede conectarse remotamente al servicio, solicitar una actualización de los nuevos trabajos y decirle al DC que envíe la notificación al sistema con una delegación sin restricciones. Y eso expone la credencial de la cuenta del ordenador del DC. Debido al riesgo, la mejor práctica es deshabilitar el servicio en todos los DCs.

8. Desactivar SMBv1 y restringir NTLM

Los DC que activan el protocolo SMBv1 también están en riesgo. Microsoft dejó obsoleto SMBv1, que es vulnerable a múltiples ataques, en 2014 y recomienda desactivarlo.

Del mismo modo, restrinja el uso de NTLM. Muchas organizaciones tardan en desactivar NTLM debido al impacto que esta acción puede tener. Sin embargo, los responsables de TI deberían plantearse limitar su uso en la medida de lo posible.

9. Restringir el acceso a los controladores de dominio

Las organizaciones deben restringir el acceso a los controladores de dominio para limitar la amenaza de que el DC se vea comprometido por malware:

  • No debe permitirse navegar por Internet en el DC.
  • Los GPO vinculados a todas las unidades organizativas de DC de un bosque deben configurarse sólo para permitir conexiones de Protocolo de Escritorio Remoto (RDP) de usuarios y sistemas autorizados.

10. Plan de recuperación de Active Directory

Establecer un plan de recuperación de Active Directory completo y detallado es una parte crucial de la creación de ciberresiliencia. Las organizaciones deben realizar copias de seguridad de al menos dos DC por dominio, incluido el dominio raíz. Estas copias de seguridad deben mantenerse offline para evitar que sean infectadas por malware.

11. Utilizar el filtrado SID en todos los fideicomisos forestales

Para comprender la importancia del filtrado SID para la seguridad, considere cómo se gestiona el control de acceso a Active Directory entre bosques.

Una confianza de bosque conecta dos bosques de Active Directory para permitir a los usuarios de un bosque acceder a los recursos del otro. Los fideicomisos forestales son esenciales para mantener el acceso en una organización con varios bosques. En un escenario común, los usuarios de un bosque de cuentas centralizado acceden a aplicaciones (como servidores de archivos o servidores SharePoint) en uno o más bosques de recursos.

Cada usuario, grupo o equipo (conocidos como principales de seguridad) en un dominio y bosque de Active Directory tiene un identificador de seguridad (SID) único. Este identificador se utiliza en el token de acceso del usuario para conceder acceso a recursos en todo el bosque mediante listas de control de acceso (ACL).

En Intel me encontré con un problema relacionado con los SID mientras probaba las versiones beta de Active Directory: Cuando migrábamos un usuario a un nuevo bosque de Active Directory, el usuario perdía el acceso a los recursos de su bosque de origen. Esto ocurría porque el SID que se concedía al usuario en el nuevo bosque difería del SID original del usuario. Por lo tanto, perdió la autorización para acceder al recurso.

Steve Grobman (actual director de tecnología de McAfee) propuso a Microsoft la idea de un atributo que contuviera el SID original del bosque de origen, conservando así el acceso a los recursos originales. Microsoft aceptó esta solicitud de cambio de diseño y nació el atributo sIDHistory. Durante cualquier proyecto de migración o consolidación de Active Directory, sIDHistory es esencial para mantener el acceso de los usuarios a los recursos del bosque de origen cuando el usuario ha migrado al bosque de destino pero los recursos no.

Sin embargo, una vez finalizado el proyecto de migración o consolidación, sIDHistory debe eliminarse. Un actor de amenazas con derechos elevados podría aprovechar sIDHistory para copiar un SID de un dominio de confianza (por ejemplo, el SID de un miembro del grupo Domain Admins) y agregarlo al atributo sIDHistory de una entidad de seguridad en el dominio de confianza, otorgando así al atacante derechos de administrador en el dominio de confianza.

Aquí es donde entra en juego el filtrado de SID. Elimina todos los SID ajenos (es decir, no del dominio local) del token de acceso del usuario, evitando así este ataque de escalada. El filtrado SID debería estar activado en todos los fideicomisos forestales a menos que se esté llevando a cabo un proceso de migración o consolidación.

Por desgracia, según mi experiencia, la mayoría de los proyectos de migración y consolidación nunca terminan realmente. Simplemente se agotan durante la fase más difícil de migración de aplicaciones, y el historial de SID se deja activado para que los usuarios puedan seguir accediendo a sus recursos originales.

Tenga en cuenta que ciertos errores de configuración pueden reducir la eficacia del filtrado SID. Por ejemplo:

  • Los fideicomisos forestales salientes que tienen el indicador TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL establecido en true tratan un fideicomiso forestal cruzado a un dominio como un fideicomiso externo, relajando el filtrado más estricto realizado en los fideicomisos forestales cruzados.
  • Los certificados con los atributos TRUST_ATTRIBUTE_ CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION o TRUST_ATTRIBUTE_ PIM_TRUST permiten delegar un vale Kerberos, lo que reduce la protección que ofrece el filtrado SID.

12. Supervisar Active Directory para detectar actividades sospechosas y configuraciones no seguras.

Los atacantes suelen explotar configuraciones que les permiten escalar rápidamente privilegios y persistir sin ser detectados en su entorno. Por lo tanto, audite y supervise periódicamente los derechos de acceso para detectar cualquier indicio de que se está produciendo un ataque o de que su organización es vulnerable a un ataque.

Algunos objetos, como el objeto AdminSDHolder , rara vez se modifican de forma legítima. El objeto AdminSDHolder sirve como plantilla de permisos para grupos y cuentas protegidas en un dominio. Si la herencia está activada, un atacante podría intentar alterar los permisos de los objetos privilegiados controlados por AdminSDHolder.

Los administradores deben saber que se ha realizado una modificación y ser capaces de articular la razón de la misma. Si la modificación no fue intencionada, la probabilidad de compromiso es alta. Supervisar este tipo de actividad es fundamental para detectar rápidamente los ataques y evitar que se exploten las configuraciones.

Cómo puede ayudarle Semperis a proteger Active Directory

Semperis ofrece soluciones de evaluación y recuperación de la seguridad de Active Directory para ayudarle a centrar sus esfuerzos.

Proteger Active Directory puede parecer una tarea monumental. Adoptando las mejores prácticas para la seguridad de Active Directory, puede aumentar el nivel de dificultad para los atacantes y mejorar la postura general de seguridad de su entorno.