{"meta":{"title":"Секретные риски утечек","intro":"Секреты, такие как API-ключи, пароли и токены, зафиксированные в репозиториях, могут быть использованы неавторизованными пользователями, создавая безопасность, соответствие требованиям и финансовый риск для вашей организации.","product":"Безопасность и качество кода","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/code-security","title":"Безопасность и качество кода"},{"href":"/ru/enterprise-cloud@latest/code-security/concepts","title":"Concepts"},{"href":"/ru/enterprise-cloud@latest/code-security/concepts/secret-security","title":"Секретная охрана"},{"href":"/ru/enterprise-cloud@latest/code-security/concepts/secret-security/secret-leakage-risks","title":"Секретные риски утечек"}],"documentType":"article"},"body":"# Секретные риски утечек\n\nСекреты, такие как API-ключи, пароли и токены, зафиксированные в репозиториях, могут быть использованы неавторизованными пользователями, создавая безопасность, соответствие требованиям и финансовый риск для вашей организации.\n\n## Что такое секреты?\n\nСекреты — это удостоверения, предоставляющие доступ к чувствительным системам и данным. Распространенные примеры:\n\n* Ключи и токены API, используемые для аутентификации с внешними сервисами\n* Пароли базы данных и строки подключения\n* Учетные данные облачных провайдеров и токены сервисных аккаунтов\n* Сертификаты и ключи шифрования\n\nКогда секреты сохраняются в репозиториях, они становятся **жёстко закодированными учетными данными** , встроенными непосредственно в исходный код или конфигурационные файлы. Эти закодированные секреты становятся частью вашей истории Git и остаются доступными даже после удаления из последнего коммита. Это означает, что устранение утечки учетных данных требует большего, чем просто удаление файла; Также необходимо отозвать и заменить учетные данные, чтобы предотвратить несанкционированный доступ.\n\n## Как тайны раскрываются\n\n**Секретное распространение** происходит, когда учетные данные распространяются по репозиториям, командам и системам без централизованного управления или видимости. Это затрудняет отслеживание, какие секреты существуют, где они используются и были ли они раскрыты. Секреты обычно попадают в хранилища через несколько распространённых шаблонов.\n\n### Рабочие процессы разработки\n\n* Жёстко закодированные учетные данные, добавленные во время локального тестирования и случайно зафиксированные\n* Секреты в конфигурационных файлах, таких как `.env` файлы или шаблоны инфраструктуры как код\n* Примеры учетных данных с реальными API-ключами или токенами в документации, вики или README-файлах\n\n### Управление репозиторием\n\n* Наследственные репозитории с забытыми, но всё ещё активными учетными данными\n* Секреты, которыми делятся в GitHub выпусках, комментариях к pull request, обсуждениях или сути\n* Аккредитации, представленные внешними участниками или подрядчиками\n\n### Распространение контроля версий\n\n* Секреты сохраняются в истории Git даже после удаления из текущего кода.\n* Учетные данные распространяются в форкированные репозитории, системы резервного копирования и логи CI/CD.\n* Публичные хранилища с раскрытыми секретами индексируются поисковыми системами и специализированными сервисами сканирования.\n\n## Угрозы безопасности\n\nРаскрытые секреты могут привести к нескольким типам инцидентов с безопасностью.\n\n### Неавторизованный доступ\n\nУтечки учетных данных дают неавторизованным пользователям прямой доступ к вашим системам. После раскрытия жёстко заданные секреты могут быть использованы для:\n\n* Предоставление инфраструктуры или услуг на вашем аккаунте с использованием утекших учетных данных облачного провайдера\n* Доступ к чувствительным данным клиентов или организаций через скомпрометированные учетные данные базы данных\n* Доступ к производственным системам через доступные сервисные токены\n\n### Утечки данных\n\nУтечки учетных данных дают несанкционированным пользователям прямой доступ к вашим системам, что приводит к утечкам данных. После того как злоумышленники получают доступ с помощью раскрытых учетных данных, они могут извлекать конфиденциальные данные, изменять или удалять критически важную информацию и подрывать доверие клиентов. Утечки данных требуют немедленного реагирования на инциденты, включая отзыв документов, устранение системы и оценку масштаба и последствий утечки.\n\n### Атаки цепочки поставок\n\nОбнаруженные токены реестра пакетов могут использоваться для публикации вредоносных версий вашего программного обеспечения, затрагивая пользователей и организации, зависящие от ваших пакетов.\n\n## Финансовые последствия\n\nРаскрытые секреты могут обойтись вашей компании во многих отношениях.\n\n* **Неожиданные облачные счета**: утечка API позволяет злоумышленникам использовать ваши облачные ресурсы. Они могут запускать вычислительные инстанции, хранить данные или майнить криптовалюту на вашем аккаунте, генерируя крупные счета.\n* **Реагирование на инциденты**: расследование утечек, ротация удостоверений и аудит систем требует значительных инженерных затрат и ресурсов.\n* **Юридические расходы**: Утечки данных могут привести к штрафам, юридическим расходам и уведомлениям.\n* **Долгосрочный ущерб**: потерянные клиенты, выросшие страховые расходы и упущенные бизнес-возможности после того, как инциденты с безопасностью стали достоянием общественности.\n\n## Секретная безопасность с GitHub\n\nGitHub предоставляет инструменты, помогающие вам предотвратить, выявить и устранить секретные утечки:\n\n### 1. Не допускать новых секретов\n\nВключите **защиту Push** для сканирования кода во `git push` время операций и блокировки коммитов с обнаруженными секретами до их появления в вашем репозитории. Это предотвращает добавление жёстко заданных учетных данных в вашу кодовую базу и обеспечивает обратную связь разработчикам в реальном времени в момент риска, охватывая как шаблоны провайдеров для известных сервисов, так и не-провайдерские шаблоны, такие как приватные ключи и универсальные API-ключи.\n\nПоощряйте отдельных разработчиков включать защиту от push для своих личных аккаунтов, чтобы защитить все свои push-файлы GitHub, независимо от политики организации. Это помогает предотвратить тайное распространение, фиксируя утечку учетных данных до того, как они попадут в ваши хранилища.\n\n### 2. Обнаружить существующие секреты\n\nИспользуйте **secret scanning** для постоянного мониторинга ваших репозиториев на предмет жёстко закодированных секретов и генерации оповещений при обнаружении учетных данных, что позволяет быстро отзывать и помещать скомпрометированные учетные данные. Помимо стандартного обнаружения шаблонов поставщиков, вы можете расширить сканирование на паттерны без провайдеров и определить пользовательские шаблоны для специфических для организаций секретов. Это поможет вам получить видимость в секретном разрастании по всей организации.\n\n## Дальнейшие действия\n\nЧтобы защитить вашу организацию от секретных утечек:\n\n1. Проведите бесплатную секретную оценку рисков, чтобы понять текущий риск. [<span class=\"btn btn-primary mt-3 mr-3 no-underline\">Проведите оценку рисков безопасности</span>](https://github.com/get_started?with=risk-assessment)\n\n2. Включите защиту от пуша, чтобы предотвратить появление новых секретов.\n\n3. Включите secret scanning возможность начать выявлять существующие секретные утечки.\n\n4. Создайте безопасные практики управления учетными данными для ваших команд разработчиков.\n\nДля обзора GitHubсекретных функций безопасности см. [Секретная безопасность с GitHub](/ru/enterprise-cloud@latest/code-security/concepts/secret-security/about-secret-security-with-github)."}