Выбор ответа Middle Безопасность контейнеров обновлено
Минимальные capabilities
Вопрос
Веб-серверу в контейнере нужно слушать порт 80, больше никаких привилегий. Как правильно запустить?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: --cap-drop=ALL --cap-add=NETBINDSERVICE. Принцип минимальных прав: убрать все capabilities и вернуть только ту, что нужна для привязки к порту ниже 1024.
Варианты ответа
--privileged --user nobody--cap-drop=ALL --cap-add=NET_BIND_SERVICEправильный ответ--cap-add=ALL --read-only --pids-limit=100--user root --security-opt seccomp=unconfined
Разбор
Принцип минимальных прав: убрать все capabilities и вернуть только ту, что нужна для привязки к порту ниже 1024. Ещё лучше запускать сервер на 8080 от непривилегированного пользователя и публиковать порт наружу как 80. --privileged и --cap-add=ALL дают всё, а отключение seccomp снимает фильтр системных вызовов.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.