
API-ключ или токен часто позволяет приложению обращаться к сервису без участия человека. Если такой секрет попадает в открытый репозиторий, браузерный код или журнал, посторонний может получить доступ в пределах его полномочий. Удаление видимой строки не отменяет уже раскрытый ключ.
Где секретам не место
- Публичный JavaScript и мобильное приложение, если ключ должен быть закрытым.
- Исходный код и история репозитория.
- Скриншоты, обращения в поддержку и общие чаты.
- URL с параметрами, попадающими в журналы.
- Тестовые конфигурации, доступные через веб-сервер.
Как организовать хранение
Выбирайте управляемый механизм, соответствующий инфраструктуре: хранилище секретов, защищённые параметры окружения или другой поддерживаемый способ. Само название механизма не гарантирует безопасность: нужно ограничить чтение, резервирование и отображение в диагностике.
Разделяйте тестовые и рабочие ключи. Каждая интеграция должна иметь владельца, минимальные права и понятную процедуру отзыва. Если провайдер поддерживает ограничения по ресурсам или другим признакам, оценивайте их применимость к вашей схеме.
Как менять ключ без остановки
При поддержке нескольких активных ключей сначала создают новый, обновляют потребителей, проверяют работу и затем отзывают старый. Если такой возможности нет, согласуют окно изменения и откат. Не оставляйте старый ключ бессрочно только потому, что новая интеграция уже работает.
Что делать при раскрытии
Отзовите или замените секрет по процедуре сервиса, проверьте журналы использования и возможные действия. Затем устраните место утечки, включая историю, временные файлы и диагностические сообщения. Очистка репозитория без отзыва не делает прежний ключ безопасным.
В отчётах и задачах используйте идентификатор ключа или безопасную маску, а не полное значение. Владелец бизнеса должен знать, какие сервисы связаны, кто управляет доступом и как остановить одну интеграцию, не разрушая остальные.
Дополнительно: OWASP: управление секретами.
Читайте также
- Как защитить API сайта от несанкционированного доступа
- Как безопасно передавать доступы сотрудникам и подрядчикам
- Как проверить сторонние скрипты и виджеты на риски для сайта
Если задача связана с вашим сайтом, можно обсудить проверку и доработку. Объём работ определяется после знакомства с проектом.


