Usuarios de baja privacidad para servicios de Windows

2

Se trata de la configuración segura de los servicios de Windows. Me he dado cuenta muchas veces de que los desarrolladores de software, cuando diseñan software para la plataforma Windows, no pasan suficiente tiempo con el principio de privilegio mínimo. Debido a que es tan fácil y rápido, instalan sus servicios para que se ejecuten como SISTEMA LOCAL, aunque los privilegios más bajos funcionarán bien, por ejemplo, el acceso al sistema de archivos y el registro para binarios y configuración y acceso a la red para aceptar conexiones entrantes y conectarse a una base de datos . En Windows, hay, sin embargo, los usuarios LOCAL SERVICE y NETWORK SERVICE.
Aquí está mi pregunta: ¿Puedo ejecutar un servidor simple (como se describe anteriormente, acceso al sistema de archivos / registro, acceso a la red) como SERVICIO DE RED? ¿Son estos 2 usuarios proporcionados por MS para tal situación? ¿O como desarrollador debo investigar cada vez qué privilegios son necesarios incluso si mi servicio no hace nada extraordinario? Si por ejemplo El SERVICIO DE RED no es suficiente, ¿qué herramientas tendría que usar para crear un usuario y seguir el principio de privilegio mínimo? Me parece extremadamente relevante. Si logra inyectar código en una aplicación php que se ejecuta en apache como www-data, todavía necesita una escalada de privilegios tediosa para comprometer completamente la máquina. En Linux, este problema en particular se resuelve mucho mejor por defecto.

    
pregunta kaidentity 11.10.2016 - 09:09
fuente

2 respuestas

2
  

Aquí está mi pregunta: ¿Puedo ejecutar un servidor simple (como se describe   arriba, acceso al sistema de archivos / registro, acceso a la red) como RED   ¿SERVICIO? ¿Son estos 2 usuarios proporcionados por MS para tal situación?

Si puedes y deberías. La cuenta de servicio de red es (como lo recuerdo) la cuenta de máquina con menos privilegios con permisos limitados. De hecho, recibirá una Excepción Insuficiente, si resulta que su aplicación solicita recursos para los cuales la cuenta del Servicio de red no tiene los derechos. Luego, simplemente otorgaría derechos a los recursos a los que intenta acceder y luego se basará en eso, pero para los requisitos de alto nivel que describe aquí, el acceso al archivo / registro y a la red debería ser suficiente.

Es cierto, si su aplicación crea una nueva fuente de registro de eventos o clave de registro, deberá otorgar explícitamente los derechos a la cuenta de servicio de red, no debería ser un gran problema para usted / devops.

También podría considerar el uso de una cuenta de dominio, por ejemplo, si desea aislar su aplicación / servicio de cómo lo digo: un cambio en los permisos fragmentados a la cuenta general del servicio de red.

Le sugiero que lea estas cuentas en general: enlace

  

Si logra inyectar código en una aplicación php que se ejecuta en apache   Como datos de www, todavía necesita una escalada de privilegios tediosa para   comprometer la máquina

independientemente de priv. Esc. of (www) es tedioso o menos tedioso (personalmente creo que es pura diversión), si estás en ese punto donde encontraste un error en tu servicio que puede ser priv. escalado, generalmente se reduce a una mala gestión de parches en su caja y no tanto a su servicio en esa etapa.

    
respondido por el Allan Nielsen 11.10.2016 - 17:55
fuente
1

El privilegio es la última idea que deberías manipular como programador y la razón es obvia: rara vez recibes el error adecuado si la aplicación no tiene suficientes privilegios: Insufficient privilege exception . Esa es una buena razón por la que los programadores evitan tal dolor.

Así que, en el mejor de los casos, debería revisar esta parte en las últimas fases de desarrollo cuando todo funcione y se haya probado. Luego baje los privilegios y pruebe la funcionalidad completa hasta donde no esté bien.

El esquema que está cuidando, lo proporciona la capa de alojamiento de su aplicación. Por ejemplo, las aplicaciones .NET tienen menos privilegios en comparación con Local System .

Finalmente, si el pirata informático se encuentra al encontrar problemas de seguridad en el código personalizado del tuyo, entonces él está realmente interesado y no es de las vulnerabilidades de copiar / pegar. Solo es cuestión de tiempo / dinero. This La vulnerabilidad de escalada de privilegios del kernel de Linux estuvo disponible desde 2012 (incluyendo la mayoría de los dispositivos Android) hasta la fecha reciente.

    
respondido por el Xaqron 11.10.2016 - 11:26
fuente

Lea otras preguntas en las etiquetas