<b>API-ключи сливают не хакеры, а кривой self-hosted-процесс</b>
В self-hosted инстансе секреты утекают обычно по банальным причинам: лежат в .env рядом с кодом, попали в git, светятся в логах или доступны всем контейнерам через общий volume. Если у сервиса есть доступ к ключу, то доступ есть и у бэкапа, и у разработчика с shell, и у случайного скрипта. Под капотом всё устроено проще, чем кажется.
Минимальный набор защиты:
— хранить секреты отдельно от репозитория и образа;
— выдавать сервису только нужные переменные, а не весь шкаф;
— запрещать вывод секретов в stdout, debug и stack trace;
— ротацию делать не “когда вспомнили”, а по процедуре;
— после деплоя проверять, не уехал ли ключ в .env.backup, history shell и артефакты CI.
Нормальная схема — секреты в менеджере, а в контейнеры они приходят точечно: через mounted file, runtime env или sidecar. Для скриптов арбитража это особенно важно: токены рекламных кабинетов, webhooks, ключи трекинга и доступ к БД не должны жить в одном месте. Контроль над стеком — это контроль над прибылью.
Если нужен быстрый аудит, ищите четыре точки: репозиторий, логи, бэкапы и права на хосте. Владей своим софтом, а не арендуй его — и не раздавай секреты всему кластеру по привычке.
Self-hosted арсенал
@self_hosted_arsenal_ubt
<b>API-ключи сливают не хакеры, а кривой self-hosted-процесс</b>
Этот пост опубликован в Telegram-канале Self-hosted арсенал. Подписаться можно по ссылке: @self_hosted_arsenal_ubt.