Всем привет!
Ещё один аспект ИБ, на который стоит обратить внимание. В статье от CyberArk приводится подробное описание нюансов, связанных с kubelet, которые могут повлиять на его безопасность.
Немного о kubelet:
Это агент - элемент кластера, который запускается на каждой ноде и используется для решения определенных задач, к которым относятся регистрация ноды в кластере, создание подов или взаимодействие с API-сервером для получения инструкций.
Глобально проблематика сводится к 2-м ключевым моментам:
🍡Дефолтная конфигурация Kubernetes-кластера запускает kubelet с параметром, разрешающим анонимный доступ к kubelet API. Это значит, что при получении доступа к сети, в которой расположена нода кластера, можно без авторизации выполнять API запросы к kubelet, установленном на ней.
🍡Kubelet имеет недокументированный API. Чтобы в этом убедиться, авторы статьи изучили сайт с документаций Kubernetes и просмотрели его исходный код. Смысл в том, что это недокументированное API позволяет выполнять прямые операции с подами (контейнерами) на нодах, такие как запуск конкретных команд в контейнере и т. д.
Для простоты и удобства использования CyberArk разработал утилиту, которая называется kubeletctl. Она упрощает работу с kubelet API и поддерживает отправку всех возможных запросов. Авторы статьи приводят пошаговое описание с использованием инструмента от сканирования сети до получения конкретных результатов (кстати, результаты в консоли отображаются в очень удобном формате), а также описывают рекомендации по настройке kubelet.
Использование этой утилиты будет полезно как разработчикам, так и специалистам по ИБ, как минимум, для выявления описанной проблемы. Утилиту можно скачать отсюда: https://github.com/cyberark/kubeletctl
Ещё один аспект ИБ, на который стоит обратить внимание. В статье от CyberArk приводится подробное описание нюансов, связанных с kubelet, которые могут повлиять на его безопасность.
Немного о kubelet:
Это агент - элемент кластера, который запускается на каждой ноде и используется для решения определенных задач, к которым относятся регистрация ноды в кластере, создание подов или взаимодействие с API-сервером для получения инструкций.
Глобально проблематика сводится к 2-м ключевым моментам:
🍡Дефолтная конфигурация Kubernetes-кластера запускает kubelet с параметром, разрешающим анонимный доступ к kubelet API. Это значит, что при получении доступа к сети, в которой расположена нода кластера, можно без авторизации выполнять API запросы к kubelet, установленном на ней.
🍡Kubelet имеет недокументированный API. Чтобы в этом убедиться, авторы статьи изучили сайт с документаций Kubernetes и просмотрели его исходный код. Смысл в том, что это недокументированное API позволяет выполнять прямые операции с подами (контейнерами) на нодах, такие как запуск конкретных команд в контейнере и т. д.
Для простоты и удобства использования CyberArk разработал утилиту, которая называется kubeletctl. Она упрощает работу с kubelet API и поддерживает отправку всех возможных запросов. Авторы статьи приводят пошаговое описание с использованием инструмента от сканирования сети до получения конкретных результатов (кстати, результаты в консоли отображаются в очень удобном формате), а также описывают рекомендации по настройке kubelet.
Использование этой утилиты будет полезно как разработчикам, так и специалистам по ИБ, как минимум, для выявления описанной проблемы. Утилиту можно скачать отсюда: https://github.com/cyberark/kubeletctl