Настройка Microsoft Defender для контейнеров для безопасности рабочей нагрузки

Настройка Microsoft Defender для контейнеров для безопасности рабочей нагрузки

14.04.2025

Эта техническая и образовательная статья призвана помочь аналитикам безопасности, ИТ-администраторам и системным инженерам настроить и оптимизировать Microsoft Defender для контейнеров для защиты рабочих нагрузок на основе контейнеров. В ситуации, когда распространение контейнеров и оркестраторов, таких как Kubernetes, растет, безопасность этих сред становится сложной и важной. Defender for Containers предлагает облачное решение для улучшения, мониторинга и поддержания безопасности ваших контейнерных ресурсов от разработки до производства [1].

Введение

Контейнеры произвели революцию в способах разработки, развертывания и управления приложениями, предлагая портативность, масштабируемость и эффективность. Однако динамичный и распределенный характер контейнерных сред, особенно когда они управляются такими платформами, как Kubernetes (например, Azure Kubernetes Service — AKS), создает новые проблемы безопасности. Уязвимости в образах контейнеров, неправильные настройки оркестратора, несанкционированный доступ к среде выполнения и угрозы цепочки поставок программного обеспечения — это лишь некоторые из рисков, с которыми сталкиваются организации [2].

Microsoft Defender для контейнеров, часть Microsoft Defender для облака, представляет собой комплексное решение для защиты облачных рабочих нагрузок (CWPP), которое легко интегрируется с Azure и другими мультиоблачными средами. Он обеспечивает возможности обеспечения безопасности на протяжении всего жизненного цикла контейнера, включая: безагентную оценку уязвимостей для образов контейнеров в реестре и во время выполнения; защита во время выполнения кластеров Kubernetes, обнаружение подозрительных действий и атак; и мониторинг угроз в режиме реального времени для контейнерных рабочих нагрузок. Это помогает выявлять и устранять уязвимости, защищать от атак и обеспечивать соответствие требованиям [3].

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

Почему Microsoft Defender для контейнеров так важен?

  • Комплексная видимость: обеспечивает единое представление о состоянии безопасности ваших контейнерных сред, включая кластеры Kubernetes, реестры контейнеров и образы.
  • Оценка уязвимостей: сканирует образы контейнеров в реестрах (реестр контейнеров Azure, Docker Hub и т. д.) и во время выполнения для выявления уязвимостей и предоставления практических рекомендаций.
  • Защита во время выполнения: постоянно отслеживает активность в кластерах Kubernetes для обнаружения подозрительных действий, таких как выполнение привилегированных команд, доступ к конфиденциальным данным, взаимодействие с вредоносными IP-адресами и другие аномалии.
  • Непрерывный мониторинг: обеспечивает обнаружение угроз в режиме реального времени и оповещения системы безопасности, помогая командам быстро реагировать на инциденты.
  • Встроенная интеграция. Полная интеграция со службой Azure Kubernetes (AKS), реестром контейнеров Azure (ACR) и другими инструментами экосистемы Azure.
  • Поддержка мультиоблачных/гибридных систем: расширяет защиту кластеров Kubernetes, размещенных в AWS, GCP и локальных средах через Azure Arc.

Предварительные условия

Чтобы настроить Microsoft Defender для контейнеров, вам потребуются следующие элементы:

  1. Активная подписка Azure: подписка Azure для создания ресурсов и управления ими.
  2. Административный доступ: учетная запись с ролью «Владелец», «Участник» или «Администратор безопасности» в подписке или группе ресурсов, где расположены кластеры Kubernetes.
  3. Существующие кластеры Kubernetes: кластеры службы Azure Kubernetes (AKS) или другие кластеры Kubernetes (через Azure Arc), которые вы хотите защитить.
  4. Реестры контейнеров (необязательно): Реестр контейнеров Azure.(ACR) или другие реестры контейнеров для оценки уязвимостей изображений.

Шаг за шагом: настройка Microsoft Defender для контейнеров

Давайте включим Защитник для контейнеров и настроим его функции.

1. Включение Защитника для контейнеров на уровне подписки

Лучше всего включить Защитника для контейнеров на уровне подписки, чтобы автоматически защищать все существующие и будущие кластеры Kubernetes и реестры контейнеров.

  1. Откройте браузер и перейдите на портал Azure: https://portal.azure.com.
  2. Войдите в систему под учетной записью, имеющей необходимые разрешения.
  3. В верхнем поле поиска введите «Microsoft Defender for Cloud» и выберите его из результатов.
  4. На левой панели навигации Защитника для облака выберите Настройки среды.
  5. Выберите подписку, в которой вы хотите включить Защитник для контейнеров.
  6. На странице планов Defender найдите «Контейнеры» и переключите статус на «Включено».

  7. Нажмите «Настройки» для плана «Контейнеры», чтобы просмотреть дополнительные параметры.

    • Убедитесь, что «Оценка уязвимостей реестра контейнеров» и «Защита во время выполнения кластеров Kubernetes» включены.
  8. Нажмите Сохранить.

    • Объяснение. Включение Защитника для контейнеров на уровне подписки гарантирует, что все кластеры AKS и записи ACR в этой подписке (существующие и новые) будут защищены. Для кластеров Kubernetes в других облаках или локально требуется интеграция через Azure Arc.

