¿Cuál es la forma más segura de proporcionar certificados SSL (para HTTPS) a una aplicación Docker?
Los enfoques que he considerado:
-
El medio ambiente
Es común (pero obviamente no es obligatorio) usar el enfoque 12factor con las aplicaciones Docker, que sugerirían variables de entorno, que son considerado seguro , pero las cadenas de certificados pueden ser un poco largas y difíciles de manejar para las variables de entorno (no es que esto sea un factor decisivo).
-
Imagen privada
También puedo crear una imagen privada y personalizada de Docker, pero si no estoy usando un repositorio privado de Docker (y no estoy usando Docker Hub en este momento), eso significa confiar en al menos otro. fiesta con mi secreto Si uso compilaciones automatizadas, eso también significa confiar en otra parte (es decir, GitHub).
-
Un volumen montado
Esto parece menos complicado que pasar variables de entorno largas que deben procesarse. Pero hasta este punto, no he necesitado en absoluto un volumen local, y me parece un poco desafortunado si esto es lo único que me obliga a usar uno. Pero tal vez ese sea el precio para pagar la seguridad?
Desde un punto de vista de seguridad, ¿cuál es la mejor opción? ¿O hay ventajas y desventajas de estos enfoques que no he considerado?
Como referencia, mi imagen actual de Docker está alojada en Docker Hub, creada con una compilación automatizada de GitHub, y los contenedores se ejecutan en Tutum. Mis repositorios de Docker Hub y GitHub son privados en este momento, pero espero hacerlos públicos más adelante, cuando el proyecto sea un poco más maduro. Aunque espero una respuesta que sea lo suficientemente general para aplicar más ampliamente que en esta configuración específica.