Аудит инфраструктуры как кода
Код инфраструктуры стареет незаметно: состояние без блокировок, секреты в нём открытым текстом, модули скопированы пять раз, провайдеры тянутся непонятно откуда. Проверяем ваш Terraform или OpenTofu с правами только на чтение и даём короткий список: что исправить первым.
plan показывает изменения, которых никто не делал, а провайдеры перестали скачиваться.
Проверяем состояние, расхождения, модули, источники провайдеров и доступы.
Короткий список исправлений по важности и то, что можно исправить за день.
Для кого
- plan регулярно показывает изменения, которых нет в коде.
- tofu init или terraform init перестал скачивать провайдеры, и их кто-то подложил вручную.
- Двое однажды запустили apply одновременно, и вы не уверены, что состояние верное.
- Собираетесь переходить на OpenTofu или в конвейер GitLab и хотите знать, что именно переносите.
- Впереди проверка безопасности, и код инфраструктуры в неё входит.
Что проверяем
| Область | На какие вопросы отвечаем |
|---|---|
| Провайдеры и модули | Откуда скачиваются, закреплены ли версии в lock-файле, не застряли ли на старых версиях. Пример: в реестре OpenTofu провайдер Yandex Cloud остановлен на версии 0.127.0, а в реестре Terraform уже 0.239.0. |
| Состояние (state) | Где хранится, есть ли блокировки, резервные копии и шифрование, лежат ли в нём пароли и ключи открытым текстом. |
| Расхождения | Какие ресурсы сейчас отличаются от кода и почему — по plan с правами только на чтение. |
| Модули | Закреплены ли версии, сколько скопировано вместо переиспользования, что не используется. |
| Безопасность | Находки открытых сканеров Checkov и TFLint, отобранные по значимости для вас, а не выгрузка на 300 страниц. |
| Конвейер и доступы | Кто может запустить apply, откуда и с какими ключами; смотрит ли кто-то plan до применения. |
| Версии и лицензия | Какие версии Terraform и провайдеров у вас работают и насколько код готов к OpenTofu. |
Что получаете
Список по важности
Каждая находка: насколько серьёзна, чем грозит и как исправить.
Отчёт о расхождениях
Все отличия кода от реальности и наше предположение о причине.
Быстрые исправления
То, что ваша команда исправит сама за день, отмечено отдельно.
Оценка остального
Объём больших работ и фиксированная цена, если захотите поручить их нам.
Для госсистем
Приказ ФСТЭК № 117 требует, чтобы контроль конфигураций исключал несанкционированное изменение настроек и обнаруживал такие изменения с выяснением причин (п. 37). Аудит показывает, где инфраструктура меняется в обход кода, и с чего начать, чтобы это закрыть. Требования простым языком →
Как проходит аудит
- Шаг 1
Доступы
Права только на чтение к репозиториям, состоянию и конвейерам. Объём и цену согласуем заранее.
- Шаг 2
Проверка
Сканеры, plan против реального состояния, ручной разбор кода и конвейера.
- Шаг 3
Отчёт
Список по важности, отчёт о расхождениях, разбор с командой.
Сколько займёт аудит, зависит от числа репозиториев и файлов состояния.
Что нужно от вас
- Чтение репозиториев с кодом инфраструктуры и настроек CI.
- Чтение состояния или его копия, ключи облака только на чтение.
- Короткое интервью с одним инженером.
Что не входит
- Исправления — считаем отдельно, если поручите.
- Код приложений и защита во время работы.
Вопросы и ответы
Запуск plan что-нибудь изменит?
Нет. Запускаем только plan с ключами только на чтение. Ничего не применяем.
Смотрите только Terraform?
Terraform и OpenTofu. Если часть инфраструктуры описана другими средствами, отметим это в отчёте.
Сможем исправить всё сами?
Да. Отчёт написан для вашей команды, с конкретными исправлениями.
Сколько у вас кода инфраструктуры?
Сколько репозиториев и файлов состояния, где хранится состояние, какое облако. Ответим с объёмом и ценой.