2. Проверка развертывания и компонентов Defender для контейнеров

После активации Defender for Containers развертывает агенты и расширения в кластерах Kubernetes для сбора данных и применения защиты.

  1. На портале Azure перейдите к своему кластеру AKS.
  2. На левой панели навигации в разделе «Мониторинг» выберите Статистика.
  3. Проверьте, включен ли мониторинг. Защитник для контейнеров использует Azure Monitor для сбора журналов и событий.
  4. На левой панели навигации Defender for Cloud выберите Инвентарь.
  5. Фильтруйте по «Типу ресурса» = «Кластеры Kubernetes» и «Реестры контейнеров». Вы должны увидеть свои ресурсы в списке и защищенные Защитником для контейнеров.

3. Оценка уязвимости образа контейнера

Защитник контейнеров автоматически сканирует образы в реестрах контейнеров на наличие уязвимостей.

  1. На левой панели навигации Защитника для облака выберите Рекомендации.
  2. Фильтрация по «Типу ресурса» = «Записи контейнера».
  3. Найдите рекомендации, связанные с «Уязвимости в образах реестра контейнеров должны быть исправлены».
  4. Щелкните рекомендацию, чтобы просмотреть подробную информацию, включая затронутые изображения, обнаруженные уязвимости (CVE) и действия по устранению.

    • Объяснение: Защитник для контейнеров использует анализ угроз и сканеры уязвимостей Microsoft (например, Qualys) для выявления проблем. Рекомендации обычно включают исправленную версию образа или пакетов, которые необходимо обновить.

4. Мониторинг и защита во время выполнения кластеров Kubernetes

Защитник для контейнеров отслеживает активность ваших кластеров Kubernetes для обнаружения угроз в режиме реального времени.

  1. На левой панели навигации Защитника для облака выберите Предупреждения безопасности.
  2. Фильтруйте по «Типу ресурса» = «Кластеры Kubernetes».
  3. Здесь вы увидите оповещения, созданные Защитником для контейнеров о подозрительной активности в кластере, например:

    • Попытка доступа к серверу Kubernetes с повышенными привилегиями.
    • Развертывание привилегированного контейнера.
    • Команда оболочки запускается в контейнере.
    • Общение с вредоносным IP контейнера.
  4. Щелкните предупреждение, чтобы просмотреть подробную информацию, включая описание угрозы, затронутые ресурсы, действия по расследованию и рекомендуемые действия по устранению.

Проверка и тестирование

Крайне важно проверить способность Защитника для контейнеров обнаруживать угрозы и генерировать оповещения.

1. Тестирование обнаружения уязвимостей изображений

  1. Сценарий. Разверните образ контейнера с известными уязвимостями в реестре ACR (если он у вас есть) или кластере AKS. Например, старый Docker-образ веб-сервера или приложения с устаревшими зависимостями.
    • ВВы можете использовать образ типа vulnerable/web-dvwa (в целях тестирования) или образ, основанный на старой версии ОС (например, ubuntu:16.04).
  2. Ожидаемое действие: Защитник контейнеров должен обнаружить уязвимости в образе и сформировать рекомендации по безопасности.
  3. Проверка:
    • На портале Azure перейдите к Защитник Microsoft для облака > Рекомендации.
    • Найдите рекомендации, связанные с уязвимостями в образах контейнеров, которые указывают на развернутый вами образ.

2. Тестирование защиты во время выполнения (имитация вредоносной активности в кластере AKS)

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

  1. Сценарий. Разверните модуль в кластере AKS и попытайтесь выполнить привилегированную команду или подозрительное действие в контейнере. Например, попробуйте смонтировать корневой каталог хоста или запустить команду сканирования сети.
    • Пример развертывания привилегированного модуля (для тестирования): ```ямл APIВерсия: v1 вид: стручок метаданные: имя: привилегированный-под-тест спецификация: контейнеры:
      • имя: убунту изображение: Ubuntu: последний команда: ["спать", "3600"] Контекст безопасности: привилегированный: правда хостPID: правда хост-сеть: правда хостIPC: правда ```
      • Команда для применения к AKS: kubectl apply -f привилегированный-под-test.yaml
    • Пример выполнения подозрительной команды внутри контейнера (после развертывания обычного модуля): баш kubectl exec -it <имя_пода> -- bash # Внутри контейнера попробуйте запустить что-нибудь вроде: apt update && apt install -y nmap Nmap локальный хост
  2. Ожидаемое действие: Защитник контейнеров должен обнаружить подозрительную активность (например, развертывание привилегированного контейнера, запуск инструментов сканирования) и создать предупреждение системы безопасности.
  3. Проверка:
    • На портале Azure перейдите к Защитник Microsoft для облака > Предупреждения безопасности.
    • Ищите оповещения, связанные с смоделированной вами деятельностью (например, «Развертывание привилегированного контейнера», «Выполнение средства сетевого сканирования»).

Советы и рекомендации по безопасности

  • Принцип наименьших привилегий: настройте свои модули и контейнеры с минимально возможными привилегиями. По возможности избегайте использования привилегированных контейнеров и монтирования hostPath.
  • Непрерывное сканирование изображений. Интегрируйте оценку уязвимостей образов в конвейер CI/CD, чтобы сканировать образы перед их развертыванием в рабочей среде.
  • Безопасные базовые изображения: используйте минимальное количество базовых изображений из надежных источников. Обновляйте свои изображения, чтобы они включали последние исправления безопасности.
  • Безопасность реестра контейнеров: защитите свой реестр контейнеров Azure (ACR) с помощью строгой аутентификации, RBAC и строгих политик доступа.
  • Настройки безопасности Kubernetes: следуйте рекомендациям по безопасности для Kubernetes, например, используйте сетевые политики, стандарты безопасности модулей (или контроллеры доступа) и RBAC для управления доступом и поведением модулей.
  • Мониторинг и оповещение: настройте оповещения для всех важных обнаружений угроз в Защитнике для контейнеров и интегрируйте их с вашим SIEM/SOAR (например, Microsoft Sentinel) для автоматического реагирования.
  • Регулярная проверка рекомендаций. Регулярно проверяйте рекомендации по безопасности, предоставляемые Defender for Cloud, и действуйте в соответствии с ними, чтобы постоянно улучшать состояние безопасности ваших контейнеров.

Распространенное устранение неполадок

  • Защитник для контейнеров не включен:
    • Убедитесь, что план «Контейнеры» включен в Microsoft Defender для облака на уровне подписки.
    • Убедитесь, что подписка имеет соответствующую лицензию (часто включенную в Security Center Standard).
  • Уязвимости изображений не обнаружены:
    • Убедитесь, что реестр контейнеров правильно интегрирован с Защитником для контейнеров.
    • Убедитесь, что образы помещаются в реестр или кластер после включения Защитника для контейнеров.
    • Появление результатов сканирования может иметь небольшую задержку.
  • Уведомления о рантиme не генерируются:
    • Убедитесь, что в настройках Защитника для контейнеров для параметра «Защита во время выполнения кластеров Kubernetes» установлено значение «Включено».
    • Убедитесь, что агент Защитника для контейнеров развернут и правильно работает в кластере AKS. Вы можете проверить состояние модулей, связанных с Защитником, в пространстве имен kube-system или azure-defender.
    • Убедитесь, что тестируемое действие действительно запускает правило обнаружения Защитника для контейнеров. Некоторые действия можно считать нормальными в зависимости от контекста.
  • Ложные срабатывания (предупреждения о законной активности):
    • Изучите оповещение на портале Defender for Cloud, чтобы понять причину оповещения.
    • Если это законная деятельность, вы можете отключить оповещение (с осторожностью) или настроить параметры кластера/приложения, чтобы предотвратить пометку этой активности как подозрительной.
    • Отправьте в Microsoft отзыв о ложных срабатываниях, чтобы улучшить анализ угроз.

Заключение

Microsoft Defender для контейнеров — это важный инструмент для защиты полного жизненного цикла контейнерных рабочих нагрузок. Обеспечивая оценку уязвимости образов, защиту кластеров Kubernetes во время выполнения и непрерывный мониторинг угроз, он позволяет организациям безопасно создавать и эксплуатировать контейнерные среды. Эффективная реализация этих возможностей имеет решающее значение для снижения рисков, связанных с внедрением контейнеров, обеспечения соответствия требованиям и укрепления общего состояния безопасности. Благодаря этому практическому руководству специалисты по безопасности и ИТ-администраторы будут хорошо подготовлены к настройке, проверке Microsoft Defender для контейнеров и управлению ими, защищая свои наиболее ценные контейнерные активы.


Ссылки:

[1] Microsoft Learn. Что такое Microsoft Defender для контейнеров?. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/defender-for-containers-introduction. [2] Microsoft Learn. Архитектура безопасности контейнеров — Defender for Cloud. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/defender-for-containers-architecture. [3] Microsoft Learn. Защитите свои контейнеры Azure с помощью Защитника для контейнеров. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/tutorial-enable-containers-azure. [4] Microsoft Learn. Настройка компонентов Microsoft Defender для контейнеров. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/defender-for-containers-enable [5] Microsoft Learn. Оценки уязвимостей для поддерживаемых сред. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/agentless-vulnerability-assessment-azure [6] Microsoft Learn. Предупреждения системы безопасности в Microsoft Defender для облака. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/alerts-overview. [7] Microsoft Learn. Матрица поддержки контейнеров в Defender for Cloud. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/support-matrix-defender-for-containers.