Как перестать бояться за безопасность Kubernetes и начать жить
Вы когда-нибудь пробовали вручную проверить, соответствует ли ваш кластер Kubernetes рекомендациям NSA или CIS? Если да, то сочувствую. Это сотни страниц документации, куча нюансов в конфигурациях YAML и бесконечный поиск того, какой именно контейнер запущен от имени root. Обычно на такие проверки забивают до первого инцидента или аудита.
Недавно я наткнулся на Kubescape. Это проект, который сейчас находится в инкубаторе CNCF, и он делает ровно то, чего нам всем не хватает: превращает абстрактную «безопасность» в понятный список задач с кнопкой «исправить».
Что это вообще такое
Если вкратце, Kubescape — это сканер безопасности «все в одном». Он умеет проверять настройки кластера, искать уязвимости в образах и даже следить за тем, что происходит внутри контейнеров во время их работы.
Инструмент создали ребята из ARMO, и они явно понимали боль разработчиков. Вместо того чтобы просто вывалить на вас лог ошибок, Kubescape старается дать контекст. Он работает везде: от вашей локальной машины и CI-пайплайна до самого кластера в виде оператора.
Три вещи, которые зацепили меня больше всего
Автоматические исправления
Сканеров много, но Kubescape умеет делать kubescape fix. Если он нашел ошибку в манифесте (например, забытый лимит ресурсов или лишние привилегии), команда предложит поправить YAML-файл за вас. Это экономит кучу времени, когда нужно привести в порядок десяток микросервисов.
Анализ по стандартам
Инструмент проверяет вашу инфраструктуру не «на глазок», а по жестким фреймворкам: NSA-CISA, MITRE ATT&CK и CIS Benchmarks. Когда руководство спрашивает: «Насколько мы защищены?», можно просто показать отчет с процентами соответствия конкретному стандарту.
eBPF и рантайм-мониторинг
Это уже уровень «про». С помощью интеграции с Inspektor Gadget, сканер видит, какие системные вызовы делает приложение и с какими IP общается. Это помогает не только ловить аномалии, но и автоматически генерировать сетевые политики (Network Policies), которые разрешают только нужный трафик.
Как попробовать в деле
Поставить утилиту можно одной командой (для Linux/macOS):
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
После этого можно сразу натравить сканер на живой кластер:
kubescape scan
Или проверить локальный Helm-чарт перед деплоем:
kubescape scan /path/to/helm/chart/
Результаты можно выгрузить в PDF или HTML — удобно, если нужно отправить отчет коллегам, которые не любят консоль.
Архитектура и под капотом
Проект построен на проверенных технологиях. Внутри используется OPA (Open Policy Agent) для проверки правил и Grype для поиска CVE в образах.
У Kubescape есть два режима работы:
- CLI Mode: вы запускаете его когда нужно. Идеально для локальной разработки и CI.
- Operator Mode: ставится в кластер через Helm. Он постоянно мониторит состояние ресурсов и дает актуальную картинку в реальном времени.
Кстати, для любителей ИИ они недавно добавили MCP-сервер. Это значит, что вы можете подключить Kubescape к своему ИИ-ассистенту и спрашивать его человеческим языком: «Какие критические уязвимости есть в неймспейсе production?».
Практические кейсы
Где это реально пригодится?
- В пайплайне: настройте проверку так, чтобы билд падал, если уровень безопасности ниже 80% или найдены критические CVE.
- При переезде на новый кластер: прогоните скан, чтобы убедиться, что дефолтные настройки облачного провайдера не оставили дыр в безопасности.
- Для рефакторинга: если вы получили в наследство гору YAML-файлов,
kubescape fixпоможет быстро привести их к вменяемому виду.
Kubescape — это не просто очередной сканер, а попытка сделать безопасность Kubernetes доступной для обычных инженеров, а не только для выделенных спецов по ИБ. У проекта отличная документация и живое комьюнити в Slack.
Подойдет ли он всем? Если у вас один маленький кластер с парой воркер-нод, возможно, хватит и простых линтеров. Но как только проект разрастается, а требования к безопасности ужесточаются, иметь такой швейцарский нож под рукой становится жизненно необходимо.
Единственный минус — проект активно развивается, и некоторые функции (например, runtime security) требуют глубокого понимания того, как работает eBPF в вашем ядре Linux. Но для базовых проверок конфигурации порог входа практически нулевой.
Советую заглянуть в их репозиторий и хотя бы разок запустить скан своего проекта — результаты могут вас сильно удивить.