Spec-Zone.ru › MariaDB

Заботы о безопасности Docker

При использовании контейнеров Docker в рабочей среде важно учитывать проблемы безопасности Docker.

Безопасность хост-системы

Все контейнеры Docker построены на основе ядра хост-системы. Если в ядре хост-системы есть уязвимости, эти уязвимости также присутствуют в контейнерах.

В частности, Docker использует две функции Linux:

  • Пространства имён, чтобы изолировать контейнеры друг от друга и гарантировать, что контейнер не может установить несанкционированные подключения к другому контейнеру.
  • cgroups, чтобы ограничить ресурсы (CPU, память, ввод-вывод), которые может потреблять каждый контейнер.

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

Docker, как и большинство контейнерных технологий, использует открытую библиотеку runC. Уязвимости в runC, скорее всего, повлияют на Docker.

Наконец, собственные уязвимости Docker потенциально затрагивают все контейнеры.

Важно отметить, что при обновлении ядра, runC или самого Docker происходит простой простоя для всех контейнеров, работающих в системе.

Безопасность образов

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

Чтобы быть уверенным, что вы загружаете аутентичные образы, вы должны загружать только образы, подписанные с использованием Docker Content Trust.

Образы должны создавать и использовать системного пользователя с меньшими привилегиями, чем root. Например, демон MariaDB обычно работает как пользователь mysql, который принадлежит к группе mysql. Нет необходимости запускать его как root (и по умолчанию он откажется запускаться как root). Контейнеры не должны запускать его как root. Использование непривилегированного пользователя уменьшит вероятность того, что ошибка в Docker или ядре позволит пользователю получить доступ к хост-системе.

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

Уязвимости безопасности обычно важны для сервера базы данных, поэтому вы не хотите, чтобы ваша версия MariaDB содержала известные уязвимости. Но предположим, что у вас также есть ошибка в Docker, runC или ядре. Ошибка в пользовательском приложении может позволить злоумышленнику использовать ошибку в этих технологиях нижнего уровня. Таким образом, после получения доступа к контейнеру злоумышленник может получить доступ к хост-системе. Вот почему системные администраторы должны обновлять как хост-систему, так и программное обеспечение, работающее в контейнерах.

Ссылки

Для получения дополнительной информации см. следующие ссылки:

  • Безопасность Docker на документации Docker.
  • Пространства имён Linux на Wikipedia.
  • cgroups на Wikipedia.
  • Репозиторий runC.

Контент первоначально предоставила Vettabase Ltd.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно проверяется MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/docker-security-concerns/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API