Docker-Bilder verschlüsseln (Ende zu Ende); Transport über Offline-Kanäle

8

Wir entwickeln und erstellen Docker-Images in unserem Intranet und müssen sie auf mehreren Hosts bereitstellen, die uns gehören (Entwickler, interne Tests, externe Tests usw.). Einige davon befinden sich in unserem Intranet, andere sind für Dritte im Internet zugänglich.

Die endgültige Bereitstellung erfolgt im Intranet des Kunden auf mehreren Knoten (Produktion, verschiedene Testphasen). Diese befinden sich hinter Firewalls, die ihnen nicht regelmäßig den Zugriff auf Dinge außerhalb ihres Intranets ermöglichen, dh während einige von ihnen für die Bereitstellung auf eine externe Registrierung zugreifen können, andere nicht und Bilder müssen manuell über einen arkanen Software-Upload bereitgestellt werden Werkzeug.

Ich suche nach einer Möglichkeit, eine Registrierung im Internet zu haben (möglicherweise von uns selbst auf einer VM ausgeführt, vorzugsweise nicht), mit der die Bilder verschlüsselt gespeichert werden können (vorzugsweise GPG oder ähnliches, kein einfaches Kennwort). Aber dann auch in der Lage zu sein, "die Hälfte" des Materials einfach manuell über einen Upload-Mechanismus manuell zu liefern. Der Kunde ist sehr paranoid, daher ist es sehr wichtig, die End-to-End-Verschlüsselung aufrechtzuerhalten.

Gibt es ein Werkzeug, das mir in den Sinn kommt und das perfekt damit umgehen kann? Eine Lösung wäre, die vollständige Registrierung auf einem dedizierten Host auf dem Kundengelände zu spiegeln und den Verschlüsselungsteil intakt zu halten.

Eine "Standard" -Lösung wäre großartig. Ich würde es ablehnen, etwas zusammen zu hacken, wenn es bereits etwas Mageres / Leichtes / Etabliertes / Stabiles gibt.

BEARBEITEN (+ zum Titel bearbeiten): Ein umfangreiches Berechtigungsschema wie das von Portus ist ein guter Anfang, aber ich suche idealerweise eine End-to-End-Verschlüsselung der tatsächlichen Bilder. Der Kunde ist extrem paranoid und beginnt gerade mit Docker, Cloud-basierten Diensten usw.

AnoE
quelle
Danke, @ 030. Diese Frage, die Sie verlinkt haben, betrachtet das Verbergen des Materials vor dem Auge der Benutzer. Meine Frage ist, es vor Leuten auf dem Weg zu verstecken (dh ich brauche an beiden Enden keine Verschlüsselung , nur wenn ich es über eine Registrierung übertrage).
AnoE
OK. Sie suchen also im Grunde nach SSL für eine Docker-Registrierung wie https für eine Website?
030
@ 030, wie in der Frage angegeben,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

Antworten:

2

Google Container Registry ist eine mögliche Option.

  1. Die Registrierung ist privat
  2. Bildebenen werden in einem Google Cloud Storage-Bucket gespeichert, der von Google (RSA) verschlüsselt wird und zusätzlich mit einem Client Key (RSA) verschlüsselt werden kann.
  3. Die Zugriffskontrolle ist auf jedes einzelne Objekt beschränkt, das im GCS-Bucket gespeichert ist
  4. Die clientseitige Authentifizierung wird über oauth2 erzwungen. Clients konfigurieren Docker so, dass Google Cloud SDK als Anmeldeinformations-Manager verwendet wird
  5. Bilder werden über SSL-Verbindungen gezogen

Die Tatsache, dass die Registrierung Teil der Cloud-Plattform von Google ist, bedeutet auch, dass Sie einige andere interessante Dinge aufbauen können. Sie können beispielsweise eine VM als Reverse-Proxy einrichten und die GCP-Firewall so einrichten, dass nur 443 von bestimmten IP-Adressen (wie den Büros Ihrer Kunden) zugelassen werden.

tazer84
quelle
0

Schauen Sie sich https://github.com/Senetas/crypto-cli an

Sie können Container verschlüsseln / entschlüsseln, wenn Sie ein öffentliches oder privates Repo verschieben oder daraus ziehen.

(Vollständige Offenlegung Ich kenne den Typ, der es geschrieben hat)

Rubblesink
quelle