Создание безопасных образов Docker

Введение в Docker

Tim Sangster

Software Engineer @ DataCamp

Встроенная безопасность

Скомпрометированный контейнер может получить доступ к хосту, если прорвёт уровень виртуализации.

Введение в Docker

Создание безопасных образов

$$

В исключительных случаях злоумышленники могут выйти за пределы контейнера.

$$

Дополнительные меры безопасности снижают этот риск

$$

Особенно важно при открытии работающих контейнеров в Интернет.

Введение в Docker

Образы из надёжного источника

Создание безопасных образов -> Начните с образа из надёжного источника

Фильтры Docker Hub:

Docker Hub имеет три фильтра доверенного контента: Docker Official Images, Verified Publisher и Sponsored OSS

Введение в Docker

Поддерживайте ПО в актуальном состоянии

Даже популярнейший образ Ubuntu обновлялся всего 14 дней назад. Не менее популярный образ mariaDB обновлялся более месяца назад.

Введение в Docker

Минимизируйте образы

Лишние пакеты снижают безопасность

Ubuntu с:

  • Python2.7
  • Python3.11
  • Java default-jre
  • Java openjdk-11
  • Java openjdk-8
  • Airflow
  • Наше приложение pipeline

Установка только необходимых пакетов повышает безопасность

Ubuntu с:

  • Python3.11
  • Наше приложение pipeline
Введение в Docker

Не запускайте приложения от имени root

Предоставление root-доступа к образу сводит на нет его обновление и минимизацию.

Вместо этого запускайте контейнеры от имени пользователя с ограниченными правами:

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
Введение в Docker

Давайте потренируемся!

Введение в Docker

Preparing Video For Download...