Mi empresa está utilizando una configuración de base de datos extraña y realmente no puedo entender lo que está agregando en términos de seguridad.
Nuestra configuración
Outside World [Firewall] DMZ - Servidor web [Firewall] Base de datos externa [Firewall] Base de datos interna
- El servidor web solo puede comunicarse con la base de datos externa.
- No se puede acceder a la base de datos externa desde el exterior. Por ejemplo, no puedo acceder a él desde mi casa, incluso si conozco la dirección y tengo un nombre de usuario / contraseña válidos.
- La base de datos interna no se puede acceder desde el exterior también.
Por lo tanto, la única diferencia entre la base de datos externa e interna es que el servidor web puede acceder a la externa pero no a la interna.
Nuestro flujo de datos
Cuando un usuario ingresa información en nuestro sitio web, esa información se envía a nuestro servidor web. El servidor web luego inserta esa información en la base de datos externa. Luego, un trabajo se ejecutará periódicamente y tomará los nuevos datos de la Base de datos externa y los insertará en la Base de datos interna. Luego, el empleado puede modificar los datos en la base de datos interna y estas modificaciones se sincronizarán nuevamente en la Base de datos externa.
Mi pregunta
¿Qué agrega desde un punto de vista de seguridad para tener una base de datos externa e interna?
Tendría sentido si se pudiera acceder a una base de datos desde el exterior, pero dado que ambas están detrás del firewall, ¿qué cambia si las insertamos directamente en la Base de Datos Interna? De todos modos, si insertamos algo en la base de datos externa, también se sincronizará con la base de datos interna.
Mi problema
Nos metimos en un complicado lío de sincronización con trabajos que se ejecutan en todas partes, datos duplicados en todas partes y con eso vienen los errores tradicionales. Algunos trabajos no se actualizan cuando actualizamos el esquema, los datos ya no son los mismos entre todas las bases de datos y terminamos con una tonelada de datos que ya no sabemos si es la copia más reciente o no, cuál es válida y Veo todos esos problemas como una gran pérdida de tiempo y dinero.
Ahora, la gran razón por la que lo hicimos tan complicado es porque: "Es más seguro". ¿Realmente es así porque no veo la diferencia entre el servidor web que inserta los datos directamente en una base de datos y el uso de múltiples trabajos para sincronizar esos datos en todas partes?