separación de tiempo de ejecución de la aplicación - mejores prácticas

6

Necesito persuadir a "la administración" de que ejecutar dos o más aplicaciones críticas de negocios no relacionadas dentro de un único entorno de tiempo de ejecución compartido (es decir, una sola "línea de comando") es una idea realmente mala . El problema es que la administración no reconoce "la autoridad de los tipos de seguridad" (yo) y quiere que mi causa esté respaldada por alguna recomendación de una autoridad real como ISO, ISACA, NIST o cualquier otra carta de tres a cuatro letras. -Agencia.

¿Existe alguna "mejor práctica" o requisito definido en cualquiera de los estándares de seguridad que indique claramente que la ejecución de dos o más aplicaciones independientes y no relacionadas (como los procesos de base de datos) en un solo entorno de tiempo de ejecución compartido con el mismo UID es incorrecta? ?

Tenga en cuenta que lo sé es una mala idea y puedo encontrar muchas razones para respaldar esta afirmación, pero ninguna de ellas incluye una cita de "un estándar".

    
pregunta mikky 08.09.2015 - 09:50
fuente

2 respuestas

1

Encuentre a quien le asegura a su empresa los costos relacionados con la pérdida de información, etc. Normalmente, en el contrato definen requisitos para un sistema crítico, como lo que está describiendo. Preséntelo a su equipo legal de la manera más agradable posible (traiga panecillos) que ver la lucha de la administración para resolverlo y, por proxy, su sistema se ajusta al estándar.

Incluso si no está explicado específicamente por una agencia de cartas, los abogados de su empresa lo verán de esta manera:

"Si acudimos a los tribunales por los datos perdidos y la compañía de seguros trae un experto para que testifique que nuestro sistema no está usando las mejores prácticas, perderemos".

En Seguridad, Legal puede ser de gran ayuda.

    
respondido por el Shane Andrie 05.04.2016 - 23:23
fuente
0

Esto parece ser una pregunta muy general, pero lo intentaré.

La mayoría de los servidores (Apache, Nginx, etc.) tienen un proceso principal que es propiedad de la raíz que luego contrata a los trabajadores con un usuario menos privilegiado / restringido; www-data en el caso de apache. El proceso bifurcado utiliza setuid y / o setgid para cambiar el usuario y / o grupo y hacer cumplir el principio de privilegio mínimo (sobre el que puede leer en Wikipedia)

Usando la función ptrace, un proceso de usuario puede observar y controlar la ejecución de procesos con la misma ID de usuario, pero no puede rastrear procesos arbitrarios. Uno obtendrá "Permiso denegado" en un intento de iniciar el rastreo de un programa root setuid.

En Linux, cada clase de proceso (postgres, nginx, apache, etc.) se ejecuta bajo una identificación de usuario encarcelada separada y no se puede rastrear entre sí.

Windows es un poco más complicado porque se basa en subprocesos pero hay conceptos similares. La arquitectura de seguridad de Windows se basa en el Monitor de referencia de seguridad del kernel. El monitor de referencia de seguridad aplica el control de acceso al comparar los SID de usuario y grupo en el token de acceso de seguridad con los permisos de acceso otorgados en la ACL del descriptor de seguridad de un objeto. Más sobre eso en este artículo de MSDN enlace

HTH!

    
respondido por el Danny Lieberman 08.09.2015 - 14:36
fuente

Lea otras preguntas en las etiquetas