Crittografia delle immagini docker (end-to-end); trasporto su canali offline


8

Stiamo sviluppando e costruendo immagini docker nella nostra intranet e dobbiamo distribuirle su diversi host che ci appartengono (sviluppatori, test interni, test esterni e così via). Alcuni di questi sono nella nostra intranet, altri sono accessibili a terzi su Internet.

L'implementazione finale è all'interno dell'intranet del cliente su diversi nodi (produzione, diverse fasi di test). Questi sono dietro i firewall che non consentono loro di accedere regolarmente a cose al di fuori della loro intranet, vale a dire, mentre alcuni di loro possono accedere a un registro esterno per la distribuzione, altri non possono e le immagini devono essere consegnate manualmente attraverso un caricamento software arcano attrezzo.

Sto cercando un modo per avere un registro su Internet (possibilmente gestito da noi stessi su alcune VM là fuori, preferibilmente no) che consenta di archiviare le immagini crittografate (preferibilmente GPG o simili, non una semplice password). Ma poi anche riuscire a consegnare manualmente "metà" del materiale tramite un meccanismo di caricamento manuale. Il cliente è molto paranoico, quindi mantenere la crittografia end-to-end è abbastanza importante.

Esiste uno strumento che viene in mente, che è perfettamente in grado di gestirlo? Una soluzione sarebbe quella di eseguire il mirroring dell'intero registro presso la sede del cliente su un host dedicato, mantenendo intatta la parte di crittografia.

Una soluzione "standard" sarebbe ottima, sarei detestabile hackerare qualcosa insieme se c'è già qualcosa di magro / leggero / affermato / stabile in giro.

EDIT (+ modifica al titolo): un ampio schema di autorizzazioni come quello offerto da Portus è un buon inizio, ma sto cercando idealmente la crittografia end-to-end delle immagini reali. Il cliente è ultra paranoico e ha appena iniziato con Docker, servizi basati su cloud ecc.



Grazie, @ 030. La domanda che hai collegato considera di nascondere le cose agli occhi degli utenti; la mia domanda è di nasconderlo alle persone lungo la strada (cioè, non ho bisogno della crittografia alle due estremità, solo quando lo trasferisco attraverso un registro).
AnoE

Ok. Quindi in pratica stai cercando SSL per un registro docker come https per un sito Web?
030

@ 030, come indicato nella domanda,I am looking for a way to have a registry [...] which allows the images to be stored encrypted (preferably GPG or similar, not a simple password).
AnoE

Risposte:


2

Google Container Registry è un'opzione potenziale.

  1. Il registro è privato
  2. I livelli di immagine sono memorizzati su un bucket di Google Cloud Storage, che è crittografato da Google (RSA) e può essere ulteriormente crittografato con una chiave client (RSA)
  3. Il controllo degli accessi è granulare fino a ogni singolo oggetto memorizzato nel bucket GCS
  4. L'autenticazione lato client viene applicata tramite oauth2. I client configurano la finestra mobile per utilizzare google cloud sdk come gestore delle credenziali
  5. Le immagini vengono estratte tramite connessioni SSL

Il fatto che il registro faccia parte della piattaforma cloud di Google significa anche che puoi creare altre cose interessanti. Ad esempio, è possibile configurare una macchina virtuale per fungere da proxy inverso e impostare il firewall GCP per consentire solo 443 da un determinato set di IP (come gli uffici dei clienti).


0

Dai un'occhiata a https://github.com/Senetas/crypto-cli

Consente di crittografare / decrittografare i contenitori quando si esegue il push e il pull da un repository pubblico o privato.

(Divulgazione completa Conosco il ragazzo che l'ha scritto)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.