Sichere Docker-Images erstellen

Einführung in Docker

Tim Sangster

Software Engineer @ DataCamp

Inhärente Sicherheit

A compromised container can access the host if it breaks out of the virtualization layer.

Einführung in Docker

Sichere Images erstellen

$$

Angreifer können in Ausnahmefällen aus einem Container ausbrechen.

$$

Zusätzliche Sicherheitsmaßnahmen können dieses Risiko verringern.

$$

Das wird besonders wichtig, wenn laufende Container mit dem Internet in Berührung kommen.

Einführung in Docker

Images von einer vertrauenswürdigen Quelle

Sichere Images erstellen -> mit Image von einer vertrauenswürdigen Quelle anfangen

Docker-Hub-Filter:

Docker Hub has three Trusted Content filters, Docker Official Images, Verified Publisher images and Sponsored OSS images

Einführung in Docker

Software auf dem neuesten Stand halten

Even the super popular Ubuntu image was only updated 14 days ago. The also extremely popular mariaDB image was updated over a month ago.

Einführung in Docker

Images begrenzen

Das Hinzufügen unnötiger Pakete verringert die Sicherheit.

Ubuntu mit:

  • Python2.7
  • Python3.11
  • Java default-jre
  • Java openjdk-11
  • Java openjdk-8
  • Airflow
  • Unsere Pipeline-Anwendung

Nur die wichtigsten Pakete zu installieren, macht das System sicherer.

Ubuntu mit:

  • Python3.11
  • Unsere Pipeline-Anwendung
Einführung in Docker

Anwendungen nicht als Root ausführen

Root-Zugriff auf ein Image: verhindert aktuelles und minimales Image

Stattdessen: Container als Benutzer mit weniger Berechtigungen starten:

FROM ubuntu # User is set to root by default.
RUN apt-get update
RUN apt-get install python3
USER repl # We switch the user after installing what we need for our use-case.
CMD python3 pipeline.py
Einführung in Docker

Lass uns üben!

Einführung in Docker

Preparing Video For Download...