Аудит безопасности Terraform или OpenTofu
Конфигурация Terraform или OpenTofu описывает инфраструктуру, а pipeline превращает изменение текста в реальные сети, базы и права. Аудит связывает три слоя: намерение кода, предложение plan и фактическое состояние облака. Мы проверяем, кто может запускать apply, где хранится state, откуда приходят providers и modules, какие ресурсы становятся публичными и какие параметры содержат чувствительные данные.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Инфраструктура растёт через modules и copy-paste, а команда хочет найти широкие CIDR, роли, публичные endpoints и отключённые журналы.
- State и plan artifacts проходят через CI, поэтому требуется проверить доступ, шифрование, срок хранения и очистку рабочих каталогов.
- Перед apply меняются десятки ресурсов, а обычный validate даёт мало информации о фактическом доступе и замене объектов.
Что именно мы сделаем
Собираем репозиторий, окружения, backends, pipeline, providers, modules, роли apply и правила review.
Запускаем fmt, validate, статический анализ и безопасный plan, маскируя чувствительные значения и state.
Проверяем публичность, IAM, сети, шифрование, журналы, backup, секреты и источники зависимостей в контексте архитектуры.
Добавляем выбранные policy checks и исправляем приоритетные пункты через отдельную ветку и повторный plan.
Передаём отчёт, реестр ресурсов, примеры правил и порядок безопасного review и apply.
Что входит в стоимость
44 900 ₽ за всю работу
Проверяем HCL, variables, outputs, modules, providers, .terraform.lock.hcl, backend, state handling, CI credentials и процедуру plan/apply. validate подтверждает синтаксис и внутреннюю согласованность, а взаимодействие с реальной инфраструктурой оцениваем через plan и отдельные cloud-проверки. Используем Trivy для IaC-сигналов и OPA для выбранных правил, затем вручную разбираем контекст, который статический анализ охватывает частично.
Что будет готово
Передадим вам
- Технический реестр находок с файлом, адресом ресурса, фрагментом plan, влиянием, приоритетом и вариантом исправления.
- Набор выбранных policy checks для CI и инструкция работы со state, plan artifacts, providers и modules.
- Протокол повторного анализа и plan после приоритетных изменений, краткое резюме для владельца инфраструктуры.
Перед сдачей проверим
- Каждая высокая находка связана с конкретным HCL или plan resource и воспроизводится в безопасном режиме проверки.
- Pipeline запускает выбранные checks и останавливает plan с тестовым нарушением правила, сохраняя понятное сообщение разработчику.
- Повторный plan отражает ожидаемое исправление приоритетных пунктов, а секретные artifacts доступны только утверждённым ролям.
Как это выглядит на практике
Публичная база исчезает из плана до apply
- 01
Module создаёт управляемую базу с публичным адресом и firewall, открытым для широкого диапазона ради временной отладки.
- 02
Статический check отмечает параметры, а plan показывает конкретный ресурс, адрес и связанное правило сети.
- 03
Команда переводит доступ в частную сеть, добавляет узкую административную точку и policy для запрета широкого CIDR.
- 04
Повторный plan содержит только ожидаемые сетевые изменения, тестовое нарушение блокируется в pull request с понятным пояснением.
Что понадобится для работы
От вас
- Репозиторий Terraform или OpenTofu, lock-файл, перечень окружений, providers, modules и схема CI/CD.
- Read-only доступ для безопасного plan и проверки облачных настроек либо заранее сохранённые plan JSON и обезличенная архитектура.
- Политики компании, владельцы инфраструктуры, перечень критичных ресурсов и допустимые приоритетные исправления.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 41 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Чем validate отличается от plan?
Validate проверяет синтаксис и внутреннюю согласованность конфигурации. Plan обращается к provider и state, показывая предполагаемые изменения реальных ресурсов.
Почему state считается чувствительным?
State хранит фактические атрибуты ресурсов и способен содержать секретные значения. Атрибут sensitive скрывает вывод, сохраняя значение внутри state.
Какие инструменты используются в аудите?
Применяем штатные fmt, validate и plan, Trivy для IaC misconfiguration, OPA для правил организации и ручную проверку архитектурного контекста.
Проверяются ли сторонние modules?
Да. Смотрим source, версию, происхождение, содержимое, constraints, transitive resources и влияние module на права, сеть, журналы и данные.
Можно добавить проверки в pull request?
Да. Выбранные правила запускаются на HCL или plan JSON, показывают адрес ресурса и блокируют merge по выбранному уровню риска.
Входит ли проверка drift?
Plan показывает расхождение кода, state и доступного provider состояния. Отдельно отмечаем ignore_changes и ресурсы, управляемые параллельными инструментами.
Как защищается plan artifact?
Ограничиваем роли, срок хранения и публикацию логов, маскируем вывод, очищаем workspace runner и учитываем plan как чувствительный файл.
Как принимаются исправления?
Повторяем анализ и plan на той же версии и переменных, сверяем ожидаемые изменения и проверяем тестовое срабатывание добавленных policy checks.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Связанные шаги
- 01Аудит безопасности Kubernetes и Ingress
Провести аудит Kubernetes и Ingress
- 02Аудит безопасности Terraform или OpenTofu
Разобрать IaC, state и plan
- 03Проверки безопасности в CI/CD
Добавить проверки безопасности providers и modules в CI/CD