Requisement
Tengo un servicio web que necesito exponer en la DMZ para la comunicación externa. El servicio web se comunica directamente con una base de datos crítica que se encuentra en una red interna.
Solución actual
Esto se resuelve actualmente al tener un servicio expuesto en la DMZ, el punto final se asegura mediante un certificado y usa https. A medida que se recibe una solicitud, el servicio se coloca en una estructura de cola en memoria. Luego, un servicio interno es responsable de mantener abierto un canal TCP saliente que busque mensajes en la cola externa y de asegurarse de que el servicio externo los publique en la base de datos interna utilizando el canal TCP saliente ahora abierto. Esto se ve de forma más segura, ya que no requiere que el firewall se abra para el tráfico entrante, solo que salga del servicio interno.
¿Cuál es la solución óptima?
Sin embargo, mi pregunta es si es más segura y entonces ¿por qué? ¿No se pudo configurar solo el firewall para restringir el tráfico entrante solo del servidor en la DMZ y hacerlo básicamente seguro?
¿Cuál es la solución de facto para este tipo de escenarios?