1.2K
En Windows, puede usar el “Iniciar sesión como un servicio” Opción de directiva de grupo para permitir que los servicios se ejecuten con cuentas de usuario y no en el contexto de un sistema local, un servicio local o un servicio de red.
Esta política permite que ciertas cuentas inicien un proceso como un servicio de Windows en nombre de un usuario. Cuando se inicia este proceso, se registra como un servicio.
El derecho de usuario «Iniciar sesión como servicio» permite iniciar los servicios de red de Windows que se ejecutan continuamente en la computadora bajo la cuenta de usuario, incluso si nadie está conectado a la consola de la computadora (servidor). Además, este método le permite iniciar de forma segura servicios de terceros para los que no desea otorgar privilegios de sistema local. Es mucho más seguro ejecutar servicios de terceros en nombre de un usuario que no es administrador. El riesgo de usar cuentas de servicio para ejecutar servicios se reduce porque solo los usuarios locales con permisos de administrador pueden instalar y configurar los servicios de Windows.
Habilitar la opción de política de grupo de inicio de sesión como servicio
Ejecute el Editor de directivas de grupo local (gpedit.msc) o de dominio (gpmc.msc) y vaya a la siguiente sección de GPO: Configuración del equipo > Configuración de Windows > Configuración de seguridad > Políticas locales > Asignación de derechos de usuario. Encuentra el Iniciar sesión como un servicio política.
Tenga en cuenta que en Windows Server 2022, 2019, 2016 y Windows 10, el grupo «NT SERVICEALL SERVICES» se agrega a esta política de forma predeterminada.
Al instalar el rol de Hyper-V en Windows, se agrega adicionalmente el grupo «NT VIRTUAL MACHINESVirtual Machines» (SID S-1-5-83-0). Al instalar el servidor web IIS con .NET Framework, se agrega la cuenta IIS APPPOOL.NET v4.5.
La instalación del servidor web IIS con .NET Framework agrega las cuentas «IIS APPPOOL.NET v4.5» y «IIS APPOOLDefaultAppPool».
Pista. También puede cambiar la política local de inicio de sesión como servicio a través de política de seguridad local consola. Para ello, abra el Panel de control de Windows > Política de seguridad local > Configuración de seguridad > Políticas locales > Asignaciones de derechos de usuario (o ejecute el secpol.msc comando) y modificar la política.
Haga doble clic en el inicio de sesión como un servicio política, haga clic en el Agregar usuario o grupo y especifique la cuenta o el grupo al que desea otorgar los permisos para ejecutar los servicios de Windows.
Para aplicar la nueva configuración, ejecute el comando gpupdate:
gpupdate /force
referente. Obtenga información sobre cómo configurar la sincronización de hora NTP mediante la directiva de grupo.
¿Cómo iniciar un servicio con una cuenta específica?
Ahora puede iniciar la consola de administración de servicios (services.msc) e intentar configurar el inicio de cualquier servicio desde una cuenta de usuario: seleccione servicio > Propiedades > pestaña Iniciar sesión > Iniciar sesión como > Esta cuenta > seleccione cuenta y configure una contraseña.
Aparece un mensaje:
A la cuenta .admin se le ha otorgado el derecho Iniciar sesión como servicio.
Al usar esta política, asegúrese de que el usuario o grupo no se agregue a otra política llamada «Denegar inicio de sesión como servicio”. En esta política, puede especificar qué cuentas de usuario no pueden ejecutar servicios. Si el usuario se agrega simultáneamente a «Denegar inicio de sesión como servicio» y «Iniciar sesión como un servicio” políticas, la política de denegación tendrá prioridad. Esos, cuando se inicia el servicio, aparece un mensaje:
Servicios
Windows no pudo iniciar el servicio xxxx en la computadora local. Error 1069: el servicio no se inició debido a una falla de inicio de sesión.
Nota. Obtenga información sobre cómo exportar todas las políticas de grupo a un informe HTML.
También puede cambiar la cuenta con la que se ejecuta un servicio en particular desde la línea de comandos. Puede activar esta tarea usando el integrado sc.exe herramienta de consola Para iniciar el servicio MyWallService con la cuenta de dominio ca_srvsvc, ejecute el comando:
sc.exe config "MyWallService" obj= "theitbrosca_srvsvc" password= "userpassword5" type= own
* Donde userpassword5 es la contraseña de la cuenta de servicio.
Si ingresó todo correctamente, aparecerá un mensaje:
[SC] ChangeServiceConfig ÉXITO.
También puede usar PowerShell para configurar las credenciales de la cuenta de usuario en la configuración del servicio. En este ejemplo, usaremos la API de administración de servicios a través de WMI (solo se aplica a Windows PowerShell 2.x – 5.1):
$account="theitbrosca_srvsvc" $password="userpassword5" $service="name=MyWallService" $svc=gwmi win32_service -computer [computername] -filter $service $svc.StopService() $svc.change($null,$null,$null,$null,$null,$null,$account,$password,$null,$null,$null) $svc.StartService()
Tenga en cuenta que WMI le permite cambiar las credenciales para ejecutar un servicio de forma remota. solo reemplaza [computername] con el nombre de la computadora remota donde desea configurar el servicio o use un punto (.) si desea cambiar las credenciales en la computadora local.
Nota. Consulte nuestra solución para el problema de procesamiento de la política de grupo.
Para cambiar de forma remota solo la contraseña de la cuenta con la que se ejecuta el servicio, utilice el siguiente script de PowerShell:
$svc=gwmi win32_service -computer . -filter $service $svc.StopService() $service.change($null,$null,$null,$null,$null,$null,$null,$password) $svc.StartService()
Los siguientes atributos de UserAccountControl suelen estar habilitados para una cuenta de servicio en Active Directory:
- La contraseña nunca expira.
- El usuario no puede cambiar la contraseña.
Pista. En las versiones modernas de Windows Server en un dominio de Active Directory, es preferible utilizar tipos especiales de cuentas de servicio: Cuentas de servicio administradas (MSAobjeto de tipo msDS-ManagedServiceAccount) o Cuentas de servicio administradas de grupo (gMSA, objeto de tipo msDS-GroupManagedServiceAccount). Estos son tipos especiales de objetos de AD creados específicamente para ejecutar de forma segura los servicios del sistema, los scripts y los trabajos del programador. Para estas cuentas de servicio, se genera una contraseña compleja en Active Directory y se cambia automáticamente cada 30 días (de forma predeterminada). Dichas cuentas de servicio pueden cambiar sus contraseñas de forma independiente en Active Directory. En este caso, la contraseña no se almacena en la computadora local (no se puede recuperar del proceso LSAS), no se puede usar para el inicio de sesión interactivo y el protocolo Kerberos seguro se usa para la autenticación (Introducción a las cuentas de servicio administradas por grupos).
Es recomendable minimizar la cantidad de cuentas de usuario a las que otorga permisos de «Inicio de sesión como servicio». Para minimizar los riesgos de seguridad, debe deshabilitar las sesiones interactivas e interactivas remotas para las cuentas de servicio. Esto se describe a menudo en las mejores prácticas.