От кода до пользователей
Деплой — выпуск новой версии приложения в работу. В облаке его автоматизируют конвейером CI/CD.
При чём тут безопасность: конвейер имеет доступ к боевой инфраструктуре и секретам. Если его взломать, злоумышленник выпустит свой код от имени компании — это атака на цепочку поставок.
Типичный путь
- Разработчик отправляет код в репозиторий.
- CI запускает сборку и тесты.
- Автоматические проверки безопасности: зависимости, секреты в коде, IaC.
- Сборка артефакта — пакета или образа.
- Развёртывание на тестовое окружение, затем в боевое.
- Мониторинг работы.
Пример: это приложение
CyberStreak развёрнут именно так:
- код лежит на GitHub;
- Vercel при каждом изменении собирает и публикует фронтенд;
- Supabase хранит базу данных и серверные функции, которые выкатываются командой
supabase functions deploy; - секреты хранятся в настройках платформ, а не в репозитории.
Безопасность конвейера
- Секреты — в хранилище секретов CI, с минимальными правами.
- Защищённая основная ветка: изменения только через ревью.
- Проверка зависимостей и поиск секретов при каждой сборке.
- Отдельные окружения: тестовое не должно иметь доступ к боевым данным.
- Журналирование всех выкладок.
Откат
Хороший процесс деплоя позволяет быстро откатиться на предыдущую версию, если что-то пошло не так.
Для безопасности это важно так же, как для надёжности: если выкатили уязвимую или скомпрометированную версию, её нужно убрать за минуты.
Главное за урок
- CI/CD: код → сборка и тесты → проверки безопасности → выкладка → мониторинг.
- Конвейер — ценная цель: защищай секреты и основную ветку.
- Нужна возможность быстро откатиться.