La mia azienda utilizza una configurazione di database strana e non riesco a capire cosa aggiunge in termini di sicurezza.
Il nostro programma di installazione
Mondo esterno [Firewall] DMZ - Server Web [Firewall] Database esterno [Firewall] Database interno
- Il server Web può comunicare solo con il database esterno.
- Non è possibile accedere al database esterno dall'esterno. Ad esempio, non posso accedervi da casa mia anche se conosco l'indirizzo e ho un nome utente / password validi.
- Non è possibile accedere al database interno anche dall'esterno.
Quindi, l'unica differenza tra il database esterno e quello interno è che il server Web può accedere a quello esterno ma non a quello interno.
Il nostro flusso di dati
Quando un utente inserisce alcune informazioni sul nostro sito Web, tali informazioni vengono inviate al nostro server web. Il server web quindi inserisce tali informazioni nel Database esterno. Quindi un lavoro verrà eseguito periodicamente e prenderà i nuovi dati nel database esterno e li inserirà nel database interno. Quindi, il dipendente può modificare i dati nel database interno e queste modifiche verranno sincronizzate nel database esterno.
La mia domanda
Cosa aggiunge da un punto di vista della sicurezza per avere un database esterno e un database interno?
Avrebbe senso se un database fosse accessibile dall'esterno, ma poiché sono entrambi dietro il firewall, cosa cambia se inseriamo direttamente nel Database interno. Ad ogni modo, se inseriamo qualcosa nel Database Esterno, verrà sincronizzato anche con il Database interno.
Il mio problema
Abbiamo scavato noi stessi in un complicato pasticcio di sincronizzazione con i lavori in esecuzione ovunque, i dati duplicati ovunque e con questo arrivano gli errori tradizionali. Alcuni lavori non vengono aggiornati quando aggiorniamo lo schema, i dati non sono più gli stessi tra tutti i database e ci ritroviamo con una tonnellata di dati che non sappiamo più se è la copia più recente o meno e quale è valida e ecc. Vedo tutti questi problemi come un grande spreco di tempo e denaro.
Ora, il motivo principale per cui l'abbiamo reso così complicato è perché: "È più sicuro". È davvero così perché non vedo la differenza tra il server web che inserisce i dati direttamente in un database e utilizza più processi per sincronizzare i dati ovunque?