Tworzenie bezpiecznych obrazów Docker

Wprowadzenie do Dockera

Tim Sangster

Software Engineer @ DataCamp

Wbudowane zabezpieczenia

Przejęty kontener może uzyskać dostęp do hosta, jeśli opuści warstwę wirtualizacji.

Wprowadzenie do Dockera

Tworzenie bezpiecznych obrazów

$$

Atakujący mogą w wyjątkowych przypadkach wydostać się z kontenera.

$$

Dodatkowe środki bezpieczeństwa mogą zmniejszyć to ryzyko

$$

Staje się to szczególnie istotne po udostępnieniu kontenerów w Internecie.

Wprowadzenie do Dockera

Obrazy z zaufanego źródła

Tworzenie bezpiecznych obrazów -> Zacznij od obrazu z zaufanego źródła

Filtry Docker Hub:

Docker Hub ma trzy filtry Zaufanych Treści: Docker Official Images, Verified Publisher oraz Sponsored OSS

Wprowadzenie do Dockera

Utrzymuj oprogramowanie na bieżąco

Nawet bardzo popularny obraz Ubuntu był aktualizowany zaledwie 14 dni temu. Również bardzo popularny obraz mariaDB był aktualizowany ponad miesiąc temu.

Wprowadzenie do Dockera

Utrzymuj obrazy minimalne

Zbędne pakiety obniżają bezpieczeństwo

Ubuntu z:

  • Python2.7
  • Python3.11
  • Java default-jre
  • Java openjdk-11
  • Java openjdk-8
  • Airflow
  • Nasza aplikacja pipeline

Tylko niezbędne pakiety poprawiają bezpieczeństwo

Ubuntu z:

  • Python3.11
  • Nasza aplikacja pipeline
Wprowadzenie do Dockera

Nie uruchamiaj aplikacji jako root

Zezwolenie na dostęp roota do obrazu utrudnia jego aktualizację i minimalizację.

Zamiast tego należy uruchamiać kontenery jako użytkownik z ograniczonymi uprawnieniami:

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
Wprowadzenie do Dockera

Czas na ćwiczenia!

Wprowadzenie do Dockera

Preparing Video For Download...