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