Серверы в виде текста
Инфраструктура как код (IaC) — описание серверов, сетей, баз данных и правил доступа в текстовых файлах вместо ручной настройки в панели.
При чём тут безопасность: настройки становятся проверяемыми и повторяемыми. Но и ошибка, записанная в код, повторится везде.
Инструменты
- Terraform (HashiCorp) — работает с разными облаками.
- AWS CloudFormation, Azure Bicep — «родные» инструменты провайдеров.
- Ansible — настройка серверов и программ на них.
Файл описывает желаемое состояние, а инструмент сам создаёт или меняет ресурсы.
Плюсы для безопасности
- Проверка до применения: изменения проходят ревью, как обычный код.
- История: в системе контроля версий видно, кто, когда и что поменял.
- Повторяемость: окружения одинаковые, без забытых ручных изменений.
- Быстрое восстановление: инфраструктуру можно пересоздать из кода.
Риски
- Секреты в коде: пароли и ключи, записанные в файлы, попадают в репозиторий.
- Размножение ошибок: открытое хранилище в шаблоне появится в каждом проекте.
- Дрейф: кто-то поменял настройку вручную, и реальность разошлась с кодом.
Как защищать
- Секреты — в хранилищах секретов, а не в коде.
- Автоматические сканеры IaC в конвейере сборки: они находят открытые порты, отключённое шифрование, лишние права до развёртывания.
- Обязательное ревью изменений.
- Регулярная проверка дрейфа.
Главное за урок
- IaC — инфраструктура описана кодом: Terraform, CloudFormation, Ansible.
- Плюсы: ревью, история, повторяемость.
- Риски: секреты в коде и размножение ошибок — нужны сканеры и ревью.