Наконец, вы так сильно любите Docker, что хотите перенести свои критически важные для бизнеса производственные системы с конфиденциальными данными клиентов в Docker Swarm. Некоторые, возможно, уже сделали это. Другая организация не может себе этого позволить из-за политики, запрещающей производственные процессы, работающие в режиме root.
Что может быть контрольным списком строительных блоков для рабочей среды Docker? Один не нуждается во всех из них, но все они должны быть важны для оценки.
Отказ от ответственности: я знаю, что есть политика SE, чтобы избежать «больших бесконечных списков», но я думаю, что этот контрольный список не может быть очень большим ... и в настоящее время бесконечным.
Итак - что это за строительные блоки?
- Если он еще не развернут, рассмотрите возможность запуска хост-системы Linux с расширенными настройками безопасности - усиленным ядром, SELinux и т. Д.
- Подумайте об использовании крошечного базового образа Docker, такого как alpine, busybox или даже нуля, например, начните с пустого базового образа
- Используйте настройки USER, отличные от root
- Тщательно оцените, чтобы еще больше сократить уже сжатый набор возможностей ядра, предоставленных контейнеру.
- Для запуска процесса рекомендуется иметь только один исполняемый двоичный файл на контейнер, в идеале статически связанный
- Те, кто хочет сломать вашу систему, чтобы получить доступ к оболочке, могут задаться вопросом, обнаружили ли они, что в вашем контейнере отключены все оболочки
- Монтируйте тома только для чтения там, где это возможно
Вопрос: что еще?
devsecops
?
Consider using a tiny Docker base image, like alpine, busybox or even scratch e.g. start with an empty base image
повышает безопасность?