Opzione per proteggere il socket docker dai contenitori

1

Obiettivo

Comprendi le opzioni per proteggere il docker.sock.

Sfondo

Come in quegli articoli, dare ai container l'accesso a docker.sock è un rischio.

Tuttavia, potrebbero esserci casi in cui è necessario distribuire un pod che deve comunicare con il daemon docker tramite il socket per il monitoraggio o il controllo. Ad esempio datadog che monta il socket tramite il supporto hostPath.

Opzioni

OpenShift richiede una concessione esplicita di SCC, ad es. hostaccess all'account di servizio che esegue il pod per il pod per utilizzare hostPath, ma è proprietario di OpenShift.

Suppongo che SELinux possa essere usato in modo che tutti i pod che accedono al docker siano obbligati ad avere una determinata etichetta.

Domanda

Vorrei sapere se la mia comprensione dell'etichetta SELinux è valida e quali altre opzioni sarebbero disponibili.

Riferimenti

posta mon 27.01.2018 - 13:05
fonte

1 risposta

1

Sembra che tu stia chiedendo di Kubernetes. PodSecurityPolicy è la versione upstream di Kubernetes di Security Context Constraints (SCC) di OpenShift e può essere utilizzata per limitare l'accesso ai volumi HostPath. Tuttavia, esiste un problema noto con l'implementazione AllowedPaths , quindi è più sicuro disabilitare completamente i volumi HostPath per Pod che non lo richiedono. Supponendo che il socket docker richieda i privilegi di root per l'accesso, puoi anche limitare quali container sono in esecuzione come root (non dimenticare di impostare no_new_privs , disabilitare AllowPrivilegeEscalation in Kubernetes).

    
risposta data 23.05.2018 - 03:04
fonte

Leggi altre domande sui tag