Факторы угроз, управляемые Kubernetes

Завершено

В управляемой среде Kubernetes обеспечение безопасности включает понимание и устранение угроз на различных узлах. Ниже приведена разбивка факторов угроз в конкретных случаях.

Скомпрометированная учетная запись

  • Фактор угроз. Злоумышленник получает доступ к кластеру Kubernetes с помощью украденных учетных данных, маркеров API или ключей. Это может привести к несанкционированным доступу, краже данных и вредоносным развертываниям.
  • Устранение рисков. Реализация надежных механизмов проверки подлинности, многофакторной проверки подлинности (MFA), регулярного смены учетных данных и принципов доступа к наименьшим привилегиям.

Уязвимые или неправильно настроенные образы

  • Фактор угроз. Образы контейнеров с уязвимостями или неправильными настройками могут использоваться злоумышленниками после развертывания. Эти уязвимости могут включать устаревшее программное обеспечение, небезопасные параметры по умолчанию или внедренные секреты.
  • Устранение рисков. Используйте средства сканирования изображений для обнаружения уязвимостей перед развертыванием, применения политик проверки образов и внедрения процесса подписи образа контейнера.

Неправильная настройка среды

  • Фактор угроз. Неправильные настройки в параметрах Kubernetes или дескрипторах развертывания могут предоставлять кластеры атакам. Распространенные проблемы включают открытые интерфейсы панели мониторинга, слишком разрешительные параметры RBAC и незащищенные конечные точки.
  • Устранение рисков. Следуйте рекомендациям по безопасной конфигурации, регулярно проводите аудит конфигураций с помощью автоматизированных средств и используете контроллеры допуска для обеспечения соответствия политике.

Уровень атаки приложения

  • Фактор угроз. Приложения, работающие в контейнерах, могут быть уязвимы для традиционных векторов веб-атак, таких как внедрение SQL или межсайтовые скрипты (XSS), которые могут скомпрометировать контейнер или привести к дальнейшей эксплуатации кластера.
  • Устранение рисков. Использование рекомендаций по обеспечению безопасности приложений, таких как проверка входных данных и кодирование выходных данных, а также использование Брандмауэр веб-приложений (WAFs). Реализуйте безопасность в конвейере непрерывной интеграции (CI)/Непрерывной доставки и развертывания (CD), включая статические и динамические средства анализа.

Атака на уровне узла

  • Фактор угроз. Если злоумышленник получает доступ к узлу Kubernetes, он может потенциально повысить привилегии для управления всем кластером. Уязвимости могут возникать из устаревших операционных систем или компонентов Kubernetes.
  • Устранение рисков. Обновление узлов с помощью последних исправлений безопасности, ограничение доступа к узлам с помощью политик сети и брандмауэров и использование систем обнаружения вторжений на основе узла (HIDS).

Несанкционированный трафик

  • Фактор угроз. Несанкционированный доступ к кластеру может произойти, если политики сети настроены неправильно, что позволяет злоумышленникам получать данные, доставлять вредоносные программы или эксплойтировать предоставляемые службы.
  • Устранение рисков. Реализуйте строгие политики сети для управления трафиком входящего трафика и исходящего трафика, разделения конфиденциальных рабочих нагрузок с помощью пространств имен и отслеживания трафика для аномальных шаблонов.

Для решения этих угроз в управляемой среде Kubernetes требуется многоуровневый подход к безопасности, охватывающий как методики Kubernetes, так и традиционные меры безопасности. Непрерывный мониторинг, регулярный аудит и соблюдение принципа наименьшей привилегии во всех аспектах кластера являются важными компонентами надежной стратегии безопасности Kubernetes.

на диаграмме с примером факторов угроз в управляемом Kubernetes.

Распространенные методы атаки

  • Эксплойтирует уязвимые образы — общедоступное уязвимое приложение в кластере, которое обеспечивает первоначальный доступ к кластеру. Печально известные случаи: SolarWinds, Log4j
  • Доступ к предоставляемым приложениям — конфиденциальный интерфейс, предоставляемый в Интернете, представляет угрозу безопасности. Некоторые популярные платформы не предназначены для предоставления доступа к Интернету и поэтому не требуют проверки подлинности по умолчанию. Таким образом, предоставление доступа к Интернету позволяет неавторизованный доступ к конфиденциальному интерфейсу, который может позволить злоумышленнику запускать код или развертывать контейнеры в кластере. Примеры таких интерфейсов, которые были замечены, включают Apache NiFi, Kubeflow, Argo Workflows, Weave Scope и панель мониторинга Kubernetes.
  • Развертывание контейнеров серверной части— злоумышленники запускают вредоносный код в контейнере в кластере. С помощью контроллеров Kubernetes, таких как DaemonSets или Deployments, злоумышленники обеспечили, что постоянное количество контейнеров запускается на одном или на всех узлах кластера.
  • Злоупотребление по поводу недопустимых ролей SA — учетная запись службы (SA) представляет удостоверение приложения в Kubernetes. По умолчанию SA монтируется к каждому созданному поду в кластере. С помощью SA контейнеры в модуле pod могут отправлять запросы на сервер API Kubernetes. Злоумышленники, которые получают доступ к поду, получают доступ к маркеру SA и выполняют действия в кластере согласно разрешениям SA. Если RBAC не включен, учетная запись обслуживания (SA) имеет неограниченные разрешения в кластере. Если RBAC включен, его разрешения определяются ролями RoleBindings и ClusterRoleBindings, связанными с ним.
  • Переход к узлу — том hostPath подключает каталог или файл из узла к контейнеру. Злоумышленники, имеющие разрешения на создание нового контейнера в кластере, могут создать его с томом hostPath, доступным для записи, и, таким образом, получить постоянный доступ на базовом узле. Например, последний можно достичь путем создания задания cron на узле.

диаграмма, показывающая пример распространенных методов атаки Kubernetes.