image

Величайшим и самым мощным оружием Империи была орбитальная боевая станция DS-1, более известная как Звезда Смерти. Она наводила ужас на всю галактику, ведь установленный на ЗС суперлазер с кайбер-кристаллами мог без труда разрушить практически любую планету.

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

Сканирование инфраструктуры могло бы помочь Империи победить повстанцев. Однако им повезло — Империя использовала просто ужасные методы обеспечения безопасности.

Проектирование Звезды смерти


Строительство Звезды Смерти начиналось так же, как и создание любого облачного проекта. Сначала была потребность и идея. Затем — команда, которая должна была воплотить это видение в реальный проект.

Согласно лору, у Звезды Смерти было одно слабое место — шахта теплоотвода, ведущая прямо к реактору. Создатель станции Гален Эрсо намеренно допустил ошибку еще на этапе проектирования, прямо в чертежах! Почему Империя ничего с этим не сделала, не попыталась решить проблему?

Представим, что чертеж Звезды Смерти — это шаблон конфигурации инфраструктуры для создания облачного проекта Звезды смерти.

  • Звезда Смерти — виртуальный сервер.
  • Реактор — бизнес-критическое приложение.
  • Тепловая шахта — подключенные группы безопасности.

Что такое инфраструктура как код (IaC)?


Для новичков и незнакомых с концепцией: IaC — это способ предоставления облачных ресурсов и управления ими как кодом. Чтобы использовать этот подход, необходимо создать файл шаблона конфигурации (blueprint), который содержит инструкции для создания и развертывания проекта. Использование шаблонов IaC позволяет получить определенные преимущества — повышение согласованности, возможность контроля версий и сокращение времени развертывания.

Что такое неправильная конфигурация?


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

Например, объектное хранилище S3. Представьте, что вы планируете использовать бакет S3 для хранения конфиденциальной информации. Однако при создании он случайно становится общедоступным. Это и есть неправильная конфигурация, которая влечет за собой определенные риски.

image

Тепловые шахты и реактор


Итак, мы уже выяснили, что Звезда Смерти имела определенные конструктивные недостатки. А теперь обратите внимание на пример ниже. В коде шаблона определен сервер EC2 под названием «Звезда смерти» с прикрепленной группой безопасности под названием «Тепловые шахты».

image

На этапе развертывания инфраструктуры по этому шаблону проблем не возникнет, поэтому Империя решает приступить к созданию этой чудовищной конструкции. Однако Империя не уделила должного внимания внедрению средств безопасности в CI/CD-конвейер, и это обернется для нее серьезными последствиями. Люк Скайуокер воспользуется уязвимостью и запустит две протонные торпеды в выпускные отверстия (группы безопасности), которые ведут прямо к реактору (запущенное приложение), уничтожив великую и ужасную Звезду Смерти.

В чем же заключалась ошибка?


Империя не предусмотрела никаких средств безопасности и не внедрила их в свой CI/CD конвейер, упустив шанс предотвратить развертывание уязвимой инфраструктуры. В приведенном выше примере остались незамеченными сразу несколько ошибок:

  • Группа безопасности ThermalExhaustPorts разрешает неограниченный доступ к специфическим портам

При создании важно проверить группы безопасности EC2 на наличие правил, которые разрешают неограниченный доступ (например, 0.0.0.0/0 или ::/0) к любым специфическим TCP- и UDP-портам. Кроме того, необходимо ограничить доступ только теми IP-адресами, которые необходимы для реализации принципа наименьших привилегий и снижения рисков нелегитимного доступа.

  • Группа безопасности ThermalExhaustPorts открывает широкий диапазон портов

Убедившись, что в группах безопасности не открыт широкий диапазон портов для входящего трафика, — так экземпляры EC2 будут лучше защищены от атак типа «отказ в обслуживании» (DoS) или атак методом перебора. Открывайте только необходимые порты, исходя из требований конкретного приложения.

Неправильно настроенные порты тепловых шахт (групп безопасности) позволили Люку Скайуокеру запустить протонные торпеды (эксплойт) в реактор Звезды смерти (бизнес-критическое приложение).

Как это можно было предотвратить?


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

1. Код: среда разработки (IDE)

Большинство разработчиков сначала пишут код на своей локальной машине. Интеграция плагина безопасности в IDE позволит оперативно устранять выявленные ошибки конфигурации благодаря функции сканирования шаблона. Сканирование шаблонов IaC в IDE поможет разработчикам создавать изначально более защищенные ресурсы. После локальной проверки шаблон может быть перенесен в репозиторий кода для дальнейшего использования.

image

Гален Эрсо, создатель Звезды Смерти, умышленно допустил появление уязвимости в надежде, что у повстанцев будет хоть какой-то шанс уничтожить Звезду Смерти. Интеграция плагина безопасности IaC в IDE помогла бы ему на 100% убедиться, что конфигурация действительно ошибочна и, как следствие, уязвима.

2. Сборка: сканирование шаблонов в конвейере CI/CD

После размещения шаблона IaC в репозитории кода можно запустить процесс автоматической сборки и развертывания определенных ресурсов. Интеграция сканирования шаблона IaC с помощью Cloud Security Posture Management позволяет обеспечить более высокий уровень безопасности конвейеров CI/CD. Использование API-интерфейсов гарантирует, что каждый шаблон IaC в конвейере будет проверен на предмет соответствия передовым практикам проектирования и определенным стандартам безопасности. Если шаблон не пройдет проверку, сборка будет остановлена. При необходимости результаты сканирования будут отправлены разработчикам или команде эксплуатации — специалисты получат уведомление о потенциальных проблемах безопасности.

Как сложилась бы история, если бы у Империи был конвейер CI/CD? После того, как Эрсо разработал проект Звезды Смерти и поместил шаблон в хранилище, конвейер просканировал бы шаблон и предотвратил развертывание неправильно сконфигурированных ресурсов. В таком случае Империя бы поняла, что тепловые шахты представляют опасность, и остановила сборку Звезды Смерти. А специалисты Империи получили бы уведомление и начали искать пути решения проблемы.

3. Развертывание: управление облачной безопасностью (Cloud Security Posture Management, CSPM)

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

image

Интеграция CSPM дала бы Империи еще один шанс найти уязвимость Звезды Смерти. Регулярное сканирование орбитальной станции с помощью CSPM позволил бы выявить любые неправильно сконфигурированные ресурсы в конструкции Звезды Смерти.

Даже если бы Звезда Смерти была бы изначально спроектирована и построена без каких-либо уязвимостей, а затем Гален Эрсо или кто-то другой внес вредоносные изменения в конфигурацию ЗС — CSPM благодаря функциональности real-time мониторинга обнаружил бы это, а команда Империи смогла бы оперативно это исправить.

Заключение


Концепция инфраструктуры как кода дает немало преимуществ при управлении облачными ресурсами. Однако администратору необходимо тщательно следить за тем, чтобы все ресурсы были сконфигурированы без ошибок. Если бы Империя интегрировала инструменты безопасности CI/CD или обеспечила бы постоянный мониторинг уже развернутых ресурсов, Альянс повстанцев был бы побежден. К счастью (или к сожалению), Империя проигнорировала методы обеспечения безопасности, позволив Люку Скайуокеру воспользоваться допущенными ошибками. Не уподобляйтесь Империи, не игнорируйте вопросы безопасности даже на самых ранних этапах разработки. Да пребудет с вами Сила!

Комментарии (1)


  1. momai
    12.07.2022 18:52

    Что-то полезность статьи начинается и заканчивается на слове CSPM :(

    Красиво конечно написано, интересно, но полезной информации почти нет.