
kube-scan: инструмент оценки рисков кластера k8s от Octarine
Попробуйте наш бесплатный инструмент оценки рисков Kubernetes уже сегодня.
Запускайте его на любом кластере в любое время. Никакие данные не покидают ваш кластер. Мы не собираем никакой информации.
Для получения дополнительной информации об Octarine посетите https://www.octarinesec.com.
Kube-Scan присваивает оценку риска от 0 (нет риска) до 10 (высокий риск) для каждой рабочей нагрузки. Риск основан на конфигурации времени выполнения каждой рабочей нагрузки (в настоящее время более 20 параметров). Точные правила и формула оценки являются частью открытого фреймворка KCCSS — Kubernetes Common Configuration Scoring System (Системы оценки общей конфигурации Kubernetes).
KCCSS аналогична Common Vulnerability Scoring System (CVSS), отраслевому стандарту для оценки уязвимостей, но вместо этого фокусируется на самих конфигурациях и настройках безопасности. Уязвимости всегда вредны, но параметры конфигурации могут быть небезопасными, нейтральными или критически важными для защиты или устранения последствий. KCCSS оценивает как риски, так и меры по их устранению в виде отдельных правил и позволяет пользователям рассчитать риск для каждого параметра времени выполнения рабочей нагрузки, а затем — общий риск рабочей нагрузки.
Обратите внимание, что в настоящее время kube-scan сканирует кластер при запуске и повторно сканирует его каждые 24 часа. Таким образом, если вы хотите получить актуальную оценку риска (например, после установки нового приложения), вам следует перезапустить pod kube-scan.
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
kubectl port-forward --namespace kube-scan svc/kube-scan-ui 8080:80
Затем откройте браузер по адресу http://localhost:8080.
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml
Затем получите адрес балансировщика нагрузки с помощью
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..ip}
или
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..hostname}
в зависимости от типа балансировщика нагрузки.
Затем откройте браузер по этому адресу.
Если вы применили kube-scan к своему кластеру с помощью службы балансировщика нагрузки:
«HOST» относится к внешнему IP-адресу службы.
Если вы использовали проброс портов:
«HOST» относится к «localhost:8080»
Получение всех рисков в вашем кластере:
GET http://HOST/api/risks
Запрос на повторный пересчет рисков службой kube-scan (в случае изменения ресурса):
POST http://HOST/api/refresh
Это может быть долгая операция — в зависимости от размера кластера, поэтому вы можете получить статус операции обновления:
GET http://HOST/api/refreshing_status
Сборка образа сервера (из корневой папки)
cd server
docker build -t SERVER_TAG_NAME .
docker push SERVER_TAG_NAME
Сборка образа клиента (из корневой папки)
cd client
docker build -t CLIENT_TAG_NAME .
docker push CLIENT_TAG_NAME
Установите образы контейнеров kube-scan в нужный yaml (из корневой папки) контейнер kube-scan с SERVER_TAG_NAME контейнер kube-scan-ui с CLIENT_TAG_NAME
Примените нужный yaml и следуйте инструкциям «быстрого старта» или «использования балансировщика нагрузки»
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
В случае использования балансировщика нагрузки:
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml

