¿Teoría sobre datos divididos en varios DBMS aislados (servidores físicos diferentes) para obtener seguridad?

3

Supongamos el siguiente escenario:

1- Una aplicación web (en WEBSERVER1) y su base de datos (en DBMS1) con información muy sensible implementada en el mismo servidor físico (digamos eso para simplificar). Los usuarios interactúan con la aplicación web bajo el paraguas de las medidas de valores especiales, estas medidas de seguridad toman en consideración el hecho de que los usuarios de la aplicación web son pocas personas y que esas personas tienen una ubicación de red especial con respecto a DMBS1 y WEBSERVER1. Dije esto para sentenciar que algunas de las medidas de seguridad aplicadas (aplicadas para proteger los datos en DBMS1 y el acceso a WEBSERVER1) solo se pueden aplicar a los usuarios que cumplen con estas condiciones, llamemos a este conjunto de usuarios USERS1.

2- Otros usuarios y aplicaciones (a través de la exposición API) también necesitan datos de acceso (CRUD) en el DBMS1 (llamémosles USUARIOS2), pero no podemos aplicar las mismas medidas de valores a los USUARIOS2 de lo que aplicamos a los USUARIOS1 debido a sus Ubicación física, cantidad de usuarios y control sobre ellos. Además, es muy importante que la autorización se aplique a los USUARIOS2, es decir, los USUARIOS2 solo pueden acceder a los datos del DBMS1 a los que estaban autorizados a acceder.

Un colega sugiere aumentar la seguridad con un DBMS2 diferente y un WEBSERVER2 diferente implementado, aislado del DBMS1 principal y WEBSERVER1, para permitir a los USUARIOS2 CRUD en los datos. Por lo que puedo ver, esto implica tener un mecanismo para sincronizar datos de un DMBS a otro. El firewall y las credenciales podrían configurarse de manera que incluso el servidor DBMS2 se vea comprometido, el intruso no puede violar las políticas de autorización y escribir datos en DBMS1. Para archivar esto, debe haber un mapa entre la configuración de autorización USERS2 (especificada en DBMS1) y los datos sincronizados replicados entre DBMS1 y DBMS2 y el proceso de replicación de datos debe iniciarse desde el grupo de servidores de DBMS1, dándoles al servidor DMBS1 las credenciales para acceder a DMBS2 mientras El servidor DBMS2 no sabe nada de cómo acceder a DBMS1.

Creo que el valor de este tipo de arquitectura consiste en tener aislado el agujero de seguridad explotable que USERS2 pueda encontrar en el despliegue del DBMS y el WEBSERVER2 con el que están interactuando.

Solo quiero tener en cuenta que la protección de las credenciales de los USUARIOS2 y el cumplimiento de las medidas de seguridad están fuera del dominio de la organización que administra DMBS1.

Mis preguntas son:

¿Existe algo escrito sobre este tipo de arquitectura? ¿Qué sucede con las herramientas / procedimientos para automatizar el proceso de creación y modificación de DMBS2 según las políticas de autorización?

Apreciaría cualquier ayuda u orientación, críticos sobre esta arquitectura.

Incluyo un diagrama para respaldar la explicación, la dirección de la flecha, independientemente de quién inicie la comunicación ... Lo sé, el gráfico es terrible, pero espero agregar algo de información.

EDITAR:EsevidenteelparalelodeestaarquitecturaDBMS-Web_Serverconun Firewall dual DZM

    
pregunta gsi-frank 10.10.2013 - 15:25
fuente

1 respuesta

1

Me está costando entender tu pregunta, pero déjame intentar una respuesta. Parece que tienes dos grupos de usuarios:

  • Usuarios de aplicaciones web internas
  • Usuarios externos de la API

También parece que estos usuarios necesitan diferentes niveles de acceso a la misma base de datos.

Si lo anterior es cierto, sugeriría la siguiente estructura:

  • Servidor web que aloja la aplicación web y la API. Accesible al mundo exterior, con la aplicación web restringida a ciertas personas.
  • Servidor de base de datos al que solo se puede acceder mediante el servidor web. Los usuarios internos, usuarios externos, etc. no pueden acceder directamente. Todo debe fluir a través del servidor web.

En la base de datos se está accediendo a la configuración de dos esquemas:

  • todos
  • interno

Entonces, ahora su base de datos puede tener 4 tablas que se parecen a esto:

internal.SuperSecretTable
internal.DarkCompanySecrets
external.WhoCares
external.HaveAtIt

También hay dos roles de usuarios:  - empleado  - ApiUser

El rol employee tendría acceso a los esquemas internal y external , mientras que el rol apiUser solo tendría acceso al esquema external . Dé a estas funciones los permisos mínimos que necesitan para funcionar.

Espero que esto ayude!

    
respondido por el Abe Miessler 10.10.2013 - 22:21
fuente

Lea otras preguntas en las etiquetas