Куда я попал?
AppSec Table Top: методология безопасной разработки от Positive Technologies
Framework
Автоматизация процесса развёртывания
Для проведения оценки соответствия по документу войдите в систему.
Список требований
-
Инициатива: Настройка параметров развёртывания
Описание:
Автоматизация развертывания — это процесс, который позволяет переносить приложения между различными средами (разработка, тестирование, эксплуатация) и настраивать их конфигурацию без необходимости вносить изменения в сам код. Ключевой принцип — отделение кода приложения от его конфигурационных параметров, которые могут легко меняться без перекомпиляции.
Автоматизация развертывания достигается благодаря стандартизации процессов и использованию инструментов (например, Jenkins, Ansible, Docker, Kubernetes). Настройка параметров развертывания осуществляется через конфигурационные файлы или специальные инструменты, которые позволяют легко изменять параметры без необходимости в изменении кода. Такой подход значительно сокращает время развертывания, минимизирует риски возникновения ошибок, делает процесс развертывания более гибким, а также оптимизирует работу сотрудников, освобождая их от рутинных задач.
Важно, чтобы подробная инструкция по развертыванию была задокументирована для повторного использования, а также упрощения и понимания процесса [OAD4].
Шаги реализации:- Проанализировать архитектуру, специфику и ограничения приложения.
- Выбрать подходящий подход: CI/CD, контейнеризация (Docker), оркестрация (Kubernetes) или др.
- Выбрать инструменты для автоматизации.
- Подготовить инфраструктуру под различные среды (разработка, тестирование, эксплуатация) — создать необходимые серверы, виртуальные машины/кластеры и сервисы для размещения инструментов автоматизации и хранения артефактов развертывания.
- Разработать конфигурационные файлы для каждой среды, включая параметры развертывания, настройки баз данных, сервисов и т. д.
- Использовать переменные для упрощения настройки параметров и уменьшения дублирования кода.
- Проверить правильность конфигурационных файлов, убедиться, что они работают как задумано.
- Разработать скрипты (например, на Bash, Python, Ansible) для автоматизации развертывания.
- Интегрировать выбранные инструменты с разработанными скриптами для автоматизации процесса развертывания.
- Внедрить автоматизированный процесс развертывания в рабочий процесс разработки.
- Задокументировать процесс развертывания с описанием конфигураций, скриптов и подробными инструкциями.
- Довести информацию до сотрудников и разместить на внутреннем портале.
Зона ответственности: ИТ
Инструмент: CI/CD
Артефакт: Артефакты процесса разработки -
Инициатива: Выход обновлений
Описание:
При развертывании приложений крайне важно внедрить механизмы обновления, которые позволяют бесшовно и с минимальным временем простоя накатывать обновления новых версий.
Такой подход обеспечивает бесперебойную работу приложения и минимизирует риски сбоев во время обновления. Очень важно строго соблюдать правила контроля версий [GF1], чтобы обеспечить прозрачность изменений и возможность отката к предыдущей версии в случае необходимости. Автоматизация процесса обновления с помощью скриптов или специальных инструментов позволит ускорить процесс и снизить риск ошибок.
Важно, чтобы описание всего процесса обновления, включая шаги установки, отката и отслеживания работы обновлений, было задокументировано [OAD4]. Документация поможет разработчику или администратору понять процесс и внести изменения при необходимости.
Шаги реализации:- Уточнить требования к обновлению приложения: SLA, частота обновлений, критичность приложения и т. д.
- Изучить текущие процессы развертывания.
- Разработать скрипты (например, на Bash, Python) для автоматизации процесса обновления.
- Разработать скрипты отката к предыдущей версии приложения в случае необходимости.
- Интегрировать скрипты с выбранными инструментами автоматизации развертывания для обеспечения гладкого процесса обновления и отката.
- Внедрить механизм обновления в рабочий процесс развертывания.
- Настроить мониторинг процесса обновления для отслеживания ошибок, сбоев и других проблем.
- Дополнить документацию механизмами обновления, включая шаги установки, отката и отслеживания работы обновлений.
- Довести информацию до сотрудников и разместить на внутреннем портале.
Зона ответственности: ИТ
Инструмент: CI/CD
Артефакт: Артефакты процесса разработки -
Инициатива: Комплексность выполнения конвеера
Описание:
Перед развертыванием приложения необходимо убедиться, что оно прошло все этапы и необходимое тестирование, соответствует всем требованиям качества и безопасности, а также соблюдает ОРД Компании [OAD5]. Это особенно важно в рамках CI/CD-конвейера, где автоматизация может ускорить процесс и повысить риск развертывания уязвимого продукта.
Этапы проверки включают:- Функциональное и нагрузочное тестирование.
- Инструментальные проверки безопасности.
- Проверку соответствия требованиям и политике безопасности компании.
В идеале проверка происходит во время ПСИ, но в контексте глубокой автоматизации процесса развертывания риск выхода в продакшн уязвимого продукта увеличивается. Для минимизации этого риска можно применять Quality Gate [VC1] в блокирующем режиме, что предотвращает развертывание приложения, если оно не удовлетворяет заданным критериям.
Шаги реализации:- Проанализировать документацию по процессу разработки и выявить необходимые шаги, проверки и требования, необходимые для разрешения развёртывания приложения.
- Выявить несоответствия и разработать план корректировки процесса.
- Настроить пайплайны разработки в соответствии с выявленными требованиями, добавить все необходимые шаги и виды тестирования.
- Внедрить QG в пайплайн разработки для автоматизации проверки качества и недопущения уязвимого продукта в промышленную эксплуатацию.
- Обновить документацию по процессу разработки в соответствии с изменениями.
- Довести информацию до сотрудников и разместить на внутреннем портале.
Зона ответственности: ИТ
Инструмент: CI/CD
Артефакт: Артефакты процесса разработки
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.