company_banner

33+ инструмента для безопасности Kubernetes

Автор оригинала: Mateo Burillo
  • Перевод
Прим. перев.: Если вы задаётесь вопросами безопасности в инфраструктуре, основанной на Kubernetes, этот замечательный обзор от компании Sysdig станет отличной отправной точкой для беглого знакомства с актуальными на сегодняшний день решениями. В него включены и комплексные системы от известных игроков рынка, и значительно более скромные утилиты, закрывающие ту или иную проблему. А в комментариях мы как всегда будем рады узнать о вашем опыте использования этих инструментов и увидеть ссылки на другие проекты.


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

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

Категории


Чтобы упростить навигацию по списку, инструменты разбиты по основным функциям и областям применения. Получились следующие разделы:

  • Сканирование образов Kubernetes и статический анализ;
  • Безопасность runtime;
  • Сетевая безопасность Kubernetes;
  • Распространение образов и управление секретами;
  • Аудит безопасности Kubernetes;
  • Комплексные коммерческие продукты.

Перейдем к делу:

Сканирование образов Kubernetes


Anchore


  • Сайт: anchore.com
  • Лицензия: свободная (Apache) и коммерческое предложение



Пакет Anchore анализирует образы контейнеров и позволяет проводить проверки безопасности на основе политик, задаваемых пользователем.

Помимо привычного сканирования образов контейнеров на предмет известных уязвимостей из базы CVE, Anchore проводит множество дополнительных проверок в рамках политики сканирования: проверяет Dockerfile, утечку учетных данных, пакеты используемых языков программирования (npm, maven и т. д.), лицензии ПО и многое другое.

Clair


  • Сайт: coreos.com/clair (теперь под опекой Red Hat)
  • Лицензия: свободная (Apache)



Clair был одним из первых Open Source-проектов для сканирования образов. Он широко известен как сканер безопасности, лежащий в основе реестра образов Quay (тоже от CoreOS — прим. перев.). Clair умеет собирать информацию о CVE из большого числа источников, включая списки специфических для Linux-дистрибутивов уязвимостей, которые ведут команды по безопасности Debian, Red Hat или Ubuntu.

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

Dagda





Dagda проводит статический анализ образов контейнеров на предмет наличия известных уязвимостей, троянов, вирусов, вредоносных программ и других угроз.

От других похожих инструментов пакет Dagda отличают две примечательные особенности:

  • Он отлично интегрируется с ClamAV, выступая не только как инструмент для сканирования образов контейнеров, но и как антивирус.
  • Также обеспечивает runtime-защиту, в реальном времени получая события от демона Docker’а и интегрируясь с Falco (см. ниже) для сбора событий безопасности во время работы контейнера.

KubeXray


  • Сайт: github.com/jfrog/kubexray
  • Лицензия: свободная (Apache), но требует получения данных от JFrog Xray (коммерческого продукта)



KubeXray «слушает» события API-сервера Kubernetes и с помощью метаданных от JFrog Xray следит за тем, чтобы запускались только pod'ы, соответствующие текущей политике.

KubeXray не только проводит аудит новых или обновленных контейнеров в deployment'ах (по аналогии с admission controller в Kubernetes), но также динамически проверяет работающие контейнеры на соответствие новым политикам безопасности, удаляя ресурсы, ссылающиеся на уязвимые образы.

Snyk


  • Сайт: snyk.io
  • Лицензия: свободная (Apache) и коммерческая версии



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

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

Trivy





Trivy — простой, но мощный сканер уязвимостей для контейнеров, легко интегрируемый в CI/CD-пайплайн. Его примечательная особенность — простота установки и работы: приложение состоит из единственного бинарника и не требует установки базы данных или дополнительных библиотек.

Обратная сторона простоты Trivy состоит в том, что придется разбираться, как парсить и пересылать результаты в формате JSON, чтобы ими могли воспользоваться другие инструменты безопасности Kubernetes.

