Если вы думаете, что ваш докер-compose.yml Это всего лишь связующее звено инфраструктуры, подумайте ещё раз. Эти файлы часто становятся непреднамеренным хранилищем секретов, жёстко заданных учётных данных, токенов API и переменных окружения, которые попадают в систему контроля версий. После синхронизации с GitHub или любым другим репозиторием эти секреты могут храниться вечно. commit историю.
Разработчики часто относятся докер-compose.yml как неконфиденциальный файл, упуская из виду, как он может служить вектор атакиНебольшая утечка здесь может означать доступ к закрытым сервисам, внутренним API или всей инфраструктуре. Именно за такими секретами Docker-Compose охотятся злоумышленники.
Распространенные способы утечки секретов docker-compose Docker-Compose.yml
Вот некоторые повседневные ошибки разработчиков:
1. Прямое кодирование учетных данных
Пароль в этом докер-compose.yml Теперь он является частью вашей истории Git. Хуже того, он может использоваться и в продакшене. Это одна из самых прямых форм использования секретов docker-compose. экспозиция.
2. Копирование-вставка из общих конфигураций или StackOverflow
Вредные практики быстро распространяются. Копирование небезопасных образцов и использование их «как есть» приводит к раскрытию секретов в любой среде, от разработки до производства.
3. Монтаж .env файлы напрямую, без их защиты
env_file: – .env
.env Файлы часто содержат ключи API или учетные данные, и разработчики забывают добавить их в .gitignoreЭто делает секреты видимыми, если репозиторий является публичным или общим. При обращении к ним они косвенно становятся секретами Docker Compose.
Реальное влияние секретов Docker-Compose на CI/CD
In CI/CD pipelines, скомпрометированные секреты от докер-compose.yml Можно:
- Запуск несанкционированных сборок
- Доступ ограничен услугами постановки или производства
- Внедрение вредоносного кода в развертывания
- Откройте задние двери посредством бокового движения
Злоумышленники сканируют общественные GitHub репо искать докер-compose.yml Файлы, созданные с помощью дорков GitHub или автоматизированных инструментов. Обнаружив секреты, они могут выдавать себя за исполнителей непрерывной интеграции, злоупотреблять облачными кредитами или, что ещё хуже, внедрять программы-вымогатели в цепочки поставок. Эти секреты Docker Compose представляют собой серьёзную и часто... незамеченная уязвимость.
Безопасное обнаружение и управление секретами
Используйте инструменты сканирования:
- TruffleHog, Гитликс или Ксигени может обнаружить секреты в вашем репозитории, включая старые commits.
- Запустите сканирование в вашем CI pipeline для блокировки PR, содержащих секреты.
Замените прямые секреты переменными окружения:
услуги:
приложение:
изображение: myapp
Окружающая среда:
DB_PASSWORD: ${DB_PASSWORD}
Используйте менеджер секретов для инъекций БД_ПАРОЛЬ во время выполнения, не допуская его в свой докер-compose.yml. Такой подход помогает снизить риски, связанные с секретами Docker Compose.
Интеграция секретных менеджеров:
Такие инструменты, как Vault, AWS Secrets Manager или Doppler, надежно обрабатывают секреты и предоставляют политики ротации.
Лучшие практики для разработчиков DevSecOps по предотвращению раскрытия секретов Docker-Compose
- Никогда не зашифровывайте секреты in докер-compose.yml.
- Добавить .env в .gitignore, всегда.
- Используйте секретные инструменты сканирования в вашем местном отделе разработки и CI/CD pipeline.
- Просмотреть файлы для составления как часть вашего контрольного списка по связям с общественностью в сфере безопасности.
- Автоматизировать секретную ротацию, особенно для токенов и учетных данных услуг.
- Аудит примеров сторонних составов перед их копированием в вашу кодовую базу.
- Относитесь ко всем конфиденциальным данным в этих файлах как к секретам Docker Compose и управляйте ими соответствующим образом.
Ваша Docker-Compose.yml Возможно, это ваша самая большая слепая зона безопасности
Ваша докер-compose.yml Это больше, чем просто конфигурация; это часть поверхности атаки вашего приложения. Относитесь к ней как к коду. Секреты, скрывающиеся в этих файлах, представляют реальную угрозу, особенно если они синхронизированы с системой контроля версий и интегрированы в CI/CD.
Такие инструменты, как Xygeni, помогают обнаруживать и управлять секретами Docker Compose в кодовых базах и pipelines, снижая риск атак на цепочки поставок. Интегрируйте его в свой рабочий процесс, чтобы обеспечить прозрачность и контроль над тем, что вы делаете. докер-compose.yml может быть разоблачительным.





