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

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

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

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

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

Защита образов

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

Усиление защиты среды узла

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

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

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

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

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

Практическая изоляция

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

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

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

Дальнейшие действия