👁 Большинство запускает Docker от root и даже не задумывается, что любой пробой в контейнере = доступ к хосту. В проде это жирный риск. Rootless режим позволяет запускать контейнеры вообще без root, снижая blast radius даже при компрометации.
📝 Конфигурация rootless режима для запуска контейнеров
Docker умеет работать полностью в user-space, используя user namespaces. Контейнер внутри думает, что он root, но на хосте это обычный пользователь.
dockerd-rootless-setuptool.sh install export DOCKER_HOST=unix:///run/user/1000/docker.sock docker run -d nginx
📌 В таком режиме даже если контейнер «вырвется», у него не будет прав на хосте.
📝 Ограничение привилегий и capabilities контейнера
Дополнительно можно убрать лишние capabilities, чтобы контейнер не мог делать ничего лишнего даже внутри своей песочницы.
docker run -d \ --cap-drop=ALL \ --security-opt=no-new-privileges \ nginx
📌 Это отключает эскалацию привилегий и сильно сужает поверхность атаки.
❗️ Rootless Docker — это не «паранойя», а нормальная практика для продакшена. Если контейнер у тебя работает от root — ты просто надеешься, что его никогда не взломают.
tags: #docker #безопасность #разработка


