Qual è il modo più sicuro per fornire certificati SSL (per HTTPS) a un'applicazione Docker?
Gli approcci che ho considerato:
-
L'ambiente
È normale (ma ovviamente non è obbligatorio) utilizzare l'approccio 12factor con le app Docker, che suggerirebbe variabili d'ambiente, che sono considerato sicuro , ma le catene di certificati possono essere un po 'lunghe e poco maneggevoli per le variabili di ambiente (non che si tratti di un interruttore completo).
-
Immagine privata
Posso anche creare un'immagine Docker privata personalizzata, ma se non sto usando un repository Docker privato (e non lo sono - sto usando Docker Hub al momento), ciò significa fidarsi di almeno un altro festeggia con il mio segreto Se uso build automatizzati, significa fidarsi di un'altra parte (ad es. GitHub).
-
Un volume montato
Questo sembra meno faticoso del passare lunghe variabili d'ambiente che devono essere elaborate. Ma fino a questo punto, non ho avuto alcun bisogno di un volume locale, e mi sembra un po 'sfortunato se questa è l'unica cosa che mi richiede di usarne una. Ma forse questo è il prezzo da pagare per la sicurezza?
Da un punto di vista della sicurezza, qual è l'opzione migliore? O ci sono pro e contro di questi approcci che non ho considerato?
Per riferimento, la mia immagine Docker corrente è ospitata su Docker Hub, creato con una build automatizzata da GitHub, ei contenitori sono in esecuzione su Tutum. Attualmente i miei repository Docker Hub e GitHub sono privati, ma spero di renderli pubblici più tardi, quando il progetto è un po 'più maturo. Anche se mi auguro una risposta abbastanza generale da applicare più ampiamente rispetto a questa configurazione specifica.