Вы находитесь на странице: 1из 1

1. Выбирайте минимальные образы 5.

Не забывайте очистить образ от важных данных


Иногда легко случайно забыть в контейнере важную нформацию
В отчете Snyk о состоянии безопасности открытого исходного
кода - 2019 г. обнаружено что образы могут содержать до 580  Используйте многоступенчатые сборки
уязвимостей в системных библиотеках операционной системы.  Используйте команду secret
 Остерегайтесь рекурсивной копии, используйте .dockerignore
 Используйте образы с наименьшим кол-вом библиотек ОС и
инструментов для снижения риска 6. Используйте фиксированные теги для неизменности
 Предпочитайте образы на основе alpine вместо полноценных ОС
Каждый образ Docker может иметь несколько тегов, которые
2. Меньше привилегий являются вариантами одних и тех же образов
Включите создание выделенного пользователя и выделенной
группы в образе Docker; используйте директиву USER в Dockerfile,  Подробный тег образа, с помощью которого можно отметить версию и
для запуска приложения с минимально возможным доступом операционную систему. Например FROM node:8-alpine
 Хэш образа чтобы более точно позиционировать версию
FROM node:10-alpine 7. Используйте COPY вместо ADD
USER node
CMD node index.js Произвольные URL, указанные для ADD, могут привести к атакам
Образы Docker: MITM. Кроме того, ADD неявно распаковывает локальные
3. Подписывайте и проверяйте образы
Лучшие практики по архивы, которые могут не следует ожидать, что приведет к
Мы привыкли доверять образу Docker скачанному из интернета обходу пути и уязвимостям Zip Slip.
безопасности не задумываясь о надёжности его источника Используйте COPY, если не требуется ADD.
 Используйте Notary для подписи своих образов 8. Используйте метки данных
Авторы
- Node.js Security WG &  Проверяйте доверие и целостность подтягиваемых образов Метки с метаданными для образов предоставляют полезную
Developer Advocate из компании Snyk 4. Ищи, исправляй и следи за уязвимостями в open source ПО информацию для пользователей.
- DevSecOps Engineer из Добавляйте к ним также информацию о безопасности.
компании Soluto Регулярно сканируйте образы на уязвимости и сделайте это
Используйте и сообщайте политику касательно информационной
Переведено частью своего CI. Snyk поможет обнаружить уязвимости в
безопасности, добавив файл политики SECURITY.TXT и
– пентестер и системных библиотеках и образах Docker
предоставив эту информацию в метках своих образов.
специалист по ИБ Просканировать образ Docker помощью этих команд:
9. Используйте многоэтапную сборку для безопасных образов
# fetch the image to be tested so it exists locally
$ docker pull node:10 На каждом этапе сборки старайтесь уменьшить её состав до
# scan the image with snyk минимально необходимого, это позволит существенно снизить
$ snyk test --docker node:10 --file=path/to/Dockerfile возможную поверхность атаки на образ
https://snyk.io/ 10. Используйте линтер
Включить мониторинг уязвимостей:
Чтобы избежать распространенных ошибок и учесть
https://securixy.kz/ snyk monitor --docker node:10 рекомендации по передовой практике используйте hadolint