Но что-же делать с кластерами?
Давайте рассмотрим следующие инструменты, которые помогут вам найти уязвимости и неправильную конфигурацию, чтобы обеспечить безопасность ваших контейнерных приложений.
Kube Hunter
Kube Hunter – это инструмент сканирования уязвимостей от Aqua Security вашего кластера Kubernetes.
Этот инструмент очень полезен для повышения осведомленности о безопасности кластеров Kubernetes.
Этот инструмент предлагает несколько стандартных вариантов сканирования, таких как удаленное, сетевое, для выявления уязвимостей.
В нем есть список активных и пассивных тестов, которые могут выявить большинство уязвимостей, присутствующих в кластере Kubernetes.
Есть несколько способов запустить этот инструмент.
- Вы можете скачать zip-файл, извлечь его или использовать pip для прямой установки Kube Hunter на машине с сетевым доступом к кластеру Kubernetes.После установки вы можете начать сканирование кластера на наличие уязвимостей.
- Второй способ использования Kube Hunter – это Docker контейнер. Вы можете напрямую установить Kube Hunter на машине в кластере, а затем исследовать локальные сети для сканирования кластеров.
- И третий способ – запустить Kube Hunter как под внутри кластера Kubernetes. Этот способ поможет вам найти уязвимости в любых подах приложений.
Kube Bench
Kube Bench – это один из качественных инструментов безопасности с открытым исходным кодом, который проверяет, соответствуют ли ваши дейплойменты тестам безопасности CIS (Center for Internet Security).
Инструмент также поддерживает тесты производительности для нескольких версий Kubernetes.
Кроме того, он также указывает на ошибки и помогает их исправить.
Это хорошее решение для исправления ошибок.
Этот инструмент также проверяет правильность авторизации и аутентификации пользователя, а также надежность шифрования данных.
Особенности Kube Bench:
- Написан на Go
- Тестирует мастер и воркер ноды Kubernetes
- Доступен как контейнер
- Тесты определены в YAML, их легче расширять и обновлять.
- Поддерживает вывод в формате JSON
Checkov
Checkov – это инструмент безопасности, используемый для предотвращения неправильной конфигурации облака во время сборки для Kubernetes, Terraform, Cloudformation, Serverless framework и других типов инфраструктуры как кода.
Он написан на Python и направлен на повышение уровня безопасности и соответствия передовым практикам.
Вы можете запускать сканирование Checkov, чтобы анализировать инфраструктуру как код.
Особенности Checkov:
- OpenSource и прост в использовании
- Более 500 встроенных политик безопасности
- Рекомендации по соблюдению нормативных требований для AWS, Azure и Google Cloud
- Поддерживает несколько форматов вывода – CLI, JUnit XML, JSON
- Интегрирует образы в ваш ci / cd
- Запускает сканирование папки, содержащей файлы Terraform и Cloudformation.
Tufin
Tufin предлагает различные скрипты, из которых нам интерессны:
- kubernetes-vulnerabilities
- test-network-policies
kubernetes-vulnerabilities
Содержит информацию о Kubernetes:
- Уязвимости
- Плагины Admission controller
Уязвимости
Каждый файл в папках (vanilla, gke, eks и т. д.) содержит известные уязвимости k8s.
В каждом файле есть список CVE. В каждом CVE должно быть одно из следующих полей:
- FixedIn: номера патчей, которые исправляют каждую уязвимую младшую версию (предполагается, что более высокие версии исправлены)
- ExistsIn: список уязвимых версий (диапазоны или версии)
FirstVulnerableVersion – первая версия, в которой обнаружена эта уязвимость.
Плагины Admission controller
Этот файл содержит список плагинов адмишен Kubernetes.
У каждого плагина может быть рекомендация (включить / отключить) для каждой платформы Kubernetes.
MKIT
MKIT расшифровывается как Managed Kubernetes Inspection Tool.
Этот инструмент помогает быстро определить ключевые риски безопасности кластеров Kubernetes и их ресурсов.
У него есть быстрые и простые способы оценки неправильной конфигурации в кластере и инстансов.
Инструмент поставляется с интерфейсом, который по умолчанию работает на http://localhost: 8000.
Он дает вам представление о неудачных и пройденных проверках. В разделе затронутых ресурсов вы получите подробную информацию о затронутых и незатронутых ресурсах.
Особенности MKIT:
- Создан с использованием всех библиотек и инструментов с открытым исходным кодом
- Простота установки и использования
- Поддерживает несколько провайдеров Kubernetes – AKS, EKS и GKE.
- Хранит конфиденциальные данные внутри контейнера
- Предоставляет веб-интерфейс
Kubei
Ранее подробно уже рассмотрели его:
☸️ Как проверить кластер Kubernetes на уязвимости?
Kube Scan
Kube Scan – это сканер контейнеров, который сам поставляется как контейнер.
Вы устанавливаете его в новом кластере, после чего он сканирует ворклоады, которые в настоящее время выполняются в вашем кластере, и показывает вам оценку риска и подробную информацию о них в удобном веб-интерфейсе.
Оценка риска оценивается от 0 до 10, 0 означает отсутствие риска, а 10 означает высокий риск.
Возможности Kube Scan:
- Инструмент для оценки рисков с открытым исходным кодом
- Веб-интерфейс с подробностями оценки рисков
- Он работает как контейнер в кластере.
- Повторно сканирует кластер каждые 24 часа
Kubeaudit
Kubeaudit, как следует из названия, представляет собой инструмент аудита кластеров Kubernetes с открытым исходным кодом.
Он находит неправильные конфигурации безопасности в ресурсах Kubernetes и сообщает вам, как их исправить.
Он написан на языке Go для использования в качестве пакета Go или инструмента командной строки.
Вы можете установить его на свой компьютер, используя brew с помощью одной команды.
Он предлагает различные методы, такие как запуск приложений от имени пользователя без полномочий root, предоставление доступа только для чтения к корневой файловой системе, избегание предоставления дополнительных привилегий приложениям в кластере для предотвращения общих проблем безопасности.
В нем есть обширный список аудитов, используемых для тестирования проблем безопасности кластера Kubernetes, таких как SecurityContext для подов.
Возможности Kubeaudit:
- Инструмент аудита Kubernetes с открытым исходным кодом
- Предоставляет три различных режима – manifest, local, cluster, для аудита кластера.
- Предоставляет результат аудита на трех уровнях северити – Error, Warn, Info.
- Использует несколько встроенных аудитов для контейнеров, подов, неймспесов
Kubesec
Kubesec – это инструмент анализа рисков безопасности с открытым исходным кодом ресурсов Kubernetes.
Он проверяет конфигурацию и файлы манифестов, используемые для развертывания и операций кластера Kubernetes.
Вы можете установить его в своей системе, используя его образ контейнера, его бинарник, адмишен плагин Kubernetes или плагин kubectl.
Особенности Kubesec:
- Инструмент анализа рисков с открытым исходным кодом
- Он поставляется со встроенным HTTP-сервером, который по умолчанию работает в фоновом режиме на 8080.
- Запускается Kubesec-as-a-Service через HTTPS на v2.kubesec.io/scan
- Он может сканировать несколько документов YAML в одном входном файле.
KubiScan
Ранее подробно уже рассмотрели его:
🍿 KubiScan: проверять кластер Kubernetes на наличие рискованных прав
Kubestrike
Ранее подробно уже рассмотрели его:
☸️ Kubestrike: невероятно быстрый инструмент аудита безопасности для Kubernetes