Requisiti
Ho un servizio web che devo esporre sulla DMZ per le comunicazioni esterne. Il servizio web comunica direttamente con un database critico che si trova su una rete interna.
Soluzione corrente
Questo problema è attualmente risolto con un servizio esposto nella DMZ, l'endpoint è protetto da un certificato e sta utilizzando https. Quando viene ricevuta una richiesta, il servizio entra in una struttura di coda in memoria. Un servizio interno è quindi responsabile della conservazione di un canale TCP in uscita aperto che cerca i messaggi nella coda esterna e si assicura che il servizio esterno li invii al database interno utilizzando il canale TCP in uscita ora aperto. Questo è visto come più sicuro in quanto non richiede che il firewall si apra per il traffico in entrata, solo in uscita dal servizio interno.
Qual è la soluzione ottimale?
La mia domanda è comunque se è più sicura e allora perché? Non è possibile configurare solo il firewall per limitare il traffico in entrata solo dal server nella DMZ e renderlo sostanzialmente sicuro?
Qual è la soluzione di fatto per questo tipo di scenari?