Особенности DevSecOps в облаке или как управлять безопасностью с помощью CSPM

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

В данной статье мы хотим осветить особенности организации безопасности в облаках и рассказать, как CSPM продукты помогают автоматизировать процесс обеспечения безопасности в рамках методологии DevSecOps. Также расскажем о продукте собственной разработки, который как раз решает эту задачу.

Shift-Left подход в DevSecOps

В погоне за DevOps скоростями по доставке пользователю новых версий продукта перед компаниями появились вызовы в части управления безопасностью. Оказалось, что вместе с поставкой кода необходимо также обеспечивать безопасность продукта, при этом не снижая скорость и гибкость разработки и доставки новых фич. Казалось бы, можно взять и детально протестировать уже готовый продукт на предмет соответствия требованиям безопасности, но вся загвоздка в том, что если на этом этапе выявить проблемы, то все предыдущие этапы выпуска продукта придётся пройти по конвейеру заново, что сильно увеличит затраты на разработку. Таким образом, чем раньше будет выявлена уязвимость, тем дешевле обойдется её исправление. Это называется Shift-Left подход к обеспечению безопасности.

Для того, чтобы обеспечить безопасность на каждом этапе разработки, применяется методология DevSecOps. Данный подход предполагает использование различных методик и инструментов обеспечения безопасности почти для каждого из шагов поставочного конвейера.

Безопасное проектирование. На данном этапе в архитектуре компонентов приложения должны быть продуманы важные моменты, связанные с безопасностью:

  • выбор среды исполнения кода, в том числе платформ, серверов приложений, операционных систем. Ведь при выборе небезопасного окружения выход приложения в Прод может быть заблокирован;

  • определение компонентов приложения, безопасных протоколов и интерфейсов взаимодействия между ними: проработка способов, протоколов и интерфейсов взаимодействия с внешними и внутренними сервисами.

Безопасная разработка:

  • регламенты разработки, в которые включены рекомендации по недопущению уязвимостей в коде, а также безопасные шаблоны проектирования;

  • проектирование кода для безопасного развёртывания инфраструктуры (например, Terraform);

  • статический анализ кода (SAST);

  • Поиск уязвимостей в используемых библиотеках (особенно Open Source) и внешних зависимостях.

Безопасное развёртывание. На данном этапе проверяются:

  • уязвимости исполняемой среды приложения, а также виртуальных машин, операционных систем;

  • динамический анализ приложения (DAST);

  • тестирование на проникновение (PenTesting).

Безопасное сопровождение. Пожалуй, что это самый сложный этап контроля безопасности, так как необходимо не только один раз проверить, что приложение развёрнуто и сконфигурировано безопасно, но и обеспечивать его защиту 24/7 от возможных атак и уязвимостей, а также от небезопасных изменений конфигурации.

Основные задачи данного этапа:

  • обеспечение сетевой безопасности;

  • постоянный контроль и управление уязвимостями;

  • управление пользователями, правами и доступами;

  • мониторинг аномального поведения пользователей с целью выявления атаки;

  • отслеживание и анализ событий журнала аудита безопасности.

DevSecOps в облаке

Вышеописанные подходы также применимы к приложениям и инфраструктуре в облаках. Основные преимущества облаков – это гибкость и наличие практически любых масштабируемых сервисов, поэтому управлять безопасностью в облаке можно с помощью уже готовых, подключаемых продуктов и инструментов. Они очень сильно упрощают и автоматизируют обеспечение безопасности на последнем этапе, когда приложение или продукт развернуто и уже эксплуатируется в облачной инфраструктуре. Облачные среды, как правило, сложные и многоуровневые, что затрудняет выявление и устранение всех потенциальных угроз безопасности.

При развертывании ресурсов и сервисов в облаке существует множество параметров и вариантов конфигураций. Конфигурации управления идентификацией и доступом (IAM) определяют – кто может просматривать, изменять и запускать облачные ресурсы и сервисы. Параметры сети определяют, с какими другими ресурсами сервис может взаимодействовать. Конфигурации управляемых сервисов, такие как параметры окружения, определенные в образах контейнеров, или политики RBAC (Role Based Access Control – управление доступом на основе ролей) в Kubernetes добавляют еще больше уровней и переменных в конфигурации облачной инфраструктуры.

 Наиболее распространенные проблемы безопасности в облаке
Наиболее распространенные проблемы безопасности в облаке

С таким количеством различных вариантов конфигурации легко сделать ошибку, которая ослабит общую безопасность облачной среды. Сотрудник компании может создать политику IAM, позволяющую любому другому сотруднику изменять экземпляр виртуальной машины, или администратор непреднамеренно определит сетевые настройки, которые раскрывают конфиденциальные данные напрямую из бакета S3 любому пользователю в Интернете.

Как контролировать безопасность облачной инфраструктуры с минимальными затратами. Что такое CSPM?

Контролировать безопасность, а также создавать прозрачную конфигурацию облака позволяют продукты для управления состоянием облачной безопасности (CSPM). CSPM — это упреждающий подход к защите инфраструктуры любого масштаба.

