Напишите нам
info@swordfishsecurity.ru
Связаться с нами Связаться
К другим новостям
  • 15 мая, 9:00

Как защитить секреты в исходном коде: советы от DevSecOps-инженера

Как защитить секреты в исходном коде: советы от DevSecOps-инженера

Пароли, API-ключи, токены доступа — все эти данные часто случайно попадают в публичные репозитории или логи. Одна такая утечка может стоить компании миллионов. Как этого избежать?


Владислав Павловский, ведущий DevSecOps-инженер Swordfish Security, делится ключевыми подходами к защите секретов:


🔹Используйте инструменты класса secret search. Это могут быть как отдельные и явно нацеленные на поиск чувствительных данных инструменты, Gitleaks, Horusec или detect-secrets (для precommit-хуков), так и модули в общих в SAST-системах. Эти решения находят чувствительные данные до того, как они уйдут в прод.


🔹Ротируйте секреты. Удалить — не значит спасти. Репозитории хранят всю историю изменений, а значит чувствительные данные останутся в предыдущих версиях кодовой базы внутри репозитория. Если секрет уже был закоммичен — его нужно ротировать (заменить), иначе он останется доступен в истории репозитория.


🔹Храните секреты в безопасных системах.

Используйте инструменты класса Secret Management. Они обеспечивают шифрование, гибкое управление доступом и легко интегрируются с другими системами. Один из самых популярных и мощных — HashiCorp Vault. Уже в бесплатной версии он даёт всё необходимое для использования в Enterprise-среде. Однако, в связи с изменением лицензии Open Source-версии Vault на BSL в 2024 году, имеет смысл обратить внимание на его форк под названием OpenBao — он развивает идею полноценного менеджмента секретов под более открытой лицензией MPL 2.0 и при поддержке Linux Foundation.


🔹Контролируйте путь секретов в приложении. 

Важно понимать, откуда берутся секреты, как они используются, куда могут утечь. Часто секреты «всплывают» в логах, трейсах ошибок или дампах — и это легко упустить, если не контролировать поток данных на всех этапах.