30 Punkte von ironlung 2023-10-31 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Wenn Anwendungen als Docker-Images erstellt und bereitgestellt werden, kann die Verwendung schwergewichtiger Basis-Images dazu führen, dass schon ein einzelner Download lange dauert oder dass sensible Daten enthalten sind, was Sicherheitsprobleme verursachen kann
  • Methoden, um Docker-Images schlanker und sicherer zu machen
  • Image-Größe reduzieren
    • Je schlanker ein Docker-Image ist, desto schneller werden Anwendungen gebaut und bereitgestellt
    • Dadurch kann häufiger und mehr deployt werden, was die Produktivität von Entwicklern erhöht
    • Methoden
      • Multi-Stage-Technik: Es werden mehrere Stages erstellt und jeweils separat gebaut, anschließend werden die Ergebnisse in das schlankste Image integriert
      • Möglichst wenige RUN-Befehle verwenden: RUN-Befehle erzeugen jeweils eigene Images. Um ihre Anzahl zu minimieren, werden in einem RUN-Befehl möglichst viele Skripte ausgeführt
    • Unnötigen Source Code mit .dockerignore ausschließen
      • README.md oder Testcode sind für den eigentlichen Build der Anwendung nicht erforderlich
      • .env-Dateien mit sensiblen Informationen wie API-Authentifizierungs-Tokens, .pem-Private-Key-Dateien und das .git-Verzeichnis mit der Git-Commit-Historie dürfen nicht in Docker-Images enthalten sein
      • Damit solche Dateien nicht in Docker-Images aufgenommen werden, wird eine .dockerignore-Datei erstellt
  • Sichere Images erstellen
    • Wenn Docker-Images Root-Rechte haben, kann das im Fall eines Angriffs gefährlich sein
    • Methoden
      • Exakte Image-Versionen verwenden: Wenn keine Version angegeben wird, wird automatisch die latest-Version bezogen, sodass sich das Laufzeitverhalten je nach Situation unterscheiden kann
      • Schreibrechte auf /etc entfernen: /etc ist das Verzeichnis mit Systemkonfigurationsdateien und Skripten. Anwendungen müssen es in der Regel nicht verändern, daher ist es sinnvoll, Schreibrechte zu entziehen
      • Alle ausführbaren Dateien entfernen: Bei Go reicht eine einzige ausführbare Datei zum Starten aus, daher werden alle anderen potenziell riskanten ausführbaren Dateien gelöscht
      • Zu einem normalen Benutzer wechseln: Das Root-Konto kann alles im System ändern und kontrollieren. Deshalb wird ein Benutzer mit minimalen Rechten erstellt, sodass die Anwendung nur unter diesem Benutzer ausgeführt wird
  • Schlanke Docker-Images entfalten Synergien, wenn CI/CD-Pipelines und agile Methoden zusammenkommen
  • Mit sicheren Docker-Images lässt sich das Geschäft schützen und Risiken können im Vorfeld verhindert werden

Noch keine Kommentare.

Noch keine Kommentare.