Безопасность DevOps. Обучение сотрудников
В предыдущей статье мы упомянули основную проблему современных практик DevOps и конвейера CI/CD (Continuous Integration/Continuous Delivery). Основная проблема с точки зрения безопасности в том, что проверка уязвимостей и мониторинг безопасности стоят в конце цикла разработки, перед развёртыванием продукта.
Более грамотный подход заключается в том, чтобы интегрировать практики по безопасности DevSecOps на раннем этапе (проактивный подход на КДПВ), а не постфактум. Первым делом программисты проходят обучение на предмет информационной безопасности, см. примерный план программы обучения для разработчиков. После этого инструменты безопасности интегрируются непосредственно в рабочий процесс.
Обучение сотрудников
Подготовка к внедрению DevSecOps включает в себя коллективную ответственность за безопасную разработку и выпуск ПО. Это в своём роде культурная революция, когда каждый разработчик чувствует свою причастность к обеспечению безопасности, а не только к написанию кода.
В последнем отчёте Gartner по внедрению DevSecOps приводятся рекомендации по обучению сотрудников. Первая задача — найти инструкторов (тренеров) по безопасности. Это могут быть сотрудники отделов инфраструктуры и операций (infrastructure and operations, I&O) или разработчики приложений, заинтересованные в безопасности.
Инструкторы обучают разработчиков DevOps, как формулировать требования безопасности и объясняют важность интеграции управления безопасностью в рабочие процессы CI/CD. Они также выявляют потенциальные проблемы на ранних этапах разработки и незамедлительно устраняют их. Точные обязанности и ответственность инструкторов могут быть разными, но они должны отражать приоритеты организации и стиль разработки команд DevOps.
Чтобы успешно реализовать программу инструкторов по безопасности, руководителям DevOps совместно с менеджерами по разработке рекомендуются следующие действия:
- Набрать квалифицированный персонал для работы в качестве инструкторов по безопасности. Среди разработчиков в компании следует выявить тех, кто интересуется вопросами безопасности. Им предлагают стать добровольцами на роль инструктора по безопасности. При наборе кандидатов чётко определите, какие навыки требуются для этой роли.
Инструкторы должны хорошо владеть софт-скиллами, быть коммуникаторами и лидерами, которые готовы сотрудничать с разработчиками, рассказывая им о передовых методах обеспечения безопасности и важности безопасного программирования. Они также должны обладать минимальными базовыми навыками в области безопасности: базовое моделирование угроз, тестирование безопасности приложений и реагирование на инциденты. И они должны быть всегда готовы обновлять свои навыки и учиться новому.
- Обучить инструкторов. Это не просто курсы по безопасности. При создании учебных материалов обсуждаются реальные проблемы, с которыми сталкиваются разработчики. На основании этой информации и создаются курсы. Кроме того, руководители I&O могут внедрить программу поощрения за пройденные этапы обучения и развитие навыков. Например, присваивать «пояса» по безопасности, чтобы обозначить уровень знаний и прогресс инструктора или разработчика. Как в примере на иллюстрации, которую мы уже публиковали ранее:
- Познакомить инструкторов с сотрудниками отдела ИБ для согласования действий. Вообще, руководители DevOps с руководителями ИБ должны совместно продемонстрировать ценность программы коучинга для обоих отделов (например, снижение нагрузки на команду безопасности, расширение знаний о методах обеспечения безопасности в командах, использующих DevOps). Можно начать с выбора посредников (брокеров) — сотрудников отдела безопасности, обладающих знаниями также о разработке и DevOps. Они будут взаимодействовать с инструкторами.
Посредники выступают в роли консультантов с глубокими знаниями, которые помогают инструкторам, чтобы те не утонули в новой работе. Всё-таки это не основные их рабочие обязанности. Эти две группы должны встречаться на регулярной основе (например, еженедельно), обсуждать вопросы безопасности и рекомендации по критическим продуктам.
- Материально поощрять инструкторов (предполагается, что кроме этой роли у них есть ещё и основные рабочие обязанности). Выделите ресурсы для поддержки их карьерного роста. Руководители I&O должны проверять их работу, оценивать прогресс и понимать цели, которые те ставят перед собой, а также проверять эффективность работы инструкторов с разработчиками. Если инструкторы демонстрируют заметные улучшения в процессах, стоит поощрять их за это в соответствии с планом карьерного роста. Например, отправлять на конференции для обучения или спонсировать получение сертификатов. Кроме того, руководители должны незамедлительно выражать устную и письменную благодарность разработчикам, обнаружившим проблемы безопасности.
- Поощрять открытое общение между экспертами по безопасности, сотрудниками отделов I&O и разработчиками. Можно запланировать для них в рабочем графике регулярные встречи, чтобы они могли обсудить свои вопросы, поработать над проблемами и развить определённые навыки. Разработчики могут использовать это время для получения информации о безопасной архитектуре приложений, для планирования требований безопасности. Всё происходит в конструктивной обстановке, при личном общении.
Интеграция безопасности
Интеграция безопасности в процессы DevOps позволяет ускорить вывод продукции на рынок и повысить качество релизов. Для руководителей это совершенно необходимый выбор, потому что риск отказа от автоматизации и сохранения устаревшей методики разработки значительно перевешивает другие риски для бизнеса.
В следующей статье мы подробно рассмотрим конкретные инструменты для интеграции средств безопасности и инструментов оценки рисков в рабочие процессы DevOps.