Безопасность runtime в Kubernetes


Falco


  • Сайт: falco.org
  • Лицензия: свободная (Apache)



Falco — набор инструментов для обеспечения безопасности облачных сред выполнения. Входит в семейство проектов CNCF.

Используя инструментарий Sysdig для работы на уровне ядра Linux и профилирование системных вызовов, Falco позволяет глубоко погрузиться в поведение системы. Его механизм runtime-правил способен обнаруживать подозрительную активность в приложениях, контейнерах, базовом хосте и оркестраторе Kubernetes.

Falco обеспечивает полную прозрачность в работе runtime'а и обнаружение угроз, ставя для этих целей специальных агентов на узлах Kubernetes. В результате отпадает необходимость модифицировать контейнеры, внедряя в них сторонний код или навешивая sidecar-контейнеры.

Фреймворки безопасности Linux для runtime




Эти родные для ядра Linux фреймворки не являются «инструментами безопасности Kubernetes» в привычном смысле, однако заслуживают упоминания, поскольку выступают важным элементом в контексте безопасности в runtime, что включается в Kubernetes Pod Security Policy (PSP).

AppArmor подключает профиль безопасности к процессам, запущенным в контейнере, определяя привилегии файловой системы, правила сетевого доступа, подключение библиотек и т.д. Это система на основе мандатного управления доступом (Mandatory Access Control, MAC). Другими словами, она предотвращает выполнение запрещенных действий.

Security-Enhanced Linux (SELinux) — это модуль расширенной безопасности в ядре Linux, в некоторых аспектах похожий на AppArmor и часто сравниваемый с ним. SELinux превосходит AppArmor по мощности, гибкости и тонкости настроек. Его недостатки — длительное освоение и повышенная сложность.

Seccomp и seccomp-bpf позволяют фильтровать системные вызовы, блокировать выполнение тех из них, что потенциально опасны для базовой ОС и не нужны для нормальной работы пользовательских приложений. Seccomp в некоторых моментах похож на Falco, хотя и не знает специфики контейнеров.

Sysdig open source





Sysdig — полноценный инструмент для анализа, диагностики и отладки Linux-систем (также работает на Windows и macOS, но с ограниченными функциями). Его можно использовать для сбора детальной информации, проверки и криминальной экспертизы (forensics) базовой системы и любых контейнеров, работающих на ней.

Также Sysdig изначально поддерживает исполняемые среды для контейнеров и метаданные Kubernetes, добавляя дополнительные измерения и метки ко всей собираемой информации о поведении системы. Существует несколько способов анализа кластера Kubernetes с помощью Sysdig: можно провести захват на определенный момент времени через kubectl capture или же запустить интерактивный интерфейс на базе ncurses с помощью плагина kubectl dig.

Сетевая безопасность Kubernetes


Aporeto





Aporeto предлагает «безопасность, отделенную от сети и инфраструктуры». Это означает, что сервисы Kubernetes не только получают локальный ID (то есть ServiceAccount в Kubernetes), но и универсальный идентификатор/отпечаток, который можно использовать для безопасного и взаимно проверяемого взаимодействия с любым другим сервисом, например, в кластере OpenShift.

Aporeto способен генерировать уникальный идентификатор не только для Kubernetes/контейнеров, но и для хостов, облачных функций и пользователей. В зависимости от этих идентификаторов и набора правил сетевой безопасности, заданных администратором, коммуникации будут разрешены или заблокированы.

Calico





Calico обычно разворачивают во время установки оркестратора контейнеров, что позволяет создать виртуальную сеть, связывающую контейнеры. Помимо этой базовой сетевой функциональности проект Calico работает с Kubernetes Network Policies и своим собственным набором профилей сетевой безопасности, поддерживает ACL (списки контроля доступа) endpoint'ов и основанные на аннотациях правила сетевой безопасности для Ingress- и Egress-трафика.

