![](https://habrastorage.org/getpro/habr/upload_files/e59/f1d/190/e59f1d190f7c48fcca31c510463993da.png)
В этой статье мы рассмотрим 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
, а при обнаружении проблем или уязвимостей — подробная информация о них:
![](https://habrastorage.org/getpro/habr/upload_files/215/4cb/a86/2154cba869d13d5a3d5aac2dcf6a2c0a.png)
Попробуем запустить Dockle в Docker, на скриншоте видно, что утилита отлично работает:
![](https://habrastorage.org/getpro/habr/upload_files/5b9/161/6a1/5b91616a15459bce683d924ed233e788.png)
Основные функции и преимущества Dockle
поиск уязвимостей в образах,
помощь в создании правильного Dockerfile,
простота в использовании, нужно указать только имя образа,
поддержка CIS Benchmarks.
Сравнение с другими инструментами
Существует большое количество похожих инструментов для диагностики безопасности, например: Docker Bench или Hadolint. Но в сравнении с ними Dockle более функциональна:
![](https://habrastorage.org/getpro/habr/upload_files/70c/092/bb8/70c092bb8316bb50ebddd8b7dc3eec82.png)
Применение Dockle в DevSecOps
Думаю, что эта небольшая статья — хорошая отправная точка для начала работы с Dockle. Она может легко использоваться в CI, улучшит ваши пайплайны в соответствии с концепцией DevSecOps.
По ссылкам ниже вы можете найти примеры того, как настроить системы CI / CD для работы с Dockle: