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

Завершено

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Схема, показывающая пример факторов угроз kubernetes, управляемых Kubernetes.

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

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

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