CSPM
CSPM

Как правило, неверная конфигурация облачной среды является одной из наиболее распространенных причин, которая может привести к утечке данных, поэтому использование инструмента CSPM может снизить количество инцидентов безопасности в облаке из-за неправильных настроек как минимум на 80%.

Как работает CSPM и какие задачи автоматизирует

Большинство CSPM автоматически сканируют конфигурации в облаке, а затем оценивают настройки на предмет безопасности по широкому набору правил, которые обычно сгруппированы в стандарты. Инструменты CSPM могут делать это на постоянной основе, отслеживая конфигурации в режиме реального времени, и выявлять риски сразу же после их возникновения.

Также многие CSPM предоставляют возможность обработки инцидентов безопасности, которые были выявлены в результате сканирования, и позволяют автоматически исправить ошибки.

Большинство платформ CSPM поставляются со встроенными политиками, но некоторые имеют возможность настройки их в соответствии с конкретными потребностями компании.

Инструменты CSPM также могут визуализировать риски и векторы атак, интегрироваться в процесс разработки, выявляя проблемы безопасности на ранних этапах, до развертывания ресурсов в облаке.

CSPM на российском рынке

На международном рынке имеется большой выбор поставщиков CSPM, но вот российские облака они не поддерживают. Текущий тренд по обеспечению безопасности в облаках на нашем рынке отстаёт от запада, но довольно быстро набирает обороты. Это связано с тем, что использование самих облаков не так давно стало трендом в сегменте Enterprise.

С недавнего времени стал доступен отечественный продукт NeoCAT (Neoflex Cloud Assessment Tool), разработанный Neoflex при партнерстве с Yandex Cloud.

NeoCAT позволяет выявлять, приоритизировать и устранять риски безопасности в облачной инфраструктуре до их реализации злоумышленником. Инструмент показывает информацию о безопасности конфигурации облаков и ресурсов на удобочитаемых дашбордах:

Безопасно ли использовать инструменты безопасности?

NeoCAT не требует установки агентов, либо иного ПО на исследуемые ресурсы, а также не имеет на них никакого влияния в части производительности. Продукт разворачивается в периметре облака пользователя и не передаёт данные во вне. Также не требуется выдачи расширенных прав: достаточно лишь привязать к приложению сервисный аккаунт с правами на чтение конфигурации ресурсов облака.

Если доступ к ресурсам не требуется, то как провести их анализ?

Проверка и анализ рисков безопасности производиться через Cloud API облачного провайдера. Продукт анализирует конфигурацию ресурсов и сервисов облака в соответствии с заданным правилами и условия. На текущий момент поддерживается более 400 уникальных проверок.

Затем выявленные риски приоритизируются, формируется отчёт, который включает в себя детальные рекомендации и описание возможных векторов атак по каждому из рисков.

На текущий момент CSPM NeoCAT умеет работать в Yandex Cloud. В скором времени он также будет доступен для обеспечения безопасности и других облаков.

Как развернуть NeoCAT

Продукт устанавливается за несколько минут в облаке пользователя из Yandex Cloud Marketplace. Для этого не нужны расширенные права или установка дополнительного ПО, необходим лишь сервисный аккаунт облака с правами на чтение конфигурации ресурсов. С продуктом поставляется подробная инструкция пользователя, а также имеется бесплатная поддержка пользователей.

Заключение

Делать ли акцент на безопасности в облаке – каждый решает сам – но независимо от размера компании важно учитывать, что при наличии таких недорогих и эффективных инструментов, как CSPM, управление рисками облачной инфраструктуры стало возможным без траты времени и ресурсов. Также их использование поможет предотвратить инциденты безопасности, которые могут повлечь за собой огромные финансовые и репутационные потери.

Ссылка на нашу статью-первоисточник в CISOCLUB.

Источник: https://habr.com/ru/companies/neoflex/articles/740254/


Интересные статьи

Интересные статьи

Всем здравствуйте! Я расскажу о том, как решал задачу ускорения проверки merge request’ов(MR)  в нашей команде. Почему вообще это понадобилось? Потому что разработчики ленивы экономят силы и обыч...
Возможно, олды помнят такую игру, как Turok: Evolution, выпущенную компанией Acclaim Entertainment в 2002 году. Страшный монстр с её обложки тогда разошёлся по всем логотипам, и особенно часто встре...
Кто-то остроумно заметил, что маркетинг - это способ заставить человека отдать свои деньги, не применяя к нему насилие. Есть только одна проблема. Сделать это хотите не только вы, но и ваши конкуренты...
Большинство программных проектов используют секреты – обычно, как ключи к удаленному API или данные для доступа к внешнему ресурсу, например к базе данных. Вашему приложению необходимы эти ключи во вр...
Когда мы создаем программное обеспечение, мы хотим создавать «-способности»: понятность, ремонтопригодность, расширяемость и - в тренде сейчас - декомпозицию (чтобы мы могли разложить мон...