Tengo curiosidad acerca de las mejores prácticas cuando me conecto desde una aplicación a DB en un proveedor en la nube. Un rápido resumen de nuestra configuración.
Tenemos 4 servidores, todos en el mismo proveedor, en la misma región que se ejecuta como VPS. Ngnix es el proxy inverso, balanceo de carga a 2 servidores Node.JS. Los servidores Node.js se conectan a un servidor MongoDB.
Así que mi pregunta es sobre seguridad cuando se trata de Node.js > Conexión de Mongo. Tenemos los servidores Mongo y Node restringidos para que solo se conecten entre sí a través de LAN a través de tablas IP. Las instancias de DB y Nodo no son accesibles fuera de la LAN. También hemos habilitado la autenticación SCRAM-SHA-1 en MongoDB.
¿Necesitamos habilitar TLS / SSL? ¿Cuáles son los riesgos de seguridad de un mal actor dentro del proveedor de la nube que trata de detectar nuestra comunicación HTTP no cifrada entre node.js y mongo server?
Estamos considerando agregar un certificado autofirmado entre las máquinas de nodo y mongo. Esto, por supuesto, agregará algo de sobrecarga a la comunicación.
Interesado en escuchar los pensamientos sobre las mejores prácticas. ¿Está cifrando las comunicaciones dentro de la LAN en su proveedor de la nube o es una exageración?
Corríjame si me equivoco, pero alguien necesitaría básicamente rastrear el tráfico en el nivel del enrutador / conmutador interno para escuchar.