Evento basado en tiempo, aplicación de consola en Windows Server - implicaciones de seguridad

2

Soy un ingeniero de software, y he escrito varias utilidades discretas que se ejecutan en momentos específicos en Windows Server 2008. En general, son aplicaciones de consola, necesitan acceder a SQL Server, están configuradas para un acceso confiable y se ejecutan bajo una cuenta de servicio.

Nuestra gente de seguridad me dice que debo volver a diseñar esto, ya que no desean permitir el inicio de sesión local en las cuentas de servicio. Me sugieren que cree servicios de Windows que serán ejecutados por la cuenta de servicio con acceso confiable a la base de datos.

Como programador, ejecutar un servicio que espera un momento específico del día para hacer algún trabajo parece ser un antipatrón y es más difícil depurar los problemas. Pero si es más seguro, estoy feliz de estar detrás de esto, ¿pensamientos?

    
pregunta bigtech 17.07.2013 - 18:00
fuente

2 respuestas

3

Si sus aplicaciones se ejecutan en momentos específicos, deben tener en cuenta el hecho de que pueden ejecutarse en momentos en que no haya nadie que las vea ejecutándose. Esto significa que debe tener algún sistema de registro (por ejemplo, usando eventos de Windows o simplemente escribiendo en algunos archivos). Tu depuración debería ir por ese camino.

De todos modos, aunque escribir su propio servicio no es difícil, reinventar la rueda siempre es un desperdicio. En ese caso específico, Windows ofrece un programador de tareas específico que es perfectamente capaz de iniciar sus aplicaciones (incluso scripts o aplicaciones de consola) en momentos configurables, comenzando en un directorio configurable y ejecutándose bajo una cuenta configurable. Además, hay una política local específica (denominada "iniciar sesión como un trabajo por lotes") que controla qué cuentas se pueden usar para eso. Esto debería apaciguar a su personal de seguridad local.

(Por supuesto, en muchos lugares, hay personas con más poder que conocimiento, que te obligarán a realizar saltos mortales elaborados a través de muchos problemas debido a un miedo irracional que tienen. Aunque el programador de tareas de Windows es el método recomendado por Microsoft para iniciar tareas en tiempos programables, es posible que tenga que escribir su propio servicio porque, de lo contrario, un tipo sufrirá ataques incontrolables y se le advertirá que el mismo tipo negará todo en caso de que la pérdida de alguien de la alta dirección se da cuenta del tiempo, la flexibilidad o el dinero inducido por esta reingeniería innecesaria.

    
respondido por el Tom Leek 17.07.2013 - 18:28
fuente
0

Es una buena idea no tener sus cuentas de servicio capaces de iniciar sesión en la computadora de manera interactiva, ya que podrían ser mal utilizadas si se comprometen más fácilmente. Un ideal ligeramente mejor podría ser ejecutar un servicio de planificador simple como el usuario del servicio que llamaría a su herramienta de línea de comandos. Si la memoria sirve, no es la aplicación de consola la que requiere un inicio de sesión local, es el programador que está intentando intentar iniciar como otro usuario.

Creo que ejecutar el programador como servicio debería permitirle evitar el inicio de sesión local sin tener que volver a escribir su herramienta, siempre que no requiera interacción con la consola del usuario.

    
respondido por el AJ Henderson 17.07.2013 - 18:15
fuente

Lea otras preguntas en las etiquetas