Cilium


  • Сайт: www.cilium.io
  • Лицензия: свободная (Apache)



Cilium выступает в качестве брандмауэра для контейнеров и предоставляет функции по обеспечению сетевой безопасности, изначально адаптированные к Kubernetes и рабочим нагрузкам микросервисов. Cilium использует новую технологию ядра Linux под названием BPF (Berkeley Packet Filter) для фильтрации, мониторинга, перенаправления и корректировки данных.

Cilium способен развертывать политики сетевого доступа на основе идентификаторов контейнеров, используя метки Docker или Kubernetes и метаданные. Cilium также понимает и фильтрует различные протоколы 7-го уровня, такие как HTTP или gRPC, позволяя определять набор вызовов REST, которые, например, будут разрешены между двумя deployment'ами Kubernetes.

Istio


  • Сайт: istio.io
  • Лицензия: свободная (Apache)



Istio широко известен как реализация парадигмы service mesh путем развертывания независимой от платформы control plane и перенаправления всего управляемого сервисного трафика через динамически конфигурируемые прокси Envoy. Istio пользуется этим передовым представлением всех микросервисов и контейнеров для реализации различных стратегий сетевой безопасности.

Возможности Istio по обеспечению сетевой безопасности включают в себя прозрачное шифрование TLS для автоматического улучшения протокола коммуникаций между микросервисами до HTTPS и собственную систему RBAC для идентификации и авторизации для разрешения/запрета обмена данными между различными рабочими нагрузками в кластере.

Прим. перев.: Подробнее о возможностях Istio, ориентированных на безопасность, читайте в этой статье.

Tigera


  • Сайт: www.tigera.io
  • Лицензия: коммерческая



В этом решении, называемом «брандмауэром Kubernetes», делается упор на подход к сетевой безопасности с нулевым доверием.

По аналогии с другими родными для Kubernetes сетевыми решениями, Tigera полагается на метаданные при идентификации различных сервисов и объектов в кластере и обеспечивает обнаружение проблем в runtime, непрерывную проверку на соответствие и прозрачность сети для многооблачных или гибридных монолитно-контейнеризованных инфраструктур.

Trireme





Trireme-Kubernetes — это простая и понятная реализация спецификации Kubernetes Network Policies. Самой примечательной особенностью является то, что — в отличие от похожих продуктов для сетевой безопасности Kubernetes — оно не требует центральной control plane для координации сетки (mesh). Это делает решение тривиально масштабируемым. В Trireme это достигается путем установки агента на каждый узел, который напрямую подключается к TCP/IP-стеку хоста.

Распространение образов и управление секретами


Grafeas


  • Сайт: grafeas.io
  • Лицензия: свободная (Apache)



Grafeas — это API с открытым исходным кодом для аудита и управления цепочкой поставки ПО. На базовом уровне Grafeas представляет собой инструмент для сбора метаданных и итогов аудита. Его можно использовать для отслеживания соответствия лучшим практикам в области безопасности в организации.

Этот централизованный источник истины помогает ответить на вопросы вроде:

  • Кто собрал и подписал конкретный контейнер?
  • Прошел ли он все сканеры безопасности и проверки, предусмотренные политикой безопасности? Когда? Какими были результаты?
  • Кто развернул его в production? Какие именно параметры использовались при развертывании?

In-toto





In-toto — это фреймворк, разработанный для обеспечения целостности, аутентификации и аудита всей цепочки поставки программного обеспечения. При развертывании In-toto в инфраструктуре сначала задается план, описывающий различные шаги в пайплайне (репозиторий, инструменты CI/CD, инструменты QA, сборщики артефактов и т.д.) и пользователей (ответственных лиц), которым разрешено их инициировать.

In-toto контролирует выполнение плана, проверяя, что каждая задача в цепочке выполняется должным образом исключительно авторизованным персоналом и в процессе движения с продуктом не проводились никакие несанкционированные манипуляции.

