Что такое безопасность контейнеров в Azure?

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

Безопасность контейнеров в Azure

Microsoft Azure стремительно развивается и является второй по величине облачной платформой в своей категории. Ее используют 95% компаний из списка Fortune 500. Microsoft Azure  — это облачная платформа, с помощью которой разработчики могут создавать приложения, разворачивать их и управлять ими где угодно. Клиентам предлагаются самые разные услуги, например, использование виртуальных машин, Интернета вещей и контейнеров.

Благодаря контейнерам Microsoft Azure  как отдельные разработчики, так и целые организации могут получить необходимую инфраструктуру, а также гибкость и масштабируемость облачных услуг. Тем не менее, Azure не обеспечивает безопасность по умолчанию. Клиент сам должен позаботиться о безопасности своих контейнеров на Azure.

На что обратить внимание

Чтобы защитить контейнеры в Azure, нужно обратить внимание на следующее:

  • образы;
  • права доступа;
  • реестры;
  • ядро ОС.

Образы

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

Контролировать использование образов можно также через подписи (image signing). Подписи позволяют удостовериться в надежности и проверить целостность контейнеров. Наконец, перед загрузкой готовых образов в реестр нужно выполнять сканирование на уязвимости.

Права доступа

Принцип наименьших привилегий — это базовое правило безопасности, которое следует применять и для контейнеров в Azure. Если злоумышленники смогут воспользоваться уязвимостью в образах или ядре, они получат доступ и, возможно, даже привилегии в масштабе нескольких кластеров или регионов. Чтобы снизить риск, нужно заранее разрешить только те привилегии, которые необходимы для работы контейнеров.

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

Реестры

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

В случае с публичными реестрами выше вероятность того, что в образе окажется вредоносный код. Образы в частных реестрах обычно тщательно сканируются и поэтому более надежны. Частные реестры лучше контролируются, в частности, с помощью доступа на основе ролей, что обеспечивает упорядоченность и повышает уровень безопасности. Примеры частных реестров: реестр контейнеров Azure, Docker Trusted Registry и проект с открытым исходным кодом от Cloud Native Computing Foundation под названием Harbor.

Ядро ОС

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

Поскольку ядро и контейнеры не изолированы друг от друга во время выполнения, уязвимость в ядре дает возможность получить доступ к содержимому контейнеров или как-то еще использовать их со злым умыслом. Хакеры могут, не применяя вредоносных программ, манипулировать поведением ОС, просто изменив данные в памяти ядра.

Заключение

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

Исследования по теме

Статьи по теме