Compartir un intermediario de mensajes entre sistemas remotos

0

Actualmente estamos explorando soluciones para enviar / sincronizar datos entre dos sistemas (en dos redes separadas) en "casi" tiempo real.

Las soluciones son algo limitadas:

  1. Algún tipo de mecanismo RPC: HTTP "Web Hooks", gRPC, SOAP, lo que sea ...
  2. Compartir algún tipo de intermediario / cola de mensajes (Apache Kafka, RabbitMQ, NATS ...)

Por lo que veo, la mayoría de los intermediarios de mensajes son como bases de datos: implementan un nivel mínimo de seguridad (credenciales y, a veces, TLS), pero dependen principalmente de la seguridad de la red.

Pregunta: ¿existe una forma segura de compartir un intermediario de mensajes entre dos sistemas remotos?

Todo lo que pude pensar fue poner una aplicación al frente (por lo tanto, recurrir a la solución 1), o usar una VPN.

    
pregunta Michael Tecourt 13.02.2018 - 15:02
fuente

1 respuesta

1

Cualquier cosa que asegure la conexión hará.

La opción más compatible que usa una VPN de capa 2 o 3 para conectar los dos sistemas (y cortafuegos de manera adecuada contra cualquier otra cosa): a menos que estés tratando con un protocolo realmente extraño, puedes estar seguro de que lo estarás capaz de hacerlo funcionar La desventaja es que puede ser delicado configurar eso en hosts basados en la nube y no se escala bien.

La segunda opción, como ha adivinado, es usar la conexión TLS entre máquinas. Eso dependerá en gran medida del software que esté utilizando, pero TLS es una opción bastante común y generalmente puede configurarlo para la autenticación de certificados mutuos x509, que Te da un nivel de seguridad bastante bueno. Tenga en cuenta que todos los RPC basados en HTTP podrán usar TLS y que forzar la autenticación mutua generalmente es una cuestión de configuración.

La tercera opción es habilitar el cifrado dentro de la arquitectura del intermediario de mensajes. Al contrario de lo que escribió, muchos sistemas de mensajería de mensajes le permitirán configurar el cifrado de extremo a extremo en el nivel de mensaje. Sin embargo, generalmente no es realmente trivial de implementar. por ejemplo, eche un vistazo a página de ayuda de WebSphere sobre ese tema . La principal ventaja de esa opción es que los mensajes se cifran tanto en reposo como en tránsito y eso significa que el sistema de cola de mensajes no tiene que ser capaz de descifrar los mensajes en sí mismos: todo lo que requiere son los datos de envoltura correctos.

    
respondido por el Stephane 14.02.2018 - 10:23
fuente

Lea otras preguntas en las etiquetas