В этой статье мы рассмотрим Dockle — инструмент для проверки безопасности образов контейнеров, который можно использовать для поиска уязвимостей. Кроме того, с его помощью можно выполнять проверку на соответствие Best Practice, чтобы убедиться, что образ действительно создаётся на основе сохраненной истории команд.
Установка Dockle
Трудностей при установке утилиты возникнуть не должно:
Установка в OSX
$ brew install goodwithtech/r/dockle
Установка в Linux
# RHEL
$ VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" | \
grep '"tag_name":' | \
sed -E 's/.*"v([^"]+)".*/\1/' \
) && rpm -ivh https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Linux-64bit.rpm
#Ubuntu
$ VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" | \
grep '"tag_name":' | \
sed -E 's/.*"v([^"]+)".*/\1/' \
) && curl -L -o dockle.deb https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Linux-64bit.deb
$ sudo dpkg -i dockle.deb && rm dockle.deb
После установки утилиты всё, что вам нужно сделать, — это указать имя образа. Больше ничего настраивать не нужно, вам даже не потребуется Docker.
Пример использования Dockle
Запускаем утилиту, указав имя образа. Если проблем нет, в консоль будет выведено сообщение PASS
, а при обнаружении проблем или уязвимостей — подробная информация о них:
Попробуем запустить Dockle в Docker, на скриншоте видно, что утилита отлично работает:
Основные функции и преимущества Dockle
поиск уязвимостей в образах,
помощь в создании правильного Dockerfile,
простота в использовании, нужно указать только имя образа,
поддержка CIS Benchmarks.
Сравнение с другими инструментами
Существует большое количество похожих инструментов для диагностики безопасности, например: Docker Bench или Hadolint. Но в сравнении с ними Dockle более функциональна:
Применение Dockle в DevSecOps
Думаю, что эта небольшая статья — хорошая отправная точка для начала работы с Dockle. Она может легко использоваться в CI, улучшит ваши пайплайны в соответствии с концепцией DevSecOps.
По ссылкам ниже вы можете найти примеры того, как настроить системы CI / CD для работы с Dockle: