Безопасность Kubernetes: Как (лучше) защитить ваши кластеры

Kubernetes безопасность эксплойты контейнеры Api угрозы csoonline.com

Kubernetes стал успехом, что привлекает хакеров, использующих эксплойты. Злоумышленники совершенствуются в сокрытии вредоносного ПО и обходе защиты. Первые атаки на новые кластеры происходят менее чем за 20 минут. — csoonline.com

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

Как демонстрируют Kubernetes-ловушки, созданные поставщиками решений в области безопасности, такими как Palo Alto, Wiz и Aqua Security, в худшем случае проходит всего около двадцати минут, прежде чем будут предприняты первые попытки атаки на недавно созданные кластеры Kubernetes. При этом сканируются известные TCP/IP-порты, которые используются, например, контейнерами для внутренней связи. Подобные предварительные сканирования, таким образом, происходят ежедневно десятки раз — что указывает на то, что злоумышленники делают ставку на автоматизированное компрометирование.

Хотя существуют определенные лучшие практики в области безопасности Kubernetes, они не получили широкого распространения. Кроме того, они иногда требуют специальных знаний, инструментов и тактик, которые существенно отличаются от того, что необходимо для защиты обычных облачных инстансов или виртуальных машин. В данной статье сначала подробно анализируется ландшафт угроз Kubernetes. Затем вы узнаете, как (лучше) защитить ваши кластеры.

Ландшафт угроз Kubernetes

О том, насколько сложны взаимосвязанные потоки данных, зависимости и процессы в среде Kubernetes, рассказывает статья в блоге Cloud Native Computing Foundation (CNCF). Все компоненты должны быть защищены собственными методами для того, чтобы:

  • шифровать связь,

  • надлежащим образом аутентифицировать контейнеры, репозитории хранения данных и пользователей, а также

  • защищать контейнеры от эксплойтов.

Эта диаграмма (основа взята у CNCF, интерпретация Trend Micro) позволяет представить, насколько крута кривая обучения, когда дело доходит до проникновения в сложную сеть взаимосвязей Kubernetes.

Ассаф Мораг, бывший аналитик данных в Aqua Security, объясняет, почему это так: «Сложность этой архитектуры была создана намеренно, поскольку Kubernetes спроектирован так, чтобы предоставить пользователям свободу, открытую архитектуру и модель безопасности, открытую по умолчанию». Однако, как пишут специалисты Palo Alto в своем руководстве “Полное руководство по безопасности Kubernetes” (скачивание в обмен на данные), это не повод для отчаяния. Тот факт, что Kubernetes является широко распространенной платформой со множеством интеграций, облегчает разработку автоматизированных, систематических процессов, которые делают безопасность ядром процесса сборки и развертывания Kubernetes.

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

  • сохранение в тайне ключей шифрования.

  • установка сложных паролей.

  • применение различных схем сегментации.

  • следование принципу наименьших привилегий.

С последним базовым упущением связано еще одно, как отмечает Натаниэль Квист, менеджер по разведке угроз в облаке в Palo Alto Networks: «Внедрение ролевого доступа может оказаться более сложным, чем в других облачных приложениях. Это связано с чрезвычайно сложной моделью Kubernetes».

Аналитики Aqua Security в апреле 2023 года зафиксировали одну из первых атак с использованием бэкдоров на кластеры Kubernetes через ролевое управление доступом (RBAC). По данным экспертов, она была нацелена как минимум на шестьдесят различных кластеров и привела к успешной установке вредоносного ПО для майнинга криптовалют. При этом права доступа были изменены таким образом, что вредоносное ПО получило права администратора.

Шай Беркович, исследователь угроз в Wiz, комментирует: «Эти атаки, связанные с криптомайнингом, набирают обороты. Прежде всего потому, что кластеры Kubernetes идеально подходят в качестве высокоэффективных платформ для выполнения таких рабочих нагрузок». В качестве примера эксперт по безопасности приводит кампании по атакам с использованием криптомайнинга «PyLoose» и «newhello», выявленные его компанией. Однако вредоносное ПО для майнинга криптовалют в связи с Kubernetes не является новым явлением. Пионер в области электромобилей Tesla уже в 2018 году подверглась заражению вредоносным ПО, которое занималось майнингом криптовалют. Причиной, по-видимому, была недостаточно настроенная панель управления Kubernetes.

Венкат Тирувенгадам, генеральный директор DevOps-специалиста DuploCloud, добавляет: «Предоставление пользователям доступа к API Kubernetes с соблюдением принципа наименьших привилегий — сложная, но решающая задача. Создание стандартизированного и автоматизированного метода обеспечения этого доступа является важнейшим шагом для обеспечения безопасности сред Kubernetes».

Другая проблема возникает из-за распределенной архитектуры Kubernetes, как объясняет Рани Ознат, эксперт по безопасности из Backslash Security: «Даже когда речь идет о коде, слишком много поваров портят бульон. Могут быть отдельные команды для эксплуатации кластеров, управления конвейерами разработки и обеспечения контроля доступа. Если эти команды не общаются последовательно, может возникнуть дефицит управления (Governance)».

По словам Ами Лутвака, технического директора Wiz, в такой установке совместное использование репозиториев кода также может быть проблематичным: «Это может способствовать эффективности, но также несет риски, если общий код будет скомпрометирован. Команды, работающие раздельно, должны выполнять свой код в отдельных кластерах. Это далеко не является общепринятой практикой».

Однако, возможно, самой большой проблемой в плане безопасности Kubernetes является то, что он может мгновенно автоматизировать атаки на цепочку поставок — особенно в связи с раскрытием конфиденциальной информации и ключей. Исследователи безопасности из Aqua Security смогли выявить сотни наборов данных, раскрывающих такие секреты, в ходе своих исследований. Для этого эксперты искали учетные данные через GitHub API, как они подробно описывают в подробной статье в блоге. «Существует явная потребность в инструментах с открытым исходным кодом и сканерах секретов для повышения возможностей обнаружения в отношении закодированных секретов», — заключают эксперты Aqua.

5 лучших практик против эксплойтов Kubernetes

Эксперты, с которыми мы общались, рекомендуют следующие лучшие практики, чтобы предотвратить компрометацию кластеров Kubernetes:

  • всеобъемлющий ролевой контроль доступа, разделяющий сетевые политики и пространства имен пользователей;

  • меры безопасности типа «In-Cluster Separation» (разделение внутри кластера);

  • управление ключами и секретами (сервисы);

  • регулярный аудит кластеров для выявления и устранения ошибок конфигурации;

  • соответствующее обучение сотрудников и разработчиков.

«Шпаргалка по безопасности Kubernetes» от OWASP содержит множество других, очень специфических рекомендаций для устойчивой защиты ваших кластеров.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: