¿Cómo minimizar los riesgos que olvidan incluso los administradores experimentados?
Microsoft Active Directory es, probablemente, uno de los recursos más atacados que se pueden usar localmente. Esto se debe a que, literalmente, todo lo relacionado con la identificación en recursos locales e incluso en entornos cloud híbridos, proviene de Active Directory.
Windows proporciona a los usuarios muchos privilegios y roles. Sin embargo, a menudo es necesario restringir los roles para cuentas de servicio especializadas, llamadas cuentas de servicio. Estas cuentas de Active Directory tienen un acceso más profundo a la infraestructura del SO y controlan la instalación de aplicaciones y servicios principales, lo que las convierte en objetivos prioritarios para los ataques.
Dos aspectos se vuelven críticos: la protección de dichas cuentas y la definición clara de las zonas funcionales. ¿Cómo se implementa esto? Consideremos tres tipos de cuentas de servicio en Active Directory y analicemos las diez mejores prácticas para su protección.
¿Qué son las cuentas de servicio?
Las cuentas de servicio de Active Directory son registros especializados que, a diferencia de las cuentas de usuario normales, no están diseñadas para iniciar sesión en servidores o estaciones de trabajo. En cambio, se utilizan para ejecutar servicios en servidores Windows y realizar funciones especiales relacionadas con las aplicaciones.
En Active Directory, los derechos de acceso están vinculados a las cuentas de usuario y de computadora. Una cuenta de servicio juega un papel especial, proporcionando al objeto los derechos vinculados a él, para que las aplicaciones puedan autenticarse en el dominio de Active Directory.
Dado que las aplicaciones a menudo requieren derechos avanzados para funcionar, estas cuentas suelen ser el objetivo de los ataques. Los atacantes saben que, al obtener acceso a una cuenta de servicio, pueden obtener amplios derechos en todo el sistema.
Tipos de cuentas de servicio
Antes de proteger las cuentas de servicio en Active Directory, es importante familiarizarse con cada uno de sus tipos.
- Cuentas de usuario locales: incluyen registros como la cuenta System (local, con privilegios multinivel), la cuenta Local Service (acceso sin credenciales a los servicios de red) y Network Service (acceso más amplio a los servicios de red con credenciales).
- Cuentas de usuario de dominio: se gestionan a través de Active Directory y se utilizan para servicios. Pueden incluir una cuenta por servicio o una cuenta utilizada por varios servicios. Periódicamente se requiere un cambio de contraseña, y el acceso está limitado por los privilegios definidos para servicios específicos.
- Cuentas de servicio administradas (MSA): se rigen por las reglas de Active Directory, y cada registro solo puede tener un usuario por computadora. Sin embargo, un registro puede servir a varios servicios, y el cambio de contraseña se realiza automáticamente.
- Cuentas de servicio administradas grupales (gMSA): son similares a las MSA, pero están diseñadas para un uso a gran escala en varios servidores o servicios, proporcionando una solución más segura y escalable.
Las cuentas administradas suelen ser las más seguras. Se benefician del estricto control de acceso a través de Active Directory, implementando eficazmente el control de acceso basado en roles (RBAC) y la automatización del mantenimiento, incluida la rotación de contraseñas y las tareas programadas de PowerShell.
Diez mejores prácticas para proteger las cuentas de servicio de Active Directory
Las opiniones siempre diferirán en materia de seguridad y control. Por otro lado, existen principios que la mayoría de los especialistas consideran útiles para la gestión de cuentas de servicio. Son necesarios para mejorar la seguridad y optimizar la gestión de tareas.
#1. Otorga privilegios de forma económica
Una de las primeras cosas en las que debes pensar al trabajar con cuentas de servicio es aplicar el principio de privilegios mínimos. Al igual que cualquier otra cuenta de usuario, las cuentas de servicio deben tener solo el conjunto mínimo de permisos absolutamente necesarios para realizar la tarea asignada.
Si los administradores aplican privilegios y permisos de muy alto nivel a las cuentas de servicio, por ejemplo, les otorgan el estado de administrador de dominio o de empresa, esto puede ser muy peligroso. Al hackear dicha cuenta, un posible atacante obtendrá inmediatamente todo lo necesario para “poseer” el dominio y configurar la persistencia en todas las direcciones.
En lugar de aplicar permisos de grupo potencialmente peligrosos a las cuentas de servicio, como los administradores de dominio, aplica solo permisos muy detallados a la cuenta de servicio requerida. Este método limitará el daño causado en caso de que se piratee una cuenta de servicio.
#2. Utiliza cuentas de servicio administradas (MSA) y cuentas de servicio administradas grupales (gMSA)
Las cuentas de servicio especializadas, incluidas las cuentas de servicio administradas (MSA) y las cuentas de servicio administradas grupales (gMSA), son mucho más fáciles de usar que las cuentas de usuario tradicionales. Ofrecen ventajas adicionales en términos de seguridad. Con MSA y gMSA, podrás cambiar contraseñas automáticamente y gestionar su rotación para no tener que hacerlo manualmente.
Son intrínsecamente mejores en términos de seguridad, ya que no se pueden utilizar para iniciar sesión de forma interactiva o para otros fines no relacionados con el servicio.
#3. Realiza auditorías periódicas
Las cuentas de servicio son uno de los objetos más importantes en Active Directory para monitorear, ya que son uno de los tipos de cuentas más atacados. El monitoreo de las cuentas de servicio y su uso puede ayudar a identificar comportamientos sospechosos.
Es necesario revisar periódicamente todas las cuentas de servicio y los registros de actividad para saber con exactitud qué hacen los usuarios, qué permisos tienen y si algún permiso infringe las reglas de seguridad preestablecidas. De esta manera, la auditoría puede detectar acciones sospechosas o vulnerabilidades, tanto pasivas como activas.
Active Directory tiene una herramienta de auditoría integrada que puede rastrear los eventos de inicio de sesión, los cambios en la cuenta y otros tipos de acciones. Sin embargo, su uso no es muy conveniente sin alguna herramienta de terceros que ayude a agregar estos eventos y dar una idea de lo que ves.
Las herramientas de terceros se pueden utilizar para alertar sobre comportamientos sospechosos o eventos de auditoría que puedan indicar que alguien está intentando comprometer tu entorno.
#4. Implementa políticas de contraseñas seguras
La contraseña es quizás el aspecto más importante de la seguridad de una cuenta. La aplicación de políticas de contraseñas seguras es extremadamente importante para garantizar que las cuentas de servicio tengan contraseñas que sean difíciles de comprometer.
MSA y GMSA administran las contraseñas por ti. Sin embargo, las políticas estrictas de uso de contraseñas en todas las direcciones, incluidas las cuentas de usuario, ayudan a mejorar la seguridad general de tu entorno de servicios de dominio de Active Directory (AD DS).Considera la posibilidad de utilizar políticas de contraseñas que cumplan con los siguientes requisitos:
- Contraseñas largas y complejas, con al menos 16 caracteres, que incluyan letras, números y caracteres especiales;
- Cambia las contraseñas con regularidad y evita el uso de contraseñas codificadas de forma rígida o reutilizadas;
- Utiliza soluciones especializadas para la gestión de contraseñas.
#5. Limita el uso de la cuenta de servicio y controla el acceso del proveedor
Las cuentas de servicio nunca deben utilizarse para iniciar sesión de forma interactiva. Están diseñadas para un uso específico y solo deben utilizarse para los servicios necesarios para las aplicaciones. No utilices la misma cuenta de servicio para varios servicios. La creación de cuentas de servicio únicas para cada servicio las hace únicas y limita la superficie de ataque.
Es posible que los proveedores externos necesiten acceder a la cuenta de servicio para solucionar problemas. Por eso, es recomendable limitar el acceso a los equipos a los que puede acceder la cuenta de servicio.
Un entorno favorable para los proveedores puede ser la configuración de cuentas de proveedor especializadas que tengan acceso a un intermediario de máquina virtual. Desde allí, pueden conectarse fácilmente a los sistemas de destino sin crear riesgos para tu infraestructura.
#6. Desactiva las cuentas de servicio no utilizadas
Es extremadamente importante llevar un registro en términos de gestión del ciclo de vida de las cuentas de servicio de Active Directory. Si las cuentas de servicio ya no se utilizan o no son necesarias en el entorno, deben desactivarse. Dejar activas las cuentas de servicio que ya no son necesarias se convierte rápidamente en un serio problema de seguridad, ya que a menudo tienen acceso de alto nivel que pueden aprovechar los atacantes. Los administradores del sistema deben encontrar periódicamente cuentas obsoletas o no utilizadas y limpiarlas.
La consulta de cuentas mediante PowerShell para buscar cuentas que no se hayan utilizado para iniciar sesión durante “X” días es una buena manera de encontrar cuentas de servicio inactivas u obsoletas, además de las cuentas obsoletas habituales.
#7. Roles separados de cuentas de servicio
La separación de roles de cuentas de servicio es una excelente manera de dividir los roles y permisos entre diferentes objetos de cuentas de servicio. Crea cuentas de servicio que solo se utilicen para los servicios de aplicaciones. Luego, crea cuentas separadas para la red, la base de datos y otros tipos de servicios, cada una con cuentas únicas separadas. Esta metodología ayuda a reducir el riesgo de que se piratee cualquier cuenta individual y limita los recursos relacionados.
#8. Utiliza la autenticación multifactor (MFA) siempre que sea posible
Una de las mejores maneras de mejorar la seguridad de la autenticación es agregar la autenticación multifactor al proceso de inicio de sesión interactivo. Por supuesto, las cuentas de servicio no deben utilizarse para iniciar sesión de forma interactiva. Sin embargo, puede haber casos extremos en los que sea necesario utilizar una cuenta de servicio específica para iniciar sesión. En este caso, siempre compruebe si la autenticación multifactor está activada en la cuenta.
Además, la implementación de la autenticación multifactor para todas las cuentas de usuario es una excelente manera de mejorar la seguridad de tu entorno de Active Directory. Si mejoras la seguridad de todos los usuarios, la probabilidad de que se piratee una cuenta de servicio disminuirá considerablemente.
#9. Utiliza unidades organizativas dedicadas para cuentas de servicio
Organizar el trabajo con cuentas de servicio te ayudará en la gestión y la seguridad. La creación de una unidad organizativa (OU) especial en Active Directory para las cuentas de servicio te ayudará a gestionarlas de forma coherente y a aplicar políticas de grupo a todas las cuentas de servicio del entorno. Esto también simplifica el monitoreo de las cuentas de servicio si se encuentran en una misma OU.
#10. Revisa periódicamente las dependencias y el acceso a las cuentas de servicio
Aunque el nivel de acceso para una cuenta de servicio pueda ser adecuado en la actualidad, estas necesidades y niveles de acceso pueden cambiar en el futuro. Asegúrate de revisar periódicamente las dependencias y el acceso de la cuenta de servicio para asegurarse de que estos niveles siguen siendo necesarios y adecuados.
También determina qué aplicaciones, servicios o scripts pueden necesitar la cuenta de servicio y asegúrate de que estas cuentas estén configuradas y protegidas correctamente. Estos pasos ayudan a prevenir el acceso no autorizado y reducen el riesgo de obtener demasiados permisos o permisos innecesarios.
Conclusión
Las cuentas de servicio en Active Directory son un elemento clave de la seguridad de la infraestructura, que a menudo es el objetivo de los ataques. La protección de dichas cuentas requiere el estricto cumplimiento del principio de privilegios mínimos y comprobaciones periódicas.
Utiliza MSA y gMSA para la rotación automática de contraseñas, configura la autenticación multifactor y aplica políticas de grupo a través de OU dedicadas.
Las auditorías periódicas y el control de acceso te ayudarán a detectar anomalías y a prevenir incidentes de forma oportuna. Un enfoque integral para la gestión de cuentas es la clave de la seguridad de tu entorno corporativo.