La configuración actual es la siguiente:
- Un servidor de producción (host) tiene solo unos pocos puertos abiertos, a saber, HTTP, HTTPS y puertos seguros para correo electrónico.
- En el host hay un usuario sin privilegios que ejecuta un motor y contenedores de Docker.
- Varias aplicaciones web se ejecutan en contenedores Docker, cada una se ejecuta en una red virtual con puente proporcionada por el tiempo de ejecución de Docker. Tienen puertos abiertos HTTP y HTTPS. Las aplicaciones se ejecutan en tecnología de servidor web arbitrario, como Apache 2.? o AKKA-HTTP.
- Solo un contenedor "http-proxy" expone sus puertos (80, 443) al host. En este contenedor, un usuario sin privilegios está ejecutando un servidor Apache 2 protegido por mod que solo reenvía las solicitudes en función del dominio solicitado y las reenvía a uno de los contenedores de aplicaciones.
- El servidor de correo se ejecuta en un contenedor Docker con un usuario sin privilegios que expone sus puertos al host.
Las preguntas son:
- ¿Hay algún inconveniente en este modelo?
- ¿Cómo sería más seguro?
- ¿Qué tan expuestos están los contenedores de aplicaciones a los ataques?
- ¿Existen consideraciones de seguridad con respecto a Docker?
¡Gracias!