Найти в Дзене
white hacker

Докер-хост

Прежде чем приступить к реализации рекомендаций по усилению безопасности, не забудьте проверить их производительность в тестовой среде. Не рекомендуется вносить какие-либо изменения в производственную среду без предварительной проверки! Имейте в виду, что не все рекомендации подойдут для вашего конкретного случая. Не воспринимайте приведенный ниже список как набор инструкций, которые необходимо полностью выполнить. Хотя, как правило, чем больше этих рекомендаций выполняется, тем лучше, это не является обязательным требованием. Безопасность всей среды Docker во многом зависит от безопасности Docker Host. Это основная машина, на которой запускаются контейнеры, хранятся локальные копии загруженных образов и где по умолчанию работает демон Docker, при условии, что демон запускается локально, а не на удаленном компьютере. Подробнее этот аспект будет рассмотрен в соответствующей главе. Это может показаться нелогичным, но статья об улучшении безопасности Docker начнется с стандартного усилен

Прежде чем приступить к реализации рекомендаций по усилению безопасности, не забудьте проверить их производительность в тестовой среде. Не рекомендуется вносить какие-либо изменения в производственную среду без предварительной проверки!

Имейте в виду, что не все рекомендации подойдут для вашего конкретного случая. Не воспринимайте приведенный ниже список как набор инструкций, которые необходимо полностью выполнить. Хотя, как правило, чем больше этих рекомендаций выполняется, тем лучше, это не является обязательным требованием.

Безопасность всей среды Docker во многом зависит от безопасности Docker Host. Это основная машина, на которой запускаются контейнеры, хранятся локальные копии загруженных образов и где по умолчанию работает демон Docker, при условии, что демон запускается локально, а не на удаленном компьютере. Подробнее этот аспект будет рассмотрен в соответствующей главе.

Это может показаться нелогичным, но статья об улучшении безопасности Docker начнется с стандартного усиления безопасности операционной системы.

Рабочая обстановка

При создании статьи и подготовке примеров я опирался на среду Docker, которая запускалась на Ubuntu Server 22.04 LTS . Это не случайный выбор — во многих местах создатели Docker рекомендуют использовать именно этот дистрибутив, а точнее ядро системы, которое поставляется вместе с Ubuntu (рис. 2).

Рисунок 2. Рекомендации по использованию системы на Docker Host.

Стоит отметить, что сопровождающие дистрибутивов, таких как Ubuntu или Fedora, предоставляют «неофициальные» версии установочных пакетов – по определению команды Docker. Примером может служить docker.ioпакет, часто упоминаемый в различных руководствах. Его можно установить с помощью простой aptкоманды (листинг 1).

sudo apt update && sudo apt install -y docker.io

Листинг 1. Установка пакета docker.io.

Однако, согласно рекомендациям документации Docker, я предлагаю использовать официальный установочный пакет. Процесс установки подробно описан в документации, а в листинге 2 вы найдете инструкции, актуальные на момент написания этой статьи. Для этого потребуется выполнить несколько команд в консоли (рис. 3).

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyring

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \

"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \

"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Листинг 2. Установка Docker из официального репозитория.

Двойной щелчок по любому code blockкопирует его содержимое в буфер обмена!

-2

Рисунок 3. Установка Docker из официального репозитория.

dockerdЧтобы проверить , правильно ли установлен и запущен демон Docker ( ), вы можете использовать команды docker -vи/или service docker status(рис. 4).

-3

Рисунок 4. Проверка правильности установки Docker.