Asegurar un proceso de los usuarios locales

6

Necesitamos un método para ejecutar un proceso en una máquina de usuarios en el que un usuario local no pueda detener este proceso (desde el administrador de tareas u otro). ¿Hay alguna manera de hacer que esta aplicación sea un proceso del sistema o que no pueda ser ejecutada?

He revisado todas las preguntas en SO y todo de ellos dicen que la aplicación siempre puede ser eliminada por el usuario de alguna manera.
Pero en nuestro caso, es diferente desde su propio administrador, que quiere evitar que los empleados (otros usuarios) terminen. Por favor ayuda y disculpa si estoy pidiendo algo muy básico. Gracias.

    
pregunta Sachin Aggarwal 18.03.2017 - 03:34
fuente

2 respuestas

3

Mientras el usuario no sea un administrador local en la máquina, no debe tener permiso para detener ningún proceso ejecutado como otros usuarios (incluidos los administradores de dominio).

Sin embargo, a menos que tenga una configuración física inusual, el usuario siempre puede detener el proceso con el botón de encendido o retirando físicamente la fuente de alimentación.

Le sugeriría, además, que su proceso informa sobre el éxito una vez finalizado. Cualquier máquina que no confirme el éxito podría tener el proceso redistribuido y, en caso de fallas múltiples, enviaría un ingeniero.

    
respondido por el Hector 18.12.2017 - 18:13
fuente
2

Salvo cualquier vulnerabilidad, aquí hay dos escenarios diferentes.

Si el proceso es propiedad de una cuenta de usuario diferente (por ejemplo, es propiedad de la cuenta del sistema local):

  • Uno debe ser miembro del grupo de administradores locales, tener el privilegio SeDebugPrivilege o cualquier otro administrador que otorgue privilegios y / o permisos.

Si el proceso es propiedad de la misma cuenta de usuario, hay una manera de evitar el asesinato de utilidades como el Administrador de tareas (pero es posible que no detenga otras utilidades):

  • Quite los permisos PROCESS_TERMINATE (y PROCESS_SUSPEND_RESUME ) de ese usuario para ese proceso. Generalmente se realiza mediante programación en el inicio de la aplicación.

Esto no evitará que alguien tome posesión y restablezca los permisos en el proceso, pero, según tengo entendido, no hay utilidades integradas que puedan terminar los procesos realizados de esta manera a menos que uno tenga derechos de administrador .

    
respondido por el a-- 18.12.2017 - 19:39
fuente

Lea otras preguntas en las etiquetas