Поделиться через


Безопасность контейнеров в AKS, включенная Azure Arc

Область применения: AKS в Azure Stack HCI 22H2, AKS на Windows Server

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

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

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

Безопасные образы

Чтобы предотвратить несанкционированный доступ, разместите образы в защищенном и доверенном реестре. Образы должны иметь сертификат TLS с доверенным корневым ЦС, а реестр должен использовать управление доступом на основе ролей (RBAC) с строгой проверкой подлинности. При проектировании CI/CD для сборки и доставки контейнера следует включить решение для сканирования изображений. Решение для сканирования изображений помогает выявлять распространенные уязвимости и уязвимости (CVEs) и гарантирует, что эксплойтируемые образы не развертываются без исправления.

Среда узла harden

Важным аспектом безопасности контейнеров является необходимость обеспечения безопасности систем, на которых выполняются контейнеры, и способ их работы во время выполнения. Безопасность контейнеров должна сосредоточиться на всем стеке, включая узел и управляющей программы. Необходимо удалить службы из узла, которые являются некритичными, и не следует развертывать несоответствующие контейнеры в среде. Таким образом, доступ к узлу может происходить только через контейнеры, а управление централизовано в управляющей программе контейнера, удалив узел из области атаки. Эти действия особенно полезны при использовании прокси-серверов для доступа к контейнерам, что может случайно обойти элементы управления безопасностью контейнера.

Ограничение ресурсов контейнера

При компрометации контейнера злоумышленники могут попытаться использовать базовые ресурсы узла для выполнения вредоносных действий. Рекомендуется задать ограничения на использование памяти и ЦП, чтобы свести к минимуму влияние нарушений.

Правильно защищенные секреты

Секрет — это объект, содержащий конфиденциальную информацию, которую может потребоваться передать между узлом и контейнером. Например, пароли, сертификаты SSL/TLS, закрытые ключи SSH, маркеры, строка подключения и другие данные, которые не должны передаваться в виде обычного текста или хранить незашифрованные данные. Вы должны хранить все секреты из образов и подключать их через подсистему оркестрации контейнеров или внешний диспетчер секретов.

Изоляция практики

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

Развертывание мониторинга безопасности среды выполнения

Так как существует по-прежнему вероятность компрометации даже после принятия мер предосторожности против атак на инфраструктуру, важно постоянно отслеживать и регистрировать поведение приложения, чтобы предотвратить и обнаружить вредоносные действия. Такие средства, как Prometheus , предоставляют эффективные средства для мониторинга инфраструктуры.

Следующие шаги