В блоге beeline cloud на Хабре уже выходила подборка полезных ресурсов по DevOps и Kubernetes для джунов и прожжённых специалистов. Сегодня продолжим тему облачной безопасности и поговорим об открытых проектах для защиты cloud-инфраструктуры и приложений. В сегодняшнем списке — инструменты для управления политиками доступа и сканеры уязвимостей, позволяющие проверить конфигурацию контейнеров на соответствие лучшим ИБ-практикам.
Управление политиками безопасности — KubeArmor
Проект запустила компания AccuKnox, которая предлагает продукты для защиты облачных приложений. Он развивается с 2021 года под лицензией Apache 2.0.
Для управления политиками безопасности KubeArmor использует LSM (Linux Security Modules) — в частности, AppArmor, SELinux или BPF-LSM. С помощью eBPF инструмент генерирует оповещения о событиях, связанных с контейнерами, подами и пространством имен. В то же время инструмент работает по модели белого списка. Она позволяет реализовать принцип нулевого доверия в кластере. Например, можно запретить запуск исполняемых файлов в определенной директории — другие варианты политик описаны в документации.
Технологии eBPF и LSM помогают защитить облачные нагрузки в различных ситуациях, например, обеспечить мониторинг целостности файлов в ОС или запретить изменение корневых сертификатов. Кроме того, инструмент можно использовать в сетях IoT или 5G, поскольку контейнеры все чаще применяют для управления периферийными устройствами. Основное преимущество KubeArmor перед стандартными сканерами уязвимостей — возможность не только детектировать, но и предотвращать вредоносную активность. Для настройки политик можно использовать универсальный синтаксис YAML. По мнению некоторых, это удобнее по сравнению с другими утилитами, такими как AppArmor, имеющими собственный формат.
Сканирование беспроводных сетей — K8TLS
Это еще один open source проект компании AccuKnox, выпущенный в июне 2023 года под лицензией Apache 2.0. Поскольку инструмент вышел меньше года назад, вокруг него не успело сформироваться сколько-нибудь крупное комьюнити. Изначально K8TLS разрабатывался с целью обеспечить безопасность в сетях 5G. Однако позже его стали использовать для защиты обычных кластеров Kubernetes в других сетях.
Чтобы обеспечивать безопасный обмен данными между контейнерами и внешним миром, инструмент проверяет конфигурацию TLS-соединения на соответствие стандартам безопасности, таким как PCI-DSS, HIPAA, 3GPP. К параметрам проверки относится версия протокола, набор шифров, хэш-функция, подпись и сертификат. Например, согласно PCI-DSS 3.2, сервер должен поддерживать как минимум TLS 1.1, но предпочтительнее версия 1.2 и выше. Для сканирования не нужен прокси, который обычно снижает производительность всей системы. Плюс — проверку можно интегрировать в CI/CD-пайплайн, чтобы заблаговременно идентифицировать небезопасные порты. Результаты можно выгрузить в формате JSON.
Хотя K8TLS и заточен под работу с протоколом Transport Layer Security, он позволяет отслеживать наличие уязвимости под названием Terrapin-SSH, обнаруженной в 2023 году. Она позволяет злоумышленникам проводить MITM-атаки и перехватывать данные в рамках SSH-сессии.
Визуализация угроз — ThreatMapper
Этот открытый инструмент разработала ИБ-компания Deepfence. Релиз состоялся в 2022 году под лицензией Apache 2.0. На данный момент успела выйти вторая полноценная версия решения, а его развитием занимается более 30 разработчиков.
Задача ThreatMapper — выявлять уязвимости в программных компонентах облачных продакшн-платформ. Также инструмент позволяет обнаруживать вредоносное ПО, скомпрометированные секреты и несоответствие настроек безопасности требованиям. Проводить проверки можно в средах на базе Kubernetes, Docker и виртуальных машин.
Чтобы сканировать рабочие нагрузки с помощью этого инструмента, на хостах нужно установить программные агенты в качестве привилегированных контейнеров. Этим агентам можно отправлять команды из консоли управления, например, на сбор телеметрии. В отличие от всех других инструментов в подборке, ThreatMapper предоставляет разнообразные средства визуализации. С их помощью можно наглядно представить взаимосвязь всех компонентов облачной инфраструктуры и на основе этой топологии исследовать поверхность атаки. Также есть модуль ThreatGraph, который строит графы с угрозами, найденными после сканирования. Дополнительное преимущество в том, что решение приоритезирует уязвимости по уровням опасности.
Инструмент помогает не только выявлять уязвимости постфактум, но и действовать на опережение, а именно находить отклонения от лучших ИБ-практик. Например, конфигурацию хостов Kubernetes и Linux можно проверить по стандартам HIPAA, PCI-DSS, GDPR и NIST. По результатам сканирования решение предоставляет соотношение пройденных и проваленных проверок в виде диаграммы.
Из других интересных функций ThreatMapper можно отметить автоматическую генерацию спецификации Software Bill of Materials — SBOM. Она представляет собой перечень всех зависимостей, файлов, библиотек и других компонентов ПО. Обычно для составления SBOM используют специальные утилиты — например, Syft — но ThreatMapper предлагает эту возможность из коробки.
Что касается мнений сообщества, то на Reddit этот инструмент советуют в качестве сканера уязвимостей наряду с известными проприетарными решениями вроде Nessus. Также корпоративные пользователи отмечают, что ThreatMapper можно развернуть за считаные минуты и потратить освободившееся время на более важные задачи.
Защита k8s на нескольких уровнях — Kubescape
Kubescape был опубликован на GitHub в 2021 году под лицензией Apache 2.0. Среди всех проектов из нашего списка у него самое масштабное сообщество контрибьюторов — более 100 разработчиков. Инструмент предназначен для обеспечения безопасности на нескольких уровнях: в среде разработки, CI/CD-пайплайне, кластерах Kubernetes.
Сканирование на наличие уязвимостей и некорректных конфигураций проходит по фреймворкам: NSA-CISA, MITRE ATT&CK и CIS Benchmark. Рекомендации из этих стандартов собраны и систематизированы в библиотеке Regolibrary. Результаты проверок можно увидеть в командной строке или импортировать в форматах JSON, XML, HTML и PDF.
Начать работу с Kubescape можно с помощью CLI или Helm-чарта. В последнем случае есть возможность сгенерировать сетевые политики и настроить непрерывное сканирование. Больше подробностей о преимуществах установки с помощью Helm — в документации. При этом авторы предупреждают, что использование альтернативных методов установки, например, с помощью Kustomize, Helmfile или кастомных скриптов, может привести к непредвиденным проблемам.
Из интересных функций решения можно отметить экспериментальную генерацию документов VEX (Vulnerability Exploitability eXchange). В них содержится информация об уязвимостях, как в базе CVE (Common Vulnerabilities and Exposures), но записанная в машиночитаемом формате и с возможностью использовать данные из спецификации SBOM. Это позволяет автоматизировать процессы обнаружения угроз и реагирования на них.
В целом пользователи хорошо отзываются об инструменте, но у некоторых возникают вопросы по поводу установки Kubescape. В репозитории указано, что она происходит с помощью скачивания скрипта в curl и его передачи в bash. Один из резидентов Hacker News в тематическом треде выразил сомнения, что такой способ можно считать безопасным. Но в крайнем случае, если и инструмент вызывает недоверие, решение можно развернуть в изолированной виртуальной машине.
Что еще есть у нас на Хабре
Разбираем противоречивые мнения об исследованиях ценности open source. Группа ученых представила модель, позволяющую оценить экономическое влияние open source решений на ИТ-отрасль. Работа вызывала противоречивые мнения, и тем интереснее, что это далеко не первая попытка «взвесить» open source.
Нужно ли пересматривать модель open source — обсуждаем предложения сообщества. Продолжение темы о влиянии открытого ПО на развитие ИТ-экосистемы. Бизнес давно пытается «нащупать» баланс между коммерческой жизнеспособностью своих продуктов и духом открытого программного обеспечения. И все чаще поднимается вопрос миграции на ПО в формате post open source.
Головоломки и среды Kubernetes: подборка новых языков программирования. Наш компактный материал, где мы обсуждаем причины появления новых языков программирования — на примере ЯП, увидевших свет за последние годы. Одни были разработаны энтузиастами для решения головоломок, а другие — для корпоративных задач.
beeline cloud — secure cloud provider. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.