Беспокоитесь о безопасности Kubernetes? Проверьте эти бесплатные инструменты
За последние несколько лет резко возросло использование контейнеров и микросервисов, а также произошел бум использования кластеров Kubernetes для развертывания рабочих нагрузок приложений. Однако эти кластеры Kubernetes страдают от нарушений безопасности из-за чрезмерно разрешающих состояний и неправильных настроек безопасности. Организации и отдельные пользователи теперь нуждаются в стратегиях мониторинга и наблюдения, чтобы помочь выявить распространенные уязвимости или протестировать устойчивость своих сред Kubernetes. Для этого они могут использовать несколько инструментов с открытым исходным кодом, свободно доступных в Интернете. Вот несколько надежных инструментов безопасности, которые пользователь может выбрать при работе с Kubernetes.
Это был охотник
Kube-hunter — это инструмент с открытым исходным кодом, который используется для поиска уязвимостей безопасности в кластерах Kubernetes. Инструмент используется для выявления недостатков безопасности в средах Kubernetes. Этот инструмент был разработан Aqua Security, фирмой по обеспечению безопасности контейнеров.
Есть три способа запустить Kube-hunter. Каждый способ предлагает свой подход к выявлению слабых мест в кластере: сначала запустите Kube-hunter на любой машине (например, ноутбуке) и выберите удаленное сканирование, чтобы получить доменное имя или IP-адрес кластера Kubernetes. Это дает представление о всей системе Kubernetes с точки зрения злоумышленника. Во-вторых, пользователь может запустить Kube-hunter прямо на машине в кластере, а затем выбрать исследование всех локальных сетевых интерфейсов. В-третьих, пользователи могут запускать Kube-hunter в модуле внутри кластера. Это показывает (например), что если один из модулей приложений подвергается уязвимости в программном обеспечении, насколько уязвимым будет кластер.
Этот инструмент предлагается в виде контейнера и доступен на веб-сайте kube-hunter.aquasec.com, где заинтересованные пользователи могут зарегистрироваться онлайн, чтобы получить токен, позволяющий им просматривать результаты или делиться ими в Интернете. Кроме того, пользователи могут сами запускать код Python. Его последняя версия v0.5.0 была выпущена в апреле.
Это была обезьяна
Kube-monkey — это инструмент с открытым исходным кодом, который представляет собой реализацию Chaos Monkey от Netflix и используется для кластеров Kubernetes. Он написан на языке Go и помогает тестировать отказоустойчивость системы путем случайного удаления модулей Kubernetes в кластере.
Этот инструмент работает по модели opt-in, что означает, что тестирование применимо только для тех кластеров Kubernetes, которые согласны принять участие (opt-in) в этом тестировании. Инструмент запускается как развертывание в кластере Kubernetes и удаляет модули с использованием Kube API для внедрения сбоя в систему и проверки стабильности оставшихся модулей. Этот инструмент не дает возможности прерывать работу самих узлов или влиять на сеть или ввод-вывод. Он используется только как инструмент для уничтожения стручков. Тем не менее, он быстро развертывается и настраивается, позволяя пользователям имитировать и тестировать устойчивость своего продукта к сбою модуля. График завершения пода выполняется один раз в день в будние дни в изменяемое время (по умолчанию 8:00). Этот тип тестирования может помочь понять, как быстро вся система или отдельные службы вернутся в оперативный режим, если они столкнутся со случайным сбоем на уровне микросервиса.
Инструмент имеет открытый исходный код и может быть легко использован любым заинтересованным лицом для загрузки, обмена или использования. Более подробную информацию об использовании Kube-Monkey можно найти в официальном репозитории GitHub. Последняя версия этого инструмента, выпущенная в ноябре 2018 г., — выпуск 0.3.0.
Это была горелка
Kube-burner — это инструмент, предназначенный для нагрузки кластеров Kubernetes и стресс-тестирования нескольких компонентов OpenShift путем координации удаления и создания ресурсов k8s. Инструмент хорошо работает с ванильным Kubernetes и другими дистрибутивами, все, что нужно пользователю, — это Kubernetes API.
Этот инструмент имеет статически скомпилированный двоичный файл, написанный на языке Go, который полностью использует библиотеку client-go для работы с API. Конфигурация, используемая этим инструментом, определяется в файле конфигурации YAML. Он может удалять или создавать тысячи объектов, описанных в файле конфигурации. Функции, предоставляемые этим инструментом, можно обобщить в три шага: создание или удаление объектов, объявленных в заданиях, сбор желаемых метрик Prometheus на кластере и их запись или индексация в настроенную TSDB. Кроме того, инструмент предлагает другие функции, такие как автономный сбор метрик, оповещение, сбор PProf и измерение задержки при запуске модуля.
Это инструмент с открытым исходным кодом, который может использовать, делиться или скачивать любой желающий. Его последняя версия v0.9.1, выпущенная в марте, добавила несколько пользовательских функций для дополнительных функций шаблона и несколько других улучшений.
Гидроакустический буй
Sonobuoy — это диагностический инструмент с открытым исходным кодом, используемый для определения общего уровня безопасности кластера Kubernetes путем запуска набора подключаемых модулей, включая тесты на соответствие Kubernetes. Его можно расширять, не зависеть от кластера и настраивать для создания четких и информативных отчетов о кластере Kubernetes.
Средство диагностики имеет выборочные дампы данных объектов ресурсов Kubernetes и узлов кластера, которые позволяют использовать следующие сценарии использования: отладка рабочей нагрузки, интегрированное сквозное тестирование на соответствие и сбор пользовательских данных с помощью расширяемых подключаемых модулей. Начиная с версии 0.20, этот инструмент поддерживает Kubernetes v1.17 или более позднюю версию. Выпуски этого инструмента не зависят от выпуска Kubernetes, но при этом гарантируют, что новые выпуски функционально продолжают работать в разных версиях Kubernetes. Этот инструмент имеет поддержку плагинов (например, проект сканера надежности), что позволяет его операторам и разработчикам расширять систему дополнительными тестами.
Этот диагностический инструмент основан на сертифицированной программе соответствия Kubernetes, основанной Cloud Native Computing Foundation (CNCF), и используется всеми сертифицированными поставщиками услуг Kubernetes. Его последняя версия v0.50.0 была выпущена в марте с поддержкой образов без дистрибутива.
Мощный Печать
PowerfulSeal — это инструмент тестирования, который внедряет сбои в кластеры Kubernetes, чтобы пользователь мог как можно скорее выявить проблемы. Это позволяет писать сценарии, определяющие полные эксперименты с хаосом. Кроме того, этот инструмент работает с OpenStack, Kubernetes, Azure, AWS, локальными машинами и Google Cloud Platform.
Инструмент специально разработан для среды Kubernetes. Он может определять объекты, работающие в каждом контейнере, чтобы точно знать, какие вещи ему нужно сломать для целей тестирования. Он имеет несколько режимов для различных вариантов использования. Например, интерактивный режим позволяет системным инженерам экспериментировать или наблюдать за его поведением в кластерах, и со временем они могут создавать свои собственные политики тестирования. Он поддерживает политики YAML, описывающие эксперименты полного хаоса. Эти политики можно точно настроить множеством способов, например, создать правила для времени суток, вероятности, того, какую часть приложения следует сломать или где его сломать. После развертывания этот инструмент работает в автономном режиме.
Этот инструмент выпущен как инструмент с открытым исходным кодом через репозиторий Bloomberg GitHub, доступный для свободного использования. Последняя версия этого инструмента — 3.2.0, выпущенная в апреле, в которой добавлена поддержка отключения звука Alertmanager. Кроме того, этот инструмент вдохновлен печально известной обезьяной Хаоса Netflix.
Выявляйте и устраняйте бреши в безопасности Kubernetes с помощью этих инструментов
С появлением новых архитектур, таких как микросервисы и инструменты оркестрации контейнеров, меняется способ мониторинга и тестирования этих кластеров. Эти новые изменения теперь включают новые концепции, такие как наблюдаемость. Упомянутые выше инструменты могут помочь немного приблизиться к выявлению и устранению неправильных конфигураций безопасности, связанных с последними тенденциями и концепциями. Более того, использование этих инструментов может помочь DevOps лучше управлять своим Kubernetes.