Русский

Инструменты разработчика · Конвертер docker run в Docker Compose

--privileged, --cap-add и --device: что они означают в файле Compose

· Почему это важно

докер сочинять безопасность

Абстрактная диаграмма, иллюстрирующая --privileged, --cap-add и --device: что они означают в файле компоновки
Оригинальная векторная иллюстрация ToolAcre

Один флаг отключает большую часть изоляции Docker. В этом посте объясняется, что на самом деле предоставляет --privileged, более узкие альтернативы и как они выглядят в привилегированных:, cap_add: и устройствах: после преобразования.

На форуме сказано добавить --privileged — контейнер теперь работает, и изоляция, которая делала контейнеры привлекательными, в значительной степени исчезла.

На форуме сказали добавить --privileged — контейнер теперь работает, и изоляция, которая делала контейнеры привлекательными, в значительной степени исчезла. Доказательство: --privileged становится привилегированным истинным без подтверждения безопасности. Воспроизводите минимальные привилегии с помощью одноразовых литералов. Соедините каждое возникновение источника с устройствами с привилегированными возможностями; зарезервируйте ограничение хоста и доступ для проверки места назначения.

Инцидент безопасности также показывает, что отдельная граница инцидента безопасности заключается в том, что --device распознается, но предупреждается и опускается как зависящий от хоста. Свидетельство: --device распознан, но предупрежден и опущен как зависящий от хоста. Это ограничение наименьших привилегий является точкой остановки. Осмотрите устройства с привилегированными возможностями без учета производственного поведения, а затем задокументируйте проверку хоста на предмет ограничения хоста и доступа к нему.

Что делает --privileged — все возможности, доступ ко всем устройствам и смягченное ограничение seccomp и AppArmor.

Что делает --privileged — все возможности, доступ ко всем устройствам и смягченное ограничение seccomp и AppArmor. Доказательство: эффекты ограничения хоста невозможно перечислить из текста команды. Отслеживайте токены с наименьшими привилегиями в устройствах с привилегированными возможностями. Отделяйте упорядоченные значения от полей последнего значения; ограничение хоста и доступ находятся за пределами коллекции.

Связанная граница механизма безопасности заключается в том, что отдельная граница грамматики безопасности заключается в том, что требуемый доступ Zigbee не может быть выведен из предыдущей привилегированной команды. Доказательство: требуемый доступ Zigbee не может быть выведен из бывшей привилегированной команды. Используйте этот факт наименьших привилегий, чтобы предсказать один член или скаляр в устройствах с привилегированными возможностями. Проверяйте предупреждения, прежде чем принимать какие-либо решения относительно ограничения хоста и доступа.

Вместо этого возможности — cap_add: с NET_ADMIN, SYS_TIME или другими в качестве узкой версии и cap_drop: ALL в качестве базовой версии.

Вместо этого возможности — cap_add: с NET_ADMIN, SYS_TIME или другими в качестве узкой версии и cap_drop: ALL в качестве базовой версии. Доказательство: --cap-add и --cap-drop становятся явно упорядоченными списками. Судите о сериализации с наименьшими привилегиями по ее модели. Заключение в кавычки устройств с привилегированными возможностями защищает типы, но не дает эксплуатационного доказательства ограничения хоста и доступа.

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

--device распознается, но намеренно не преобразуется; добавить список устройств для конкретного хоста вручную

Вместо этого устройства — --device /dev/ttyUSB0 становятся устройствами: обычная реальная причина, по которой люди обращаются к --privileged. Свидетельство: --device распознан, но предупрежден и опущен как зависящий от хоста; --device распознается, но намеренно не преобразуется; вручную добавьте список устройств для конкретного хоста. Вместо того чтобы гадать, остановитесь на исключении с наименьшими привилегиями. Для любого добавления устройств с привилегированными возможностями требуется причина, специфичная для развертывания, связанная с ограничением хоста и доступом.

Другое ограничение исключения безопасности заключается в том, что для этого раздела безопасности следует хранить исходную команду этого раздела безопасности и предупреждения для этого раздела безопасности рядом с этим файлом-кандидатом. Доказательства: хранилище не дает более широких временных или исторических доказательств. Сохраните исходную команду с наименьшими привилегиями рядом с предупреждениями. Сравнение показывает, какие привилегированные возможности имеются в устройствах, а какие ограничения хостов и решения о доступе остаются ручными.

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

Рабочий пример: лишение привилегий команды моста Zigbee — замена --privileged записью устройства и одной возможностью. Доказательства: требуемый доступ Zigbee не может быть выведен из предыдущей привилегированной команды; Редактирование с лишением привилегий требует решения оператора, поскольку этот преобразователь не может определить необходимые устройства или возможности. Создайте пример с наименьшими привилегиями из синтетических имен. Сделайте каждый элемент устройства с привилегированными возможностями отслеживаемым, не раскрывая детали ограничения производственного хоста и доступ к нему.

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

Чтение преобразованного YAML в качестве обзора — привилегированный: true выделяется в различиях так, как этого не делает флаг в строке оболочки.

Чтение преобразованного YAML в качестве проверки — привилегированный: true выделяется в различиях так, как этого не делает флаг в строке оболочки. Переведите последствия наименьших привилегий в одну наблюдаемую разницу устройств с привилегированными возможностями. Docker владеет последующим вердиктом о ограничении хоста и доступе.

Реализация последствий безопасности также показывает. Отдельная граница эффекта безопасности заключается в том, что --privileged становится привилегированным true без подтверждения безопасности. Разделите обязанности с минимальными привилегиями: преобразование записывает устройства с привилегированными возможностями, хранилище удаляет секреты, а операторы проверяют ограничение хоста и доступ.

Что здесь не распространяется — доступ GPU, пользовательские профили seccomp и контексты безопасности Kubernetes.

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

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

Привилегии видны при сопоставлении, но доступ к неподдерживаемому устройству остается предупреждением, а не сгенерированным ключом.

Вывод: привилегии должны быть явными и минимальными — и преобразователь делает их видимыми в виде ключей, которые вы можете подвергнуть сомнению. Доказательства: наименьшие привилегии требуют человеческого замысла, выходящего за пределы конверсии; Привилегии видны при сопоставлении, но доступ к неподдерживаемому устройству остается предупреждением, а не сгенерированным ключом. Аудит наименьших привилегий в качестве параметра источника, поля модели, строки устройств с привилегированными возможностями и предупреждения. Удалите секреты перед проверкой ограничения хоста и доступа.

Наконец, источник вывода по безопасности подтверждает сохранение исходной команды для этого раздела безопасности и предупреждает рядом с этим разделом безопасности этот файл-кандидат о том, что вывод вывода по безопасности улучшает проверяемость для этого раздела безопасности, не обещая эквивалентную оболочку для синтаксического анализа этого раздела безопасности, остается вне гарантии вывода по безопасности. Близкие к минимуму привилегии: устройства с привилегированными возможностями являются кандидатом; Ограничение хоста, а также эквивалентность доступа и оболочки не являются гарантиями.