Esecuzione del contenitore Docker come utente root

2

L'esecuzione di un processo contenitore Docker come root all'interno del contenitore è considerata non sicura. Ma ho alcuni dubbi che devo chiarire:

  1. È ancora lo stesso tipo di insicurezza anche se il contenitore non può montare il socket docker o alcuna parte del file system di root dall'host?

  2. È ancora la stessa insicurezza se esiste una mappatura uno-a-uno di un contenitore e di una macchina virtuale? Ad esempio, stai utilizzando un solo contenitore per VM?

  3. Non è ancora sicuro se il contenitore non è in esecuzione come privilegiato?

  4. Qual è la differenza tra l'esecuzione come utente root e come privilegiato?

Oltre a quanto sopra, c'è un modo semplice per fingere root? Come possiamo mappare l'ID utente 0 come qualcosa di simile a un numero più grande 1001 sull'host?

    
posta Ijaz Ahmad Khan 08.10.2018 - 21:22
fonte

1 risposta

2

Rispondere alle tue domande:

  1. No non è lo stesso. Se non si imposta su un container l'accesso alla finestra mobile, significa che il contenitore non sarà in grado di creare, controllare, eliminare o altre azioni sui contenitori docker host, tutto qui. Ma nel contenitore l'utente root può ancora "interrompere" il suo software.

  2. L'esecuzione di un solo contenitore per macchina virtuale significa che se qualcuno hackerà il tuo contenitore e fuggirà in qualche modo, accederà solo alla tua VM. Potrebbe essere una buona pratica ma eccessiva secondo me. Puoi creare contenitori su reti diverse per isolarli, sebbene in questo modo, se escono, accederanno a tutti i contenitori.

  3. L'esecuzione di contenitori "non privilegiati" è più sicura che eseguirli come "privilegiati". È ovvio.

  4. Per eseguire il contenitore come root, i processi nel contenitore saranno con tutti i privilegi nel contenitore. Eseguire il contenitore come privilegiato significa che il contenitore avrà tutti i privilegi anche sull'host. Questo di solito è fatto in alcuni casi particolari ... supponiamo che tu abbia un contenitore che ha bisogno di accedere all'interfaccia di rete wireless fisica sull'host. Sicuramente sarà necessario lanciarlo come privilegiato o il contenitore non avrà accesso al dispositivo.

Spero che ti aiuti.

    
risposta data 27.10.2018 - 08:55
fonte

Leggi altre domande sui tag