Все уязвимости

Практический разбор · Docker

Docker daemon: ограничьте доступ к socket и удалённому API

Доступ к Docker daemon позволяет управлять контейнерами и может дать фактический root-доступ к хосту. Проверьте права на Unix socket и не открывайте удалённый API без взаимной TLS-аутентификации или защищённого SSH-туннеля.

Проверено 5 ноября 2026Практическое руководство без CVE и CVSS. Ошибочная выдача доступа к rootful daemon может привести к управлению контейнерами и хостом; rootless mode снижает последствия, но не отменяет контроль доступа.

Кому нужно проверить

Администраторам Docker-хостов, CI-систем и команд, которым нужен удалённый Docker context. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Docker daemon по умолчанию использует не сетевой Unix socket. Пользователь, которому разрешено управлять rootful daemon, может запускать контейнеры и использовать мощные функции Docker; официальная документация рекомендует считать такого пользователя доверенным. Открытый TCP API без аутентификации может дать те же полномочия любому достижимому клиенту. TLS защищает API только при правильной проверке сертификатов.

Затронутые версии

Руководство относится к Docker Engine, прежде всего к daemon с root-привилегиями. Локальный Unix socket, группа docker и любой удалённый endpoint дают полномочия управлять соответствующим daemon; фактический риск зависит от конфигурации хоста, режима rootless и сетевых ограничений.

Исправленные версии

Универсальной исправленной версии нет. Оставьте daemon на локальном Unix socket, выдавайте доступ только доверенным администраторам; для удалённого управления используйте SSH или TLS с проверкой клиента и сервера, ограничьте сеть и защищайте ключи как root-пароль.

Что сделать

  1. 1Уточните текущий Docker context и узнайте, какой daemon он адресует. Инвентаризируйте Unix socket, группы пользователей, конфигурацию dockerd и сетевые listeners; не выводите приватные ключи и содержимое сертификатов в общий отчёт.
  2. 2Ограничьте членство в группе docker и доступ к socket списком доверенных администраторов. Рассматривайте такую выдачу как привилегию управления хостом, а не как безобидное право запуска контейнеров.
  3. 3Не запускайте удалённый daemon на публичном или недоверенном интерфейсе без защиты. Предпочитайте SSH transport Docker context либо настройте TLS с доверенным CA, сертификатом сервера и обязательной аутентификацией клиентского сертификата.
  4. 4Если используете TLS, проверьте firewall и маршруты, храните закрытые ключи с ограниченными правами и не считайте сам факт TLS доказательством безопасной конфигурации без проверки CA и клиента.
  5. 5Рассмотрите Rootless mode, если он подходит workload и инфраструктуре. Проверьте требования newuidmap, newgidmap, /etc/subuid и /etc/subgid; rootless уменьшает привилегии daemon, но требует отдельной оценки совместимости.
  6. 6Примените изменения на тестовом хосте. Проверьте docker info и context, затем подтвердите с разрешённой административной машины, что управление работает, а неавторизованный сетевой доступ блокируется.
  7. 7Если endpoint ранее был доступен посторонним, сохраните журналы, проверьте контейнеры и хост, а раскрытые учётные данные или ключи замените после локализации риска.

Примеры конфигурации и проверки

Проверить активный Docker context и режим daemon (shell)
docker context show
docker info

Запускайте на доверенной административной машине с настроенным Docker CLI. Команды только читают состояние. Не публикуйте вывод целиком: он может раскрывать имена хостов и внутренние параметры. Проверка не доказывает, что endpoint недоступен из сети или что все клиенты аутентифицированы. Откат не нужен.

Как не подпустить ботов к сайту

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

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

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