Пятый фактор
Обсудить задачу
Безопасность и эксплуатация

Аудит безопасности Docker-контейнеров

Аудит безопасности Docker-контейнеров показывает, какие полномочия они получают на хосте, какие порты видит интернет, куда монтируются файлы и как приложение получает пароли. Подготовим безопасные Dockerfile и Compose: отдельные пользователи, точные capabilities, внутренние сети, ограничения ресурсов и защищённые секреты. Затем пересоберём стек и подтвердим работу сайта, базы, очереди и фоновой задачи.

Срок: 6 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • Приложение выросло из быстрого Docker Compose, контейнеры работают от root, база опубликована на 0.0.0.0, а назначение volumes и сетей знает только прежний разработчик.
  • В прикладной контейнер смонтирован /var/run/docker.sock или широкий каталог хоста, используется privileged, а несколько сервисов читают общий файл с производственными секретами.
  • Базовые образы и пакеты фиксировались давно, сборка тянет плавающие теги, ресурсы контейнеров свободно занимают весь хост, а сканирование перед релизом отсутствует.

Что именно мы сделаем

01

Собираем контейнеры, образы, сети, тома, порты и файлы запуска.

02

Проверяем пользователей, privileged, capabilities, socket и монтирования.

03

Разделяем сети, секреты и права записи, задаём лимиты.

04

Фиксируем базовые образы и сканируем итоговую сборку.

05

Пересобираем стек и проверяем основной пользовательский сценарий.

Что входит в стоимость

29 900 ₽ за всю работу

Инвентаризируем Docker Engine, контейнеры, образы, Compose, Dockerfile, сети, volumes, опубликованные порты и способы сборки. Проверяем docker.sock, privileged, users, capabilities, no-new-privileges, read-only filesystem, лимиты CPU, памяти и процессов, секреты, логи и источники базовых образов. Готовим исправленные файлы, собираем тестовый стек, сканируем итоговые образы и проверяем приложение.

Что будет готово

Материалы

Передадим вам

  • Исправленные Dockerfile и Compose с пользователями, сетями, томами, портами, healthcheck, ограничениями ресурсов и безопасной передачей секретов.
  • Карта контейнеров и связей, таблица образов и digest, результаты сканирования, перечень открытых портов и обоснованных runtime-прав.
  • Инструкция сборки, запуска, обновления, просмотра журналов и отката вместе с протоколом функционального теста чистого стека.
Проверка

Перед сдачей проверим

  • Стек собирается из переданных файлов, все контейнеры получают ожидаемый health status, сайт и фоновая операция проходят контрольный сценарий после чистого запуска.
  • База и служебные порты доступны только из предназначенной сети, прикладные контейнеры лишены docker.sock и privileged, процессы работают с выбранным UID и capabilities.
  • Секреты отсутствуют в слоях итогового образа и открытом журнале, лимиты видны в конфигурации, а отчёт сканирования связан с точным digest проверенной сборки.

Как это выглядит на практике

Схема результата услуги «Аудит безопасности Docker-контейнеров»

PHP-приложение, очередь и PostgreSQL в Compose

  1. 01

    Проверка показывает внешний порт PostgreSQL, PHP-процесс от root, общий writable volume и файл.env, скопированный внутрь одного из слоёв образа.

  2. 02

    Переводим приложение на отдельный UID, закрываем базу во внутренней сети, разделяем volumes, ограничиваем capabilities и передаём секрет только при запуске.

  3. 03

    Фиксируем базовый образ, обновляем пакеты, задаём memory и PID limits, затем собираем новый digest и запускаем сканирование.

  4. 04

    Создание заказа, запись в базу и обработка очередью завершаются успешно, а внешний обзор хоста показывает только HTTP/HTTPS.

Что понадобится для работы

От вас

  • Репозиторий Dockerfile, Compose и deployment-файлов, доступ к тестовому Docker-хосту и способ сборки образов.
  • Перечень ожидаемых внешних портов, volumes, интеграций, healthcheck и команд, которыми команда проверяет работу приложения.
  • Тестовые секреты или доступ к выбранному хранилищу, реестр образов и окно для пересборки тестового контура.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 29 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 26 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Подходит ли аудит для обычного Docker Compose?

Да. Compose служит основным сценарием: проверяем build, runtime, сети, volumes, ports, secrets, healthcheck и команды эксплуатации всего связанного стека.

Потребуется ли перевод всего Docker в rootless mode?

Решение зависит от приложения и хостинга. Часто основной эффект дают непривилегированный пользователь контейнера, точные capabilities, no-new-privileges и изоляция сокета.

Как будут передаваться значения из файла env?

Обычные настройки отделим от секретов. Чувствительные значения перенесём в доступный runtime-механизм или secrets manager и проверим их получение приложением.

Аудит включает проверку известных уязвимостей образа?

Да. Фиксируем базовые образы и digest итоговой сборки, сканируем пакеты и связываем вывод с точной версией, которая прошла функциональный тест.

Сохранится ли удобный запуск для разработчиков?

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

Проверяется ли запуск контейнеров от root и опасные capabilities?

Да. Сверяем пользователя процесса, privileged, capabilities, доступ к Docker socket, устройствам и host namespaces. Для нужных прав фиксируем назначение, остальные убираем и проверяем запуск.

Можно найти секреты, попавшие в слои Docker-образа?

Да. Проверяем Dockerfile, историю слоёв, build arguments, контекст сборки и итоговый образ. После переноса секрета требуется собрать новый образ и сменить раскрытое значение.

Проверяются ли registry и происхождение базовых образов?

Да. Фиксируем registry, тег, digest и источник базового образа, оцениваем обновления и доступ к приватному registry. Это позволяет повторить сборку с ожидаемым составом.

Цена и изменения по ходу работы

Цена на странице окончательная?

Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.

Что означает резерв незапланированных работ?

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

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.

Как учитываются платные лицензии и внешние сервисы?

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

Проверка результата и гарантия

Как принимается готовая работа?

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

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующие шаги по защите

Связанные работы выстроены в практическом порядке. Можно начать с текущей задачи или перейти к соседнему этапу.

  1. 01Укрепление Linux/VPS-сервера сайта

    Проверить Linux и сетевой доступ

  2. 02Аудит безопасности Docker-контейнеров

    Проверить Dockerfile и runtime

  3. 03Проверки безопасности в CI/CD

    Добавить проверки в pipeline

Все услуги по безопасности веб-инфраструктуры

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.