Причины, по которым вам не следует внедрять Docker без sudo

Docker — одна из наиболее широко используемых контейнерных платформ, очень популярная среди программистов и разработчиков. Он поставляется с мощным инструментом графического интерфейса (CLI) для управления контейнерами Docker и другими связанными задачами.

По умолчанию вам нужны привилегии root для запуска любых команд, связанных с Docker, в Linux. Конечно, вы можете изменить этот параметр, чтобы сделать выполнение более удобным и запускать команды Docker без привилегий пользователя root, но вы должны знать о последствиях для безопасности. Проверять Как использовать Docker-контейнеры в Linux.

Причины, по которым вам не следует внедрять Docker без sudo — Linux

Какова поверхность атаки в Docker?

«Поверхность атаки» — это количество точек атаки, например количество окон, которые злоумышленник может использовать для проникновения в вашу систему и нанесения ущерба. В целом, ИТ-системы должны иметь минимальные поверхности для атак, чтобы свести к минимуму риски безопасности.

В целом поверхность атаки Docker минимальна. Контейнеры работают в безопасной изолированной среде и не влияют на операционную систему хоста, если не указано иное. Кроме того, контейнеры Docker запускают только минимальные службы, что делает их более безопасными.

Вы можете настроить систему Linux для управления Docker без привилегий sudo. Это может быть уместно в средах разработки, но может быть серьезной уязвимостью безопасности в производственных системах. Вот почему Docker никогда не реализуется без sudo.

1. Возможность управления контейнерами Docker

Без привилегий sudo любой, у кого есть доступ к вашей системе или серверу, может контролировать все аспекты Docker. Он имеет доступ к вашим файлам журнала Docker и может останавливать и удалять контейнеры по желанию или по ошибке. Вы также можете потерять важные данные, необходимые для непрерывности бизнеса.

Если вы используете контейнеры Docker в производственных средах, простои приводят к потере различных данных и доверия.

2. Получите контроль над каталогами операционной системы хоста

Docker Volumes — это мощная служба, которая позволяет вам обмениваться данными контейнера и поддерживать их, записывая их в указанную папку в операционной системе хоста.

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

Все, что вам нужно сделать, это запустить образ Linux Docker, например образ Ubuntu, и смонтировать его в домашнюю папку с помощью следующей команды:

docker run -ti -v /:/hostproot ubuntu bash

Поскольку контейнеры Linux Docker запускаются от имени пользователя root, это в основном означает, что у вас есть доступ ко всей домашней папке.

Приведенная выше команда загрузит, запустит и установит последний образ Ubuntu в ваш домашний каталог.

В Терминале для контейнеров Docker перейдите в каталог /hostproot используя команду. cd:

cd /hostproot

Причины, по которым вам не следует внедрять Docker без sudo — Linux

Показывает список содержимого этого каталога с помощью команды ls Все файлы операционной системы хоста, которые теперь доступны в вашем контейнере. Теперь вы можете управлять файлами, просматривать конфиденциальные файлы, скрывать и отображать файлы, изменять разрешения и т. д.

3. Установите вредоносное ПО

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

Существует множество практических вариантов использования контейнеров Docker, и с каждым приложением связан свой набор угроз безопасности. Проверять Как установить Docker в Linux.

Защита контейнеров Docker в Linux

Docker — мощная и безопасная платформа. Запуск Docker без sudo увеличивает поверхность атаки и делает вашу систему уязвимой. В производственных средах настоятельно рекомендуется использовать sudo с Docker.

При таком количестве пользователей в системе становится очень сложно назначить разрешения каждому пользователю. В таких случаях соблюдение рекомендаций по управлению доступом может помочь вам обеспечить безопасность вашей системы. Вы можете просмотреть сейчас Что такое контроль доступа и зачем он нужен?

Перейти к верхней кнопке