DevOps возник из-за культурных, функциональных и технических различий между командами разработчиков, желающими часто выпускать свои продукты, и командами эксплуатации, желающими поддерживать надежность и стабильность.
Культура DevOps — это сотрудничество, мышление и способы достижения этих целей, включая практики DevOps — непрерывную интеграцию и доставку (CI/CD), инфраструктуру как код (IaC), AIOps, которая использует машинное обучение для мониторинга приложений.
По мере роста числа людей и компаний, внедряющих DevOps, стало ясно, что термин «DevOps» не полностью описывает полное состояние движения, его принципы и цели.
Чуть раньше я называл всё это DevQaOps и рекомендую внедрять методы тестирования ShiftLeft везде, где это возможно.
Но не менее важной, если не более важной, является необходимость обеспечения безопасности для всех.
Перенос безопасности в разработку и поддержку или DevSecOps может помочь вам в этом.
Чтобы улучшить методы кодирования, устранить уязвимости в процессе разработки и предоставить высокозащищенные приложения, DevSecOps следует внедрить как можно раньше.
Безопасность программного обеспечения начинается с разработчиков
До появления DevOps команды разработчиков часто обеспечивали безопасность операций на заключительных этапах процесса выпуска приложения, обычно в качестве обязательного этапа доски изменений ( ТАКСИ ).Поскольку группы безопасности прибыли на этот процесс так поздно, у них было мало времени, чтобы ознакомиться с бизнес-требованиями, понять технические изменения, оценить риски и провести тесты безопасности.
Если они подтверждали проблемы, у них было слишком мало времени, чтобы решить их, не пропустив сроки выпуска, а проблемы, требующие значительных изменений кода, оставляли команду разработчиков перед трудным выбором ( Это знакомая тема, я однажды оказался в такой ситуации , ок.
переводчик).
Тестирование безопасности на поздних стадиях процесса выпуска может представлять собой критический риск для команд DevOps, увеличивающих частоту выпусков или желающих перейти на микросервисы.
Согласно отчету Состояние DevOps в 2019 году ( перевод на русский ), опубликованных DORA и Google Cloud, 43% респондентов считались высокоэффективными или элитными исполнителями, выпускающими приложения ежедневно или еженедельно.
Это значительное увеличение количества производственных развертываний, частота которых требует внедрения передовых методов обеспечения безопасности на ранних этапах процесса разработки.
Команды гибкой разработки и информационная безопасность должны работать вместе в следующих областях:
- Знакомство с требованиями безопасности, архитектурой и принципами разработки;
- Обеспечение автоматизированных тестов безопасности в конвейерах CI/CD;
- Мониторинг угроз приложениям, решение проблем безопасности.
Первый , второй , третий ссылки.
Совместная работа над требованиями безопасности, архитектурой и принципами проектирования.
Команды разработки и информационной безопасности должны вместе работать над обеспечением безопасности в процессе гибкой разработки еще до начала фактического написания кода.
В отчете Состояние DevOps , опубликованном Puppet, CircleCI и Splunk, авторы определили несколько лучших практик сотрудничества между командами разработчиков и служб информационной безопасности:
- Эти команды должны работать над моделями угроз.
- Функциональные и нефункциональные требования безопасности должны быть включены в список высокоприоритетных задач.
- Требования безопасности следует рассматривать как архитектурные ограничения.
Разработчикам следует сотрудничать с информационной безопасностью при работе над требованиями, архитектурой, дизайном и реализацией частей приложения, которые обрабатывают пользовательские данные, управление авторизацией и другие конфиденциальные данные.
Для менее рискованных изменений кода гибкие команды должны описать критерии принятия пользовательских историй, которые учитывают требования и ограничения информационной безопасности.
Разработчикам Agile также следует учитывать принципы основы безопасности от OWASP , включая несколько лучших практик:
- Установите политики безопасности по умолчанию в различных областях, таких как срок действия пароля.
- Реализация принципа наименьших привилегий при определении ролей и предоставлении доступа к бизнес-процессам.
- Понимание принципов безопасности, таких как разделение задач, «недоверенные» сервисы, минимизация поверхности атаки, избежание безопасности за счет неясности.
- Быстро устраняйте проблемы безопасности после понимания коренных причин и внедрения комплексных исправлений.
Здесь вы можете использовать лучшие практики для используемых вами языков программирования и платформ, включая методы Университет Карнеги Меллон , университет Мичигана .
Если вы выполняете развертывание в публичных облаках, вам также необходимо изучить лучшие практики, например, АВС , Лазурный , Google Облако
Тестирование безопасности в конвейерах CI/CD
Следующий этап учета безопасности — конвейеры CI/CD, где автоматизированные проверки кода и безопасности могут остановить процесс сборки и уведомить разработчиков.Некоторые из наиболее распространенных методов и инструментов, которые следует учитывать при написании стандартов безопасности для конвейеров CI/CD:
- Структуры статического тестирования безопасности приложений (SAST), например.
СонарКуб , Веракод , Дозорный источник И Галочка проверьте исходный код на наличие различных уязвимостей и шаблонов.
Например, SonarQube проверяет неправильные входные данные (анализ порчи), межсайтовый скриптинг, раскрытие конфиденциальных данных и известные уязвимости.
Разработчики Veracode утверждают, что они проанализировали более 11 триллионов строк кода и имеют менее 5% ложных срабатываний.
Checkmarx поддерживает более 20 языков программирования и соответствует стандартам PCI-DSS, HIPAA, FISMA и другим нормативным стандартам.
Все три инструмента работают со многими IDE и платформами CI/CD. Есть также SAST и с открытым исходным кодом, например КодВоин И NodeJsScan .
OWASP также перечисляет больше 20 инструментов и заявляет, что к их недостаткам относятся обнаружение проблем с конфигурацией, уязвимости в аутентификации и управлении доступом.
- Инструменты проверки зависимостей проверяют последующие программные компоненты, включая библиотеки с открытым исходным кодом, и сообщают об уязвимостях.
GitLab Безопасный поддерживает SAST и другие инструменты безопасности, включая проверку зависимостей, и может работать с Java, JavaScript, PHP, Python, Ruby, Scala и Go. Проверка зависимостей OWASP имеет поддержку в Jenkins, CircleCI и SonarQube. С помощью Security Manager с открытым исходным кодом Snyk разработчики могут находить и удалять уязвимости в открытом исходном коде.
Microsoft недавно выпустила Инспектор приложений , инструмент анализа кода, который работает с более чем 400 шаблонами, включая функции проверки безопасности.
- Тестирование на проникновение уже широко используется, но многие организации проводят его по старинке, отдельно от процессов кодирования, сборки и развертывания цикла разработки программного обеспечения (SDLC).
Еще один известный инструмент ОВАСП ЗАП (Zed Attack Proxy) можно подключить к Комплексы CI/CD, например Jenkins и просмотрите развертывания.
В серии видеороликов DevOps весь день Саймон Беннеттс, менеджер проекта ZAP, сказал: «Чем раньше, тем лучше.
ЗАП для автоматизации покажет себя с лучшей стороны!»
- Инструменты DevOps, а также инструменты разработки и управления облаком обычно предлагают собственные надстройки безопасности.
Например, Jenkins и Azure DevOps имеют более 40 надстроек безопасности, CircleCI предлагает более 20. Microsoft Azure опубликовала методы обеспечения безопасности.
постоянная безопасность , и АВС - Руководство DevSecOps для пользователей CodePipeline .
Технологии безопасности, интеграция и инструменты DevOps быстро развиваются, поэтому группам информационной безопасности и разработчикам приходится периодически обновлять свои знания об этих инструментах в рамках новых дополнений к безопасности.
- Еще одним важным замечанием является обеспечение безопасная работа самих конвейеров CI/CD .
Например, защита ключей и настроек имеет решающее значение для безопасности, поэтому КругCI , Дженкинс И другой предоставить инструменты и рекомендации для их блокировки.
Цикл закрытия безопасности с мониторингом и AIOps
Существует также целый альтернативный набор дисциплин под названием DevSecOps, охватывающий инфраструктуру как код, усиление безопасности контейнеров и настройку облачных сервисов.Кроме того, существуют специальные темы DevSecOps, посвященные безопасности данных, управлению идентификацией и безопасности устройств Интернета вещей.
Если ваши инженерные и программные проекты связаны с инфраструктурой, мобильными устройствами, сетями, Интернетом вещей или аналитикой, вам обязательно понравятся эти специализированные методы и инструменты безопасности для этих областей.
Помимо безопасности данных и инфраструктуры, любой разработчик приложений должен лучше понимать, как приложения работают в производственных средах.
Анализ инцидентов, коренных причин и устранение дефектов являются наиболее важными обязанностями при разработке приложений.
Кроме того, для разработчиков это обычно означает улучшение аналитики, включая журналы инструментов мониторинга приложений.
Новейшие технологии для групп поддержки АИОпс , оно может помочь вам воспользоваться преимуществами машинного обучения и автоматизации для упрощения DevOps и мониторинга приложений.
Группы поддержки обычно работают с разными инструментами мониторинга, но сочетание разных инструментов может замедлить разрешение инцидентов, особенно в сложных мультиоблачных средах и особенно, если команды разработчиков часто выпускают новые версии.
Инструменты AIOps извлекают операционные данные из различных инструментов мониторинга, журналов приложений или частей инфраструктуры.
Затем к этим данным применяется машинное обучение, чтобы отмечать инциденты, запускать автоматические реакции и сокращать время разрешения проблем.
Эти инструменты также помогают исследовать выбросы и медленно развивающиеся проблемы путем анализа длинных рядов операционных данных.
Результатом работы групп информационной безопасности и разработчиков при передаче инцидентов операционной безопасности обратно в процесс гибкой разработки является анализ посредством мониторинга и AIOps. В принципе, это реактивная позиция, но это критический подход для гибких команд и DevOps-компаний, стремящихся управлять и повышать безопасность своих приложений.
Кроме того, решение проблем безопасности требует сочетания упреждающих шагов, предпринятых на ранних этапах процесса гибкой разработки, лучших практик и инструментов в конвейере разработки, а также мер реагирования, основанных на мониторинге производственных систем.
Угрозы безопасности быстро меняются, поэтому гибкие команды и компании DevOps должны постоянно учитывать методы обеспечения безопасности и внедрять новые технологии.
Узнать больше информацию о CI/CD можно найти в бесплатный мини-курс и комплексный курс CI/CD от Slurm .
В опросе могут участвовать только зарегистрированные пользователи.
Войти , Пожалуйста.
Как вы обеспечиваете безопасность своих проектов? 20% Для этого есть отдельная (внешняя) команда 2 40% Никак, все само сформируется 4 40% Пользуюсь рекомендациями сервис-провайдеров/языка программирования/фреймворка и т.д. 4 20% Другое (напишу в комментарии) Проголосовали 2 10 пользователей.
4 пользователя воздержались.
Теги: #информационная безопасность #программирование #Системное администрирование #DevOps #ci/cd #безопасность #разработка ПО #разработка ПО #гибкая разработка
-
Смерть Ie6 Назначена На 13 Марта.
19 Oct, 24