Portieris





Portieris — это admission controller для Kubernetes; применяется для принудительных проверок на доверие к контенту. Portieris использует сервер Notary (мы писали про него в конце этой статьиприм. перев.) в качестве источника истины для подтверждения доверенных и подписанных артефактов (то есть одобренных контейнерных образов).

При создании или изменении рабочей нагрузки в Kubernetes Portieris загружает информацию о подписи и политику доверия к контенту для запрошенных образов контейнеров и при необходимости на лету вносит изменения в JSON-объект API для запуска подписанных версий этих образов.

Vault





Vault — это безопасное решение для хранения закрытой информации: паролей, токенов OAuth, PKI-сертификатов, учётных записей для доступа, секретов Kubernetes и т.д. Vault поддерживает многие продвинутые функции, такие как аренда эфемерных токенов безопасности или организация ротации ключей.

С помощью Helm-чарта Vault можно развернуть как новый deployment в кластере Kubernetes с Consul'ом в качестве backend-хранилища. Он поддерживает родные ресурсы Kubernetes вроде токенов ServiceAccount и даже может выступать хранилищем секретов Kubernetes по умолчанию.

Прим. перев.: Кстати, буквально вчера компания HashiCorp, разрабатывающая Vault, анонсировала некоторые улучшения для использования Vault в Kubernetes и в частности они касаются Helm-чарта. Подробности читайте в блоге разработчика.

Аудит безопасности Kubernetes


Kube-bench





Kube-bench — приложение на Go, проверяющее, безопасно ли развернут Kubernetes, выполняя тесты из списка CIS Kubernetes Benchmark.

Kube-bench ищет небезопасные параметры конфигурации среди компонентов кластера (etcd, API, controller manager и т.д.), сомнительные права на доступ к файлам, незащищенные учетные записи или открытые порты, квоты ресурсов, настройки ограничения числа обращений к API для защиты от DoS-атак и т.п.

Kube-hunter





Kube-hunter «охотится» на потенциальные уязвимости (вроде удаленного выполнения кода или раскрытия данных) в кластерах Kubernetes. Kube-hunter можно запускать как удаленный сканер — в этом случае он оценит кластер с точки зрения стороннего злоумышленника — или как pod внутри кластера.

Отличительной особенностью Kube-hunter'а является режим «активной охоты», во время которого он не только сообщает о проблемах, но и пытается воспользоваться уязвимостями, обнаруженными в целевом кластере, которые потенциально могут нанести вред его работе. Так что пользуйтесь с осторожностью!

Kubeaudit





Kubeaudit — это консольный инструмент, изначально разработанный в Shopify для аудита конфигурации Kubernetes на предмет наличия различных проблем в области безопасности. Например, он помогает выявить контейнеры, работающие без ограничений, с правами суперпользователя, злоупотребляющие привилегиями или использующие ServiceAccount по умолчанию.

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

Kubesec


  • Сайт: kubesec.io
  • Лицензия: свободная (Apache)



Kubesec — особенный инструмент в том смысле, что напрямую сканирует YAML-файлы с описанием ресурсов Kubernetes в поисках слабых параметров, способных повлиять на безопасность.

Например, он может обнаруживать избыточные привилегии и разрешения, предоставленные pod'у, запуск контейнера с root'ом в качестве пользователя по умолчанию, подключение к пространству имен сети хоста или опасные монтирования вроде /proc хоста или сокета Docker'а. Еще одна интересная возможность Kubesec — доступный в онлайне демо-сервис, в который можно загрузить YAML и сразу провести его анализ.

Open Policy Agent





Концепция OPA (Open Policy Agent) состоит в том, чтобы отделить политики безопасности и лучшие практики в области безопасности от конкретной runtime-платформы: Docker, Kubernetes, Mesosphere, OpenShift или любой их комбинации.

Например, можно развернуть OPA как бэкенд для admission controller'а Kubernetes, делегируя ему решения по безопасности. Таким образом агент OPA сможет проверять, отклонять и даже изменять запросы на лету, обеспечивая соблюдение заданных параметров безопасности. Политики безопасности в OPA написаны на его собственном DSL-языке Rego.

Прим. перев.: Подробнее про OPA (и SPIFFE) мы писали в этом материале.

Комплексные коммерческие инструменты для анализа безопасности Kubernetes


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


* Продвинутая экспертиза и post mortem-анализ с полным захватом системных вызовов.

Aqua Security





Этот коммерческий инструмент предназначен для контейнеров и облачных рабочих нагрузок. Он обеспечивает:

  • Сканирование образов, интегрированное с реестром контейнеров или CI/CD-пайплайном;
  • Runtime-защиту с поиском изменений в контейнерах и другой подозрительной активности;
  • Родной для контейнеров брандмауэр;
  • Безопасность для serverless в облачных сервисах;
  • Проверку на соответствие требованиям и аудит, объединенные с журналированием событий.

Прим. перев.: Стоит также отметить, что есть и бесплатная составляющая продукта под названием MicroScanner, позволяющая сканировать образы контейнеров на уязвимости. Сравнение её возможностей с платными версиями представлено в этой таблице.

Capsule8


  • Сайт: capsule8.com
  • Лицензия: коммерческая


Capsule8 интегрируется в инфраструктуру, устанавливая детектор в локальный или облачный кластер Kubernetes. Этот детектор собирает телеметрию хоста и сети, сопоставляя ее с различными типами атак.

Команда Capsule8 видит своей задачей раннее обнаружение и предотвращение атак, использующих свежие (0-day) уязвимости. Capsule8 умеет загружать уточненные правила безопасности прямо на детекторы в ответ на недавно обнаруженные угрозы и уязвимости ПО.

Cavirin





Cavirin выступает контрагентом на стороне компании для различных ведомств, занимающихся стандартами безопасности. Он не только может сканировать образы, но и интегрироваться в CI/CD-пайплайн, блокируя не соответствующие стандартам образы до их попадания в закрытые репозитории.

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

Google Cloud Security Command Center





Cloud Security Command Center помогает командам по безопасности собирать данные, выявлять угрозы и устранять их до того, как они нанесут вред компании.

Как видно из названия, Google Cloud SCC — это унифицированная контрольная панель, в которую можно интегрировать различные отчеты по безопасности, механизмы учета активов и сторонние системы безопасности, и управлять ими из единого, централизованного источника.

Интероперабельный API, предлагаемый Google Cloud SCC, облегчает интеграцию событий в области безопасности, поступающих из различных источников, таких как Sysdig Secure (контейнерная безопасность для cloud-native приложений) или Falco (Open Source-система безопасности runtime).

Layered Insight (Qualys)





Layered Insight (ныне часть Qualys Inc) построен на концепции «встраиваемой безопасности». После сканирования оригинального образа на наличие уязвимостей с использованием методов статистического анализа и осуществления проверок по CVE, Layered Insight заменяет его на инструментированный образ, включающий в себя агента в виде бинарника.

Этот агент содержит тесты безопасности runtime для анализа сетевого трафика контейнера, I/O потоков и деятельности приложения. Кроме того, он может осуществлять дополнительные проверки безопасности, заданные администратором инфраструктуры или командами DevOps.

NeuVector


  • Сайт: neuvector.com
  • Лицензия: коммерческая



NeuVector проводит проверку безопасности контейнера и осуществляет runtime-защиту путем анализа сетевой активности и поведения приложения, создавая индивидуальный профиль безопасности для каждого контейнера. Он также может самостоятельно блокировать угрозы, изолируя подозрительную активность за счет изменения правил локального firewall'а.

Сетевая интеграция NeuVector, известная как Security Mesh, способна проводить глубокий анализ пакетов и фильтрацию на 7-ом уровне для всех сетевых соединений в service mesh.

StackRox





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

Кроме того, StackRox анализирует конфигурации Kubernetes, используя CIS Kubernetes и другие своды правил для оценки соответствия контейнеров.

Sysdig Secure





Sysdig Secure защищает приложения на протяжении всего жизненного цикла контейнера и Kubernetes. Он сканирует образы контейнеров, обеспечивает runtime-защиту по данным машинного обучения, выполняет крим. экспертизу для выявления уязвимостей, блокирует угрозы, следит за соответствием установленным стандартам и проводит аудит активности в микросервисах.

Sysdig Secure интегрируется с инструментами CI/CD, такими как Jenkins, и контролирует образы, загружаемые из реестров Docker, предотвращая появление опасных образов в production. Он также обеспечивает всестороннюю runtime-безопасность, включая:

  • runtime-профилирование на основе ML и обнаружение аномалий;
  • runtime-политики, основанные на системных событиях, API K8s-audit, совместных проектах сообщества (FIM — file integrity monitoring; cryptojacking) и фрейморке MITRE ATT&CK;
  • реагирование и устранение инцидентов.

Tenable Container Security





До появления контейнеров Tenable была широко известна в отрасли как компания, разработавшая Nessus — популярный инструмент для поиска уязвимостей и аудита безопасности.

Tenable Container Security использует опыт компании в области компьютерной безопасности для интеграции CI/CD-пайплайна с базами уязвимостей, специализированными пакетами обнаружения вредоносных программ и рекомендациями по устранению угроз безопасности.

Twistlock (Palo Alto Networks)





Twistlock продвигает себя как платформу, ориентированную на облачные сервисы и контейнеры. Twistlock поддерживает различных облачных провайдеров (AWS, Azure, GCP), оркестраторы контейнеров (Kubernetes, Mesospehere, OpenShift, Docker), serverless-среды выполнения, mesh-фреймворки и инструменты CI/CD.

Помимо обычных методов обеспечения безопасности корпоративного уровня, таких как интеграция в CI/CD-пайплайн или сканирование образов, Twistlock использует машинное обучение для генерации поведенческих паттернов и сетевых правил, учитывающих особенности контейнеров.

Некоторое время назад Twistlock купила компания Palo Alto Networks, владеющая проектами Evident.io и RedLock. Пока не известно, как именно эти три платформы будут интегрированы в PRISMA от Palo Alto.

Помогите создать лучший каталог инструментов по обеспечению безопасности Kubernetes!


Мы стремимся сделать этот каталог максимально полным, и для этого нам нужна ваша помощь! Свяжитесь с нами (@sysdig), если на примете есть крутой инструмент, достойный включения в этот список, или вы обнаружили ошибку/устаревшую информацию.

Также вы можете подписаться на нашу ежемесячную рассылку с новостями экосистемы cloud-native и рассказами об интересных проектах из мира безопасности Kubernetes.

P.S. от переводчика


Читайте также в нашем блоге:

  • +35
  • 7,8k
  • 6
Флант
847,85
Специалисты по DevOps и Kubernetes
Поддержать автора
Поделиться публикацией

Комментарии 6

    +2
    Хорошая подборка.
    Как альтернатива OPA (Open Policy Agent), в свое время создавался еще (SPIFFE ) и SPIRE на основе него.
      +1
      Спасибо. Мы про него писали здесь. Добавим в список «см. также» :-)
      +1
      Достаточно информативно, спасибо.
        +1
        А почему забыли бесплатную версию Аквы? Aqua Microscanner. Находит не меньше чем Анкор, и полноценно встраивается в тот же пайплайн дженкинса — есть плагин, также есть вариант запустить проверку, добавив пару строк в докерфайл.
          0
          Спасибо! Добавили в статью примечанием от переводчика в конце коммерческой Aqua Security.
          0
          Как раз в тему! Спасибо за подборку!

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое