Ho visto un sacco di inchiostro rovesciato ormai su come Docker non è sufficientemente isolato per consentire l'esecuzione di contenitori arbitrari in un ambiente multi-tenant, e questo ha senso. "Se è root in Docker, consideralo come root nel computer host." Che dire di non-root però?Quali sono i potenziali problemi di sicurezza che eseguono codice non affidabile in un contenitore Docker come utente non root?
Se si desidera prendere un codice non affidabile ed eseguirlo in un contenitore, può essere eseguito in modo sicuro fino a quando il contenitore è in esecuzione come utente non sudo non root? Quali sono le potenziali insidie della sicurezza nel fare qualcosa del genere?
Sono abbastanza sicuro che ci siano applicazioni di produzione che lo fanno oggi (sistemi CI, paste in esecuzione), ma sono semplicemente fortunati a non aver avuto un attaccante determinato o è una cosa ragionevole da fare in un sistema di produzione?
+1 Davvero interessato alle risposte a questo. Potrei offrirmi volontariamente che eseguendo come root ti dia accesso in scrittura ai file di sistema che fanno parte dell'immagine Docker. Immagino che un pezzo di malware fantasioso possa usarlo per sfruttare una vulnerabilità che potrebbe esistere all'interno del kernel dell'host Docker. –
Sto votando per chiudere questa domanda come off-topic (anche se è interessante). Sarà meglio rispondere a security.stackexchange.com – oleksii
È ok per inviare domande di amministrazione Docker su SO. È stato discusso più volte: http://meta.stackexchange.com/search?q=docker –