В Kubernetes роль — это набор разрешений, которые определяют, что пользователь, сервис или приложение могут делать в кластере. Разрешения назначаются через политики доступа RBAC.
Анализ RBAC в кластере позволяет выявить возможные опасные роли или убедиться, что доступ к ресурсам предоставляется на основе принципов наименьших привилегий.
Набор разрешений определяет, какие действия могут быть выполнены над определенными объектами кластера.
Разрешения включают:
Типы ресурсов — типы объектов Kubernetes, например поды, сервисы, секреты, на которые применяется разрешение.
API-группы — группы API, к которым принадлежат объекты Kubernetes.
Действия — операции, которые могут быть выполнены над объектами Kubernetes.
Названия ресурсов — названия объектов Kubernetes, к которым относятся разрешения. Если не указано, разрешение применяется ко всем ресурсам выбранного типа.
Нересурсные URL — доступы с использованием URL-адресов вместо API-ресурсов. Например, для управления доступом к определенным HTTP-путям на сервере API Kubernetes.
Опасные роли — это роли с избыточными правами, которые позволяют управлять всеми ресурсами, запускать привилегированные контейнеры или получать доступ к секретам.
Опасные роли могут включать:
Необоснованные права администратора.
Предоставление прав администратора пользователям или сервисам, которые в этом не нуждаются, может открыть доступ к выполнению критически важных операций с ресурсами кластера.
Избыточные права на создание или редактирование.
Разрешения, позволяющие создание или изменение критичных конфигураций или объектов.
Права на секреты и конфигурации.
Необоснованный доступ к Secret и ConfigMaps субъектам, которые в них не нуждаются.
Злоумышленник с такими ролями может получить полный контроль над кластером, украсть данные или нарушить работу сервисов.
Регулярный аудит и корректная настройка RBAC помогают снизить эти риски и защитить контейнерную среду.
Как только в кластере создается объект Role или ClusterRole, Container Security сканирует их и сообщает о рисках в отчетах об опасных ролях.
Для оценки рисков Container Security использует CVSS, что обеспечивает структурированный и стандартный подход к определению критичности. CVSS-баллы помогают более точно оценить потенциальное воздействие и риск.
В отчетах каждой опасной роли в зависимости от балла присваивается одна из четырех степеней критичности:
Низкая — от 0.1 до 3.9 баллов.
Средняя — от 4 до 6.9 баллов.
Высокая — от 7 до 8.9 баллов.
Максимальная — от 9 до 10 баллов.
При обнаружении опасных ролей в кластере Managed Kubernetes для уменьшения рисков и повышения безопасности следует предпринять следующие шаги:
Проверить, какие разрешения предоставлены каждой из обнаруженных ролей и зачем они были созданы. Это поможет определить, какие роли действительно избыточны или опасны.
Определить, нужны ли текущие роли и разрешения для выполнения задач. Если роли или разрешения больше не нужны, рассмотрите возможность их удаления или модификации.
Скорректировать роли в кластере Managed Kubernetes так, чтобы они предоставляли минимально необходимые разрешения для выполнения своих функций, следуя принципу наименьших привилегий.