Изолированное хранение ключей интеграций

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

Где секретам не место

  • Публичный JavaScript и мобильное приложение, если ключ должен быть закрытым.
  • Исходный код и история репозитория.
  • Скриншоты, обращения в поддержку и общие чаты.
  • URL с параметрами, попадающими в журналы.
  • Тестовые конфигурации, доступные через веб-сервер.

Как организовать хранение

Выбирайте управляемый механизм, соответствующий инфраструктуре: хранилище секретов, защищённые параметры окружения или другой поддерживаемый способ. Само название механизма не гарантирует безопасность: нужно ограничить чтение, резервирование и отображение в диагностике.

Разделяйте тестовые и рабочие ключи. Каждая интеграция должна иметь владельца, минимальные права и понятную процедуру отзыва. Если провайдер поддерживает ограничения по ресурсам или другим признакам, оценивайте их применимость к вашей схеме.

Как менять ключ без остановки

При поддержке нескольких активных ключей сначала создают новый, обновляют потребителей, проверяют работу и затем отзывают старый. Если такой возможности нет, согласуют окно изменения и откат. Не оставляйте старый ключ бессрочно только потому, что новая интеграция уже работает.

Что делать при раскрытии

Отзовите или замените секрет по процедуре сервиса, проверьте журналы использования и возможные действия. Затем устраните место утечки, включая историю, временные файлы и диагностические сообщения. Очистка репозитория без отзыва не делает прежний ключ безопасным.

В отчётах и задачах используйте идентификатор ключа или безопасную маску, а не полное значение. Владелец бизнеса должен знать, какие сервисы связаны, кто управляет доступом и как остановить одну интеграцию, не разрушая остальные.

Дополнительно: OWASP: управление секретами.

Читайте также

Если задача связана с вашим сайтом, можно обсудить проверку и доработку. Объём работ определяется после знакомства